clone

every nostr nip as a chapter of an illustrated, early-2000s printed game manual

main
nip.guide / source-nips / 18.md
18.md 1.7K rendered
1NIP-182======34Reposts5-------67`draft` `optional`89A repost is a `kind 6` event that is used to signal to followers10that a `kind 1` text note is worth reading.1112The `content` of a repost event is _the stringified JSON of the reposted note_. It MAY also be empty, but that is not recommended.13Reposts of [NIP-70](70.md)-protected events SHOULD always have an empty `content`.1415The repost event MUST include an `e` tag with the `id` of the note that is16being reposted. That tag MUST include a relay URL as its third entry17to indicate where it can be fetched.1819The repost SHOULD include a `p` tag with the `pubkey` of the event being20reposted.2122## Quote Reposts2324Mentions to [NIP-21](21.md) entities like `nevent`, `note` and `naddr` on any25event must be converted into `q` tags. The `q` tag ensures quote reposts are26not pulled and included as replies in threads. It also allows you to easily27pull and count all of the quotes for a post. The syntax follows2829`["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"]`3031## Generic Reposts3233Since `kind 6` reposts are reserved for `kind 1` contents, we use `kind 16`34as a "generic repost", that can include any kind of event inside other than35`kind 1`.3637`kind 16` reposts SHOULD contain a `"k"` tag with the stringified kind number38of the reposted event as its value.3940When reposting a replaceable event, the repost SHOULD include an `"a"` tag with41the event coordinate (`kind:pubkey:d-tag`) of the reposted event.4243If the `"a"` tag is not present, it indicates that a specific version of a replaceable44event is being reposted, in which case the `content` field must contain the full45JSON string of the reposted event.