Files
nips/18.md
2025-12-04 00:59:58 +09:00

1.7 KiB

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.