{"id":"ba77e34cd150cc6604e0dd82a221153e6edc2a03eafc548319c41249f3dd345a","pubkey":"2b39b4ffe62933df970e19366c22c1e092f953f83fcfed754e0f04d5a3b459f9","created_at":1779999367,"kind":30817,"tags":[["d","nip-48"],["title","NIP-48: Bridged Events"],["summary","The proxy tag, which links an event bridged from another protocol back to the object it came from."],["s","draft"],["t","nostr"],["t","nip"],["alt","A specification: NIP-48: Bridged Events"],["client","openspecs-import"],["published_at","1691091645"],["proxy","https://github.com/nostr-protocol/nips/blob/656cecc7c0a815b6a2b218d3b5d6f078b3f4dbab/48.md","web"],["x","9a24dcaacaa020e546f7164133569fdbf5bf19d9ba6e0854b10257c2a0a378a1"]],"content":"NIP-48\n======\n\nBridged events\n--------------\n\n`draft` `optional`\n\nNostr events bridged from other protocols such as ActivityPub can link back to the source object by including a `\"proxy\"` tag, in the form:\n\n```\n[\"proxy\", <id>, <protocol>]\n```\n\nWhere:\n\n- `<id>` is the ID of the source object. The ID format varies depending on the protocol. The ID must be universally unique, regardless of the protocol.\n- `<protocol>` is the name of the protocol, e.g. `\"activitypub\"`.\n\nClients may use this information to reconcile duplicated content bridged from other protocols, or to display a link to the source object.\n\nProxy tags may be added to any event kind, and doing so indicates that the event did not originate on the Nostr protocol, and instead originated elsewhere on the web.\n\n### Supported protocols\n\nThis list may be extended in the future.\n\n| Protocol | ID format | Example |\n| -------- | --------- | ------- |\n| `activitypub` | URL | `https://gleasonator.com/objects/9f524868-c1a0-4ee7-ad51-aaa23d68b526` |\n| `atproto` | AT URI | `at://did:plc:zhbjlbmir5dganqhueg7y4i3/app.bsky.feed.post/3jt5hlibeol2i` |\n| `rss` | URL with guid fragment | `https://soapbox.pub/rss/feed.xml#https%3A%2F%2Fsoapbox.pub%2Fblog%2Fmostr-fediverse-nostr-bridge` |\n| `web` | URL | `https://twitter.com/jack/status/20` |\n\n### Examples\n\nActivityPub object:\n\n```json\n{\n  \"kind\": 1,\n  \"content\": \"I'm vegan btw\",\n  \"tags\": [\n    [\n      \"proxy\",\n      \"https://gleasonator.com/objects/8f6fac53-4f66-4c6e-ac7d-92e5e78c3e79\",\n      \"activitypub\"\n    ]\n  ],\n  \"pubkey\": \"79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6\",\n  \"created_at\": 1691091365,\n  \"id\": \"55920b758b9c7b17854b6e3d44e6a02a83d1cb49e1227e75a30426dea94d4cb2\",\n  \"sig\": \"a72f12c08f18e85d98fb92ae89e2fe63e48b8864c5e10fbdd5335f3c9f936397a6b0a7350efe251f8168b1601d7012d4a6d0ee6eec958067cf22a14f5a5ea579\"\n}\n```\n\n### See also\n\n- [FEP-fffd: Proxy Objects](https://codeberg.org/fediverse/fep/src/branch/main/fep/fffd/fep-fffd.md)\n- [Mostr bridge](https://mostr.pub/)\n","sig":"ee77770f8eb9f5c27fa2c7d6c091c4b527192be1b8f0c983f9dfeb6e99e887f2983a1aa6dfea741861bf9060a13f9d82bf6e64e51109345d864eb502e23f963f"}