NIP-18
Reposts
draft optional
A repost is a kind 6 event that is used to signal to followers that a kind 1 text note is worth reading.
The content of a repost event is the stringified JSON of the reposted note. It MAY also be empty, but that is not recommended. Reposts of NIP-70-protected events SHOULD always have an empty content.
The repost event MUST include an e tag with the id of the note that is being reposted. That tag MUST include a relay URL as its third entry to indicate where it can be fetched.
The repost SHOULD include a p tag with the pubkey of the event being reposted.
Quote Reposts
Mentions to NIP-21 entities like nevent, note and naddr on any event must be converted into q tags. The q tag ensures quote reposts are not pulled and included as replies in threads. It also allows you to easily pull and count all of the quotes for a post. The syntax follows
["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"]
Generic Reposts
Since kind 6 reposts are reserved for kind 1 contents, we use kind 16 as a "generic repost", that can include any kind of event inside other than kind 1.
kind 16 reposts SHOULD contain a "k" tag with the stringified kind number of the reposted event as its value.
When reposting a replaceable event, the repost SHOULD include an "a" tag with the event coordinate (kind:pubkey:d-tag) of the reposted event.
If the "a" tag is not present, it indicates that a specific version of a replaceable event is being reposted, in which case the content field must contain the full JSON string of the reposted event.