cat
/
nip.guide
/
clone
ssh
copy
https
copy
every nostr nip as a chapter of an illustrated, early-2000s printed game manual
code
commits
branches
reviews
insights
main
all branches
nip.guide
/
site
/
assets
/
nip-index.json
history
nip-index.json
73.0K
blame
history
wrap lines
copy
1
[
{
"nip"
:
"01"
,
"title"
:
"Basic protocol flow description"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"mandatory"
,
"relay"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/01.html"
,
"prev"
:
null
,
"next"
:
"02"
,
"summary"
:
"NIP-01: the basic Nostr protocol. Events, signatures, kinds, filters, and the client\u2013relay message flow. Complete manual page."
,
"category"
:
"Core Rules"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Event Object"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tags"
}
,
{
"anchor"
:
"kinds"
,
"title"
:
"4 Kinds and Storage Classes"
}
,
{
"anchor"
:
"messages"
,
"title"
:
"5 Client \u2194 Relay Messages"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
0
,
65535
]
}
,
{
"nip"
:
"02"
,
"title"
:
"Follow List"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"final"
,
"optional"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/02.html"
,
"prev"
:
"01"
,
"next"
:
"03"
,
"summary"
:
"NIP-02: the follow list event. Kind 3, the p tag, petnames, replace-on-publish behavior, and how clients build a social graph."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Follow List Event"
}
,
{
"anchor"
:
"replace"
,
"title"
:
"3 Replacing and Updating a Follow List"
}
,
{
"anchor"
:
"uses"
,
"title"
:
"4 Uses"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
3
]
}
,
{
"nip"
:
"03"
,
"title"
:
"OpenTimestamps Attestations for Events"
,
"status"
:
"deprecated"
,
"status_note"
:
"vulnerable to one specific attack, needs update"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-05-31"
,
"url"
:
"nips/03.html"
,
"prev"
:
"02"
,
"next"
:
"04"
,
"summary"
:
"NIP-03: attach a Bitcoin-anchored OpenTimestamps proof to a Nostr event with a kind:1040 attestation event. Deprecated \u2014 read the warning first."
,
"category"
:
"Timestamping"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Attestation Event"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"3 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"4 Version History"
}
]
,
"kinds"
:
[
1040
]
}
,
{
"nip"
:
"04"
,
"title"
:
"Encrypted Direct Message"
,
"status"
:
"deprecated"
,
"status_note"
:
"deprecated in favor of [NIP-17](17.md)"
,
"tags"
:
[
"final"
,
"unrecommended"
,
"optional"
,
"relay"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2025-12-24"
,
"url"
:
"nips/04.html"
,
"prev"
:
"03"
,
"next"
:
"05"
,
"summary"
:
"NIP-04: the original encrypted direct message format, kind 4. Deprecated in favor of NIP-17. Shared-secret derivation, aes-256-cbc content, and known weaknesses."
,
"category"
:
"Encryption"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Kind-4 Event"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tags"
}
,
{
"anchor"
:
"security"
,
"title"
:
"4 Security Warning"
}
,
{
"anchor"
:
"client-warning"
,
"title"
:
"5 Client Implementation Warning"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
4
]
}
,
{
"nip"
:
"05"
,
"title"
:
"Mapping Nostr keys to DNS-based internet identifiers"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"final"
,
"optional"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/05.html"
,
"prev"
:
"04"
,
"next"
:
"06"
,
"summary"
:
"NIP-05: attach a human-readable name@domain identifier to a Nostr public key, verified through a well-known HTTPS document on that domain."
,
"category"
:
"Identity"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The nip05 Field and Identifier Format"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
0
,
1
]
}
,
{
"nip"
:
"06"
,
"title"
:
"Basic key derivation from mnemonic seed phrase"
,
"status"
:
"deprecated"
,
"status_note"
:
"prefer a single nsec"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-05-31"
,
"url"
:
"nips/06.html"
,
"prev"
:
"05"
,
"next"
:
"07"
,
"summary"
:
"NIP-06: derive a Nostr keypair from a BIP39 mnemonic using a fixed BIP32 path. Deprecated \u2014 prefer a single stored nsec. Includes test vectors."
,
"category"
:
"Key Management"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Mnemonic to Seed (BIP39)"
}
,
{
"anchor"
:
"path"
,
"title"
:
"3 Derivation Path (BIP32)"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example - Test Vectors"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"07"
,
"title"
:
"`window.nostr` capability for web browsers"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-05-06"
,
"updated"
:
"2025-02-13"
,
"url"
:
"nips/07.html"
,
"prev"
:
"06"
,
"next"
:
"08"
,
"summary"
:
"NIP-07: the window.nostr browser interface. How extensions expose getPublicKey, signEvent, and optional NIP-04/NIP-44 encryption to web pages without exposing the private key."
,
"category"
:
"Client API"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The window.nostr Object"
}
,
{
"anchor"
:
"trust"
,
"title"
:
"5 The Trust Boundary"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"08"
,
"title"
:
"Handling Mentions"
,
"status"
:
"deprecated"
,
"status_note"
:
"deprecated in favor of [NIP-27](27.md)"
,
"tags"
:
[
"final"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2023-11-15"
,
"url"
:
"nips/08.html"
,
"prev"
:
"07"
,
"next"
:
"09"
,
"summary"
:
"NIP-08: the original inline-mention notation for text notes. The #[index] placeholder and matching p/e tags. Deprecated in favor of NIP-27."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Writing a Mention"
}
,
{
"anchor"
:
"reading"
,
"title"
:
"3 Reading a Mention"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
1
]
}
,
{
"nip"
:
"09"
,
"title"
:
"Event Deletion Request"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/09.html"
,
"prev"
:
"08"
,
"next"
:
"10"
,
"summary"
:
"NIP-09: the kind-5 deletion request event. How a client asks relays to drop earlier events and asks other clients to hide them, using e, a, and k tags."
,
"category"
:
"Content Lifecycle"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Deletion Request Event"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tags"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"4 Relay Behavior"
}
,
{
"anchor"
:
"client"
,
"title"
:
"5 Client Behavior"
}
,
{
"anchor"
:
"repeat"
,
"title"
:
"6 Deletion Request of a Deletion Request"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
5
]
}
,
{
"nip"
:
"10"
,
"title"
:
"Text Notes and Threads"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-05-04"
,
"updated"
:
"2025-02-07"
,
"url"
:
"nips/10.html"
,
"prev"
:
"09"
,
"next"
:
"11"
,
"summary"
:
"NIP-10: kind:1 text notes, marked e-tag reply threading (root/reply), q tags for quoting, p-tag notification, and the deprecated positional e-tag scheme."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Kind 1 - The Text Note"
}
,
{
"anchor"
:
"marked-e"
,
"title"
:
"3 Marked \"e\" Tags (Preferred)"
}
,
{
"anchor"
:
"q-tag"
,
"title"
:
"4 Quoting with \"q\" Tags"
}
,
{
"anchor"
:
"p-tag"
,
"title"
:
"5 The \"p\" Tag - Notifying Participants"
}
,
{
"anchor"
:
"positional"
,
"title"
:
"6 Deprecated Positional \"e\" Tags"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
1
]
}
,
{
"nip"
:
"11"
,
"title"
:
"Relay Information Document"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/11.html"
,
"prev"
:
"10"
,
"next"
:
"12"
,
"summary"
:
"NIP-11: the relay information document. How a relay describes its name, limits, supported NIPs, and payment rules as JSON over plain HTTP."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Fetching the Document"
}
,
{
"anchor"
:
"fields"
,
"title"
:
"3 Top-Level Fields"
}
,
{
"anchor"
:
"limitation"
,
"title"
:
"4 Server Limitations"
}
,
{
"anchor"
:
"payments"
,
"title"
:
"5 Pay-to-Relay"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"12"
,
"title"
:
"Generic Tag Queries"
,
"status"
:
"merged"
,
"status_note"
:
"Merged into NIP-01"
,
"tags"
:
[
"final"
,
"mandatory"
]
,
"created"
:
"2022-05-01"
,
"updated"
:
"2023-11-15"
,
"url"
:
"nips/12.html"
,
"prev"
:
"11"
,
"next"
:
"13"
,
"summary"
:
"NIP-12: generic single-letter tag queries. Merged into NIP-01 in 2023. This page explains what it defined and where the rules live now."
,
"category"
:
"Core"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 What NIP-12 Defined"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"3 Historical Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"4 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"13"
,
"title"
:
"Proof of Work"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2022-05-04"
,
"updated"
:
"2025-12-24"
,
"url"
:
"nips/13.html"
,
"prev"
:
"12"
,
"next"
:
"14"
,
"summary"
:
"NIP-13: Proof of Work. Leading-zero-bit difficulty in the event id, the nonce tag, mining and validation rules, delegated PoW, and the pow OK prefix."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Difficulty"
}
,
{
"anchor"
:
"mining"
,
"title"
:
"3 Mining"
}
,
{
"anchor"
:
"validating"
,
"title"
:
"4 Validating"
}
,
{
"anchor"
:
"delegated"
,
"title"
:
"5 Delegated Proof of Work"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"14"
,
"title"
:
"Subject tag in Text events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-05-24"
,
"updated"
:
"2023-11-18"
,
"url"
:
"nips/14.html"
,
"prev"
:
"13"
,
"next"
:
"15"
,
"summary"
:
"NIP-14: an optional subject tag for kind:1 text notes. Lets clients list threads by topic, like an email subject line, instead of by first words."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Subject Tag"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"3 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"4 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"15"
,
"title"
:
"Nostr Marketplace"
,
"status"
:
"deprecated"
,
"status_note"
:
"too complicated, try [NIP-99](99.md) instead"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2022-05-26"
,
"updated"
:
"2026-07-26"
,
"url"
:
"nips/15.html"
,
"prev"
:
"14"
,
"next"
:
"16"
,
"summary"
:
"NIP-15: stalls, products, checkout messages, and auctions for ecommerce over Nostr. Deprecated in favor of NIP-99. Complete manual page."
,
"category"
:
"Commerce"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Roles and Vocabulary"
}
,
{
"anchor"
:
"stall"
,
"title"
:
"4 Stall Event (kind 30017)"
}
,
{
"anchor"
:
"product"
,
"title"
:
"5 Product Event (kind 30018)"
}
,
{
"anchor"
:
"checkout"
,
"title"
:
"6 Checkout Messages"
}
,
{
"anchor"
:
"marketplace-ui"
,
"title"
:
"7 Marketplace Customization (kind 30019)"
}
,
{
"anchor"
:
"auctions"
,
"title"
:
"8 Auctions"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
0
,
4
,
5
,
1021
,
1022
,
30017
,
30018
,
30019
,
30020
]
}
,
{
"nip"
:
"16"
,
"title"
:
"Event Treatment"
,
"status"
:
"merged"
,
"status_note"
:
"Merged into NIP-01"
,
"tags"
:
[
"final"
,
"mandatory"
]
,
"created"
:
"2022-05-26"
,
"updated"
:
"2023-11-15"
,
"url"
:
"nips/16.html"
,
"prev"
:
"15"
,
"next"
:
"17"
,
"summary"
:
"NIP-16: regular, replaceable, and ephemeral event kinds. Merged into NIP-01 in 2023. This page explains what it defined and where the rules live now."
,
"category"
:
"Core"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 What NIP-16 Defined"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"3 Historical Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"4 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"17"
,
"title"
:
"Private Direct Messages"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2023-08-09"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/17.html"
,
"prev"
:
"16"
,
"next"
:
"18"
,
"summary"
:
"NIP-17: private direct messages. Kind 14 chat and kind 15 file rumors, sealed and gift-wrapped with NIP-44 and NIP-59, routed through kind 10050 DM relay lists. Complete manual page."
,
"category"
:
"Encryption"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"rooms"
,
"title"
:
"2 Chat Rooms"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"3 The Encryption Chain"
}
,
{
"anchor"
:
"kinds"
,
"title"
:
"4 Message Kinds: Chat and File"
}
,
{
"anchor"
:
"publishing"
,
"title"
:
"5 Publishing and DM Relay Lists"
}
,
{
"anchor"
:
"relays"
,
"title"
:
"6 Relay Recommendations"
}
,
{
"anchor"
:
"lifecycle"
,
"title"
:
"7 Delete, Edit, and Disappearing Messages"
}
,
{
"anchor"
:
"benefits"
,
"title"
:
"8 Benefits, Limitations, and Spam"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"9 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"10 Version History"
}
]
,
"kinds"
:
[
13
,
14
,
15
,
59
,
1059
,
10050
]
}
,
{
"nip"
:
"18"
,
"title"
:
"Reposts"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-01-02"
,
"updated"
:
"2025-12-03"
,
"url"
:
"nips/18.html"
,
"prev"
:
"17"
,
"next"
:
"19"
,
"summary"
:
"NIP-18: reposts. Kind 6 reposts a kind-1 note, kind 16 generic reposts any other kind, and q tags mark quote reposts. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Kind 6 - Reposting a Note"
}
,
{
"anchor"
:
"quote"
,
"title"
:
"3 Quote Reposts"
}
,
{
"anchor"
:
"generic"
,
"title"
:
"4 Kind 16 - Generic Reposts"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
6
,
16
]
}
,
{
"nip"
:
"19"
,
"title"
:
"bech32-encoded entities"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-12-16"
,
"updated"
:
"2026-03-12"
,
"url"
:
"nips/19.html"
,
"prev"
:
"18"
,
"next"
:
"20"
,
"summary"
:
"NIP-19: bech32-encoded entities. npub, nsec, note, and the TLV-based nprofile, nevent, naddr identifiers for display, input, and sharing."
,
"category"
:
"Encoding"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Bare Keys and IDs"
}
,
{
"anchor"
:
"tlv"
,
"title"
:
"3 Shareable Identifiers with TLV"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"20"
,
"title"
:
"Command Results"
,
"status"
:
"merged"
,
"status_note"
:
"Merged into NIP-01"
,
"tags"
:
[
"final"
,
"mandatory"
]
,
"created"
:
"2022-11-10"
,
"updated"
:
"2023-11-15"
,
"url"
:
"nips/20.html"
,
"prev"
:
"19"
,
"next"
:
"21"
,
"summary"
:
"NIP-20: the OK command result message. Merged into NIP-01 in 2023. This page explains what it defined and where the rules live now."
,
"category"
:
"Core"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 What NIP-20 Defined"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"3 Historical Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"4 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"21"
,
"title"
:
"`nostr:` URI scheme"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-01-24"
,
"updated"
:
"2026-03-20"
,
"url"
:
"nips/21.html"
,
"prev"
:
"20"
,
"next"
:
"22"
,
"summary"
:
"NIP-21: the nostr: URI scheme. One URI prefix for NIP-19 identifiers, plus HTML link tags that bind webpages to Nostr events and profiles."
,
"category"
:
"Interop"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The URI Scheme"
}
,
{
"anchor"
:
"linking"
,
"title"
:
"3 Linking HTML Pages to Nostr Entities"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"22"
,
"title"
:
"Comment"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-07-22"
,
"updated"
:
"2026-08-24"
,
"url"
:
"nips/22.html"
,
"prev"
:
"21"
,
"next"
:
"23"
,
"summary"
:
"NIP-22: the kind 1111 comment event. Uppercase tags point to the root scope, lowercase tags point to the parent item. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Comment Event"
}
,
{
"anchor"
:
"external"
,
"title"
:
"3 External Scopes"
}
,
{
"anchor"
:
"mentions"
,
"title"
:
"4 Citations and Mentions"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
1111
]
}
,
{
"nip"
:
"23"
,
"title"
:
"Long-form Content"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-02-03"
,
"updated"
:
"2026-05-18"
,
"url"
:
"nips/23.html"
,
"prev"
:
"22"
,
"next"
:
"24"
,
"summary"
:
"NIP-23: long-form articles as kind 30023 addressable events. Markdown content, metadata tags, editability, naddr linking, and NIP-22 comments."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Format"
}
,
{
"anchor"
:
"metadata"
,
"title"
:
"3 Metadata Tags"
}
,
{
"anchor"
:
"editability"
,
"title"
:
"4 Editability"
}
,
{
"anchor"
:
"linking"
,
"title"
:
"5 Linking and References"
}
,
{
"anchor"
:
"replies"
,
"title"
:
"6 Replies and Comments"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
30023
,
30024
]
}
,
{
"nip"
:
"24"
,
"title"
:
"Extra metadata fields and tags"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-09-24"
,
"updated"
:
"2025-08-11"
,
"url"
:
"nips/24.html"
,
"prev"
:
"23"
,
"next"
:
"25"
,
"summary"
:
"NIP-24: extra optional fields for kind-0 and kind-3 events, deprecated fields to ignore, and the shared r, i, title, and t tags. Complete manual page."
,
"category"
:
"Profiles"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Extra Fields for Kind 0"
}
,
{
"anchor"
:
"kind3"
,
"title"
:
"3 Deprecated Fields for Kind 3"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"4 Shared Tags"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
0
,
3
]
}
,
{
"nip"
:
"25"
,
"title"
:
"Reactions"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-07-30"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/25.html"
,
"prev"
:
"24"
,
"next"
:
"26"
,
"summary"
:
"NIP-25: reactions. Kind 7 likes, dislikes, and emoji reactions, kind 17 external content reactions, and custom emoji shortcodes. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Reaction Event (Kind 7)"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tags"
}
,
{
"anchor"
:
"external"
,
"title"
:
"4 External Content Reactions (Kind 17)"
}
,
{
"anchor"
:
"emoji"
,
"title"
:
"5 Custom Emoji Reactions"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
7
,
17
]
}
,
{
"nip"
:
"26"
,
"title"
:
"Delegated Event Signing"
,
"status"
:
"deprecated"
,
"status_note"
:
"adds unnecessary burden for little gain"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
,
"relay"
]
,
"created"
:
"2022-08-04"
,
"updated"
:
"2026-05-31"
,
"url"
:
"nips/26.html"
,
"prev"
:
"25"
,
"next"
:
"27"
,
"summary"
:
"NIP-26 (deprecated): delegated event signing. The delegation tag, delegation tokens, conditions query strings, and relay rules. Complete manual page."
,
"category"
:
"Key Management"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The delegation Tag"
}
,
{
"anchor"
:
"token"
,
"title"
:
"3 The Delegation Token"
}
,
{
"anchor"
:
"conditions"
,
"title"
:
"4 The Conditions Query String"
}
,
{
"anchor"
:
"validation"
,
"title"
:
"5 Validation and Display"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"6 Relay and Client Support"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"27"
,
"title"
:
"Text Note References"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-08-16"
,
"updated"
:
"2026-03-20"
,
"url"
:
"nips/27.html"
,
"prev"
:
"26"
,
"next"
:
"28"
,
"summary"
:
"NIP-27: inline references to profiles and events inside note text. nostr: URIs, optional q and p tags, and reader-side rendering. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Writing Mentions"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Optional Reference Tags"
}
,
{
"anchor"
:
"reading"
,
"title"
:
"4 Reading Mentions"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example: a Profile Mention"
}
,
{
"anchor"
:
"notes"
,
"title"
:
"6 Implementation Notes"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
1
,
30023
]
}
,
{
"nip"
:
"28"
,
"title"
:
"Public Chat"
,
"status"
:
"deprecated"
,
"status_note"
:
"try [NIP-29](29.md) instead"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2022-09-10"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/28.html"
,
"prev"
:
"27"
,
"next"
:
"29"
,
"summary"
:
"NIP-28: public chat channels with kinds 40-44. Channel creation, metadata, messages, and client-side moderation. Deprecated in favor of NIP-29."
,
"category"
:
"Chat"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Kind 40: Create Channel"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
40
,
41
,
42
,
43
,
44
]
}
,
{
"nip"
:
"29"
,
"title"
:
"Relay-based Groups"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2023-11-27"
,
"updated"
:
"2026-08-08"
,
"url"
:
"nips/29.html"
,
"prev"
:
"28"
,
"next"
:
"30"
,
"summary"
:
"NIP-29: relay-based groups. Group IDs, the h tag, moderation events 9000-9020, join and leave requests, relay metadata kinds 39000-39005, LiveKit AV spaces, and subgroups."
,
"category"
:
"Groups"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Group Identity, Migration, and Forks"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"12 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"13 Version History"
}
]
,
"kinds"
:
[
9000
,
9020
,
9021
,
9022
,
39000
,
39005
]
}
,
{
"nip"
:
"30"
,
"title"
:
"Custom Emoji"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-03-29"
,
"updated"
:
"2026-08-25"
,
"url"
:
"nips/30.html"
,
"prev"
:
"29"
,
"next"
:
"31"
,
"summary"
:
"NIP-30: custom emoji for Nostr events. The emoji tag, shortcode rules, emojification, and the supported event kinds. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The emoji Tag"
}
,
{
"anchor"
:
"emojify"
,
"title"
:
"3 Emojification"
}
,
{
"anchor"
:
"kinds"
,
"title"
:
"4 Supported Kinds"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
0
,
1
,
7
,
1111
,
30315
]
}
,
{
"nip"
:
"31"
,
"title"
:
"Dealing with unknown event kinds"
,
"status"
:
"deprecated"
,
"status_note"
:
"unnecessarily bloated"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2023-05-05"
,
"updated"
:
"2026-05-31"
,
"url"
:
"nips/31.html"
,
"prev"
:
"30"
,
"next"
:
"32"
,
"summary"
:
"NIP-31 (deprecated): the alt tag, a plaintext fallback summary that lets clients display custom event kinds they do not understand."
,
"category"
:
"Interop"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The alt Tag"
}
,
{
"anchor"
:
"behavior"
,
"title"
:
"3 Client Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"32"
,
"title"
:
"Labeling"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-05-15"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/32.html"
,
"prev"
:
"31"
,
"next"
:
"33"
,
"summary"
:
"NIP-32: labeling. The L and l tags and kind 1985 label events for moderation, collections, licenses, and content classification. Complete manual page."
,
"category"
:
"Moderation"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Label Event: Kind 1985"
}
,
{
"anchor"
:
"namespace"
,
"title"
:
"3 The Namespace Tag: L"
}
,
{
"anchor"
:
"label"
,
"title"
:
"4 The Label Tag: l"
}
,
{
"anchor"
:
"targets"
,
"title"
:
"5 Label Targets"
}
,
{
"anchor"
:
"content"
,
"title"
:
"6 Content and Self-Reporting"
}
,
{
"anchor"
:
"vocab"
,
"title"
:
"7 Vocabulary Guidelines"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
1985
]
}
,
{
"nip"
:
"33"
,
"title"
:
"Parameterized Replaceable Events"
,
"status"
:
"merged"
,
"status_note"
:
"Renamed to addressable events and merged into NIP-01"
,
"tags"
:
[
"final"
,
"mandatory"
]
,
"created"
:
"2023-01-04"
,
"updated"
:
"2024-08-20"
,
"url"
:
"nips/33.html"
,
"prev"
:
"32"
,
"next"
:
"34"
,
"summary"
:
"NIP-33: parameterized replaceable events, renamed to addressable events, merged into NIP-01. This page explains what it defined and where the rules live now."
,
"category"
:
"Core"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 What NIP-33 Defined"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"3 Historical Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"4 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"34"
,
"title"
:
"`git` stuff"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-03-05"
,
"updated"
:
"2026-07-26"
,
"url"
:
"nips/34.html"
,
"prev"
:
"33"
,
"next"
:
"35"
,
"summary"
:
"NIP-34: code collaboration over Nostr. Repository announcements, patches, pull requests, issues, and status events. Complete manual page."
,
"category"
:
"Code Collab"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Repository Announcements"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"9 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"10 Version History"
}
]
,
"kinds"
:
[
1617
,
1618
,
1619
,
1621
,
1630
,
1633
,
10317
,
30617
,
30618
]
}
,
{
"nip"
:
"35"
,
"title"
:
"Torrents"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-11-19"
,
"updated"
:
"2024-09-03"
,
"url"
:
"nips/35.html"
,
"prev"
:
"34"
,
"next"
:
"36"
,
"summary"
:
"NIP-35: torrent index events. Kind 2003 stores the info hash, file list, and trackers needed to build a magnet link. Kind 2004 adds comments."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Torrent Event (Kind 2003)"
}
,
{
"anchor"
:
"prefixes"
,
"title"
:
"3 External References: the i Tag"
}
,
{
"anchor"
:
"comments"
,
"title"
:
"4 Torrent Comments (Kind 2004)"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
2003
,
2004
]
}
,
{
"nip"
:
"36"
,
"title"
:
"Sensitive Content / Content Warning"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2022-12-01"
,
"updated"
:
"2023-11-18"
,
"url"
:
"nips/36.html"
,
"prev"
:
"35"
,
"next"
:
"37"
,
"summary"
:
"NIP-36: the content-warning tag. Mark sensitive events so clients hide the content until the reader approves. Complete manual page."
,
"category"
:
"Moderation"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The content-warning Tag"
}
,
{
"anchor"
:
"labels"
,
"title"
:
"3 Labels with NIP-32"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"37"
,
"title"
:
"Draft Wraps"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-05-30"
,
"updated"
:
"2026-05-18"
,
"url"
:
"nips/37.html"
,
"prev"
:
"36"
,
"next"
:
"38"
,
"summary"
:
"NIP-37: Draft Wraps. Kind 31234 encrypted draft storage, kind 1234 checkpoints, and the kind 10013 private-content relay list. Complete manual page."
,
"category"
:
"Private Data"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Draft Wrap - Kind 31234"
}
,
{
"anchor"
:
"checkpoints"
,
"title"
:
"3 Checkpoints - Kind 1234"
}
,
{
"anchor"
:
"relaylist"
,
"title"
:
"4 Relay List for Private Content - Kind 10013"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
1234
,
10013
,
31234
]
}
,
{
"nip"
:
"38"
,
"title"
:
"User Statuses"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-08-25"
,
"updated"
:
"2025-08-13"
,
"url"
:
"nips/38.html"
,
"prev"
:
"37"
,
"next"
:
"39"
,
"summary"
:
"NIP-38: user statuses. Kind 30315 addressable events for live status lines - general activity, now playing music, and custom types. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Status Event (kind 30315)"
}
,
{
"anchor"
:
"lifecycle"
,
"title"
:
"3 Status Lifecycle"
}
,
{
"anchor"
:
"clients"
,
"title"
:
"4 Client Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
30315
]
}
,
{
"nip"
:
"39"
,
"title"
:
"Linking Profiles to Other Platforms"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-03-09"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/39.html"
,
"prev"
:
"38"
,
"next"
:
"40"
,
"summary"
:
"NIP-39: link a Nostr profile to GitHub, Twitter, Mastodon, and Telegram accounts with kind 10011 identity claims and verifiable proofs."
,
"category"
:
"Identity"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Identity Event and the i Tag"
}
,
{
"anchor"
:
"claims"
,
"title"
:
"3 Claim Types"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
10011
]
}
,
{
"nip"
:
"40"
,
"title"
:
"Expiration Timestamp"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2022-12-04"
,
"updated"
:
"2025-12-24"
,
"url"
:
"nips/40.html"
,
"prev"
:
"39"
,
"next"
:
"42"
,
"summary"
:
"NIP-40: the expiration tag. Mark an event with a unix timestamp so relays and clients treat it as expired. Complete manual page."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The expiration Tag"
}
,
{
"anchor"
:
"client"
,
"title"
:
"3 Client Behavior"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"4 Relay Behavior"
}
,
{
"anchor"
:
"usecases"
,
"title"
:
"5 Suggested Use Cases"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"42"
,
"title"
:
"Authentication of clients to relays"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2023-01-02"
,
"updated"
:
"2026-09-01"
,
"url"
:
"nips/42.html"
,
"prev"
:
"40"
,
"next"
:
"43"
,
"summary"
:
"NIP-42: how a client authenticates to a relay with a signed kind 22242 event. AUTH messages, challenges, auth-required and restricted prefixes."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The AUTH Message"
}
,
{
"anchor"
:
"event"
,
"title"
:
"3 The Authentication Event"
}
,
{
"anchor"
:
"prefixes"
,
"title"
:
"4 Status Prefixes and the EOSE Hint"
}
,
{
"anchor"
:
"flow"
,
"title"
:
"5 Protocol Flow"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
22242
]
}
,
{
"nip"
:
"43"
,
"title"
:
"Relay Access Metadata and Requests"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2025-10-30"
,
"updated"
:
"2026-06-29"
,
"url"
:
"nips/43.html"
,
"prev"
:
"42"
,
"next"
:
"44"
,
"summary"
:
"NIP-43: relays advertise roles and membership lists; clients request to join or leave a relay with invite codes. Complete manual page."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Role Definitions \u2014 Kind 33534"
}
,
{
"anchor"
:
"members"
,
"title"
:
"3 Membership Lists \u2014 Kind 13534"
}
,
{
"anchor"
:
"announce"
,
"title"
:
"4 Add and Remove Announcements \u2014 Kinds 8000 / 8001"
}
,
{
"anchor"
:
"join"
,
"title"
:
"5 Join Request \u2014 Kind 28934"
}
,
{
"anchor"
:
"invite"
,
"title"
:
"6 Invite Request \u2014 Kind 28935"
}
,
{
"anchor"
:
"leave"
,
"title"
:
"7 Leave Request \u2014 Kind 28936"
}
,
{
"anchor"
:
"impl"
,
"title"
:
"8 Implementation Rule"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"9 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"10 Version History"
}
]
,
"kinds"
:
[
8000
,
8001
,
13534
,
28934
,
28935
,
28936
,
33534
]
}
,
{
"nip"
:
"44"
,
"title"
:
"Encrypted Payloads (Versioned)"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"optional"
]
,
"created"
:
"2023-12-07"
,
"updated"
:
"2026-06-28"
,
"url"
:
"nips/44.html"
,
"prev"
:
"43"
,
"next"
:
"45"
,
"summary"
:
"NIP-44: versioned keypair-based encryption for Nostr. ECDH conversation keys, HKDF, ChaCha20, HMAC-SHA256, padding, and the base64 payload format. Complete manual page."
,
"category"
:
"Encryption"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Versions"
}
,
{
"anchor"
:
"limits"
,
"title"
:
"3 Threat Model and Limitations"
}
,
{
"anchor"
:
"design"
,
"title"
:
"4 Version 2 Design Choices"
}
,
{
"anchor"
:
"keys"
,
"title"
:
"5 Key Derivation"
}
,
{
"anchor"
:
"padding"
,
"title"
:
"6 Padding"
}
,
{
"anchor"
:
"encrypt"
,
"title"
:
"7 Encryption"
}
,
{
"anchor"
:
"decrypt"
,
"title"
:
"8 Decryption"
}
,
{
"anchor"
:
"impl"
,
"title"
:
"9 Implementation Notes"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"45"
,
"title"
:
"Event Counts"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2023-01-03"
,
"updated"
:
"2026-02-06"
,
"url"
:
"nips/45.html"
,
"prev"
:
"44"
,
"next"
:
"46"
,
"summary"
:
"NIP-45: the COUNT verb. Relays count events server-side, return exact or approximate totals, and share HyperLogLog registers for mergeable counts."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The COUNT Verb"
}
,
{
"anchor"
:
"hll"
,
"title"
:
"3 HyperLogLog"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"46"
,
"title"
:
"Nostr Remote Signing"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
]
,
"created"
:
"2023-02-20"
,
"updated"
:
"2026-07-15"
,
"url"
:
"nips/46.html"
,
"prev"
:
"45"
,
"next"
:
"47"
,
"summary"
:
"NIP-46: Nostr remote signing. A client talks to a remote signer (bunker) over relays with encrypted kind 24133 events. Complete manual page."
,
"category"
:
"Key Security"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Roles and Keys"
}
,
{
"anchor"
:
"connect"
,
"title"
:
"3 Initiating a Connection"
}
,
{
"anchor"
:
"requests"
,
"title"
:
"4 Request Events \u2014 kind: 24133"
}
,
{
"anchor"
:
"responses"
,
"title"
:
"5 Response Events \u2014 kind: 24133"
}
,
{
"anchor"
:
"auth"
,
"title"
:
"6 Auth Challenges"
}
,
{
"anchor"
:
"discovery"
,
"title"
:
"7 Announcing and Discovering Signers"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
24133
,
31990
]
}
,
{
"nip"
:
"47"
,
"title"
:
"Nostr Wallet Connect (NWC)"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-03-30"
,
"updated"
:
"2026-08-01"
,
"url"
:
"nips/47.html"
,
"prev"
:
"46"
,
"next"
:
"48"
,
"summary"
:
"NIP-47: Nostr Wallet Connect. Remote lightning wallet control over encrypted Nostr events. Connection URI, commands, error codes, and encryption negotiation."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Actors and Theory of Operation"
}
,
{
"anchor"
:
"uri"
,
"title"
:
"3 The Connection URI"
}
,
{
"anchor"
:
"events"
,
"title"
:
"4 Events"
}
,
{
"anchor"
:
"errors"
,
"title"
:
"5 Error Codes"
}
,
{
"anchor"
:
"commands"
,
"title"
:
"6 Commands"
}
,
{
"anchor"
:
"encryption"
,
"title"
:
"7 Encryption"
}
,
{
"anchor"
:
"extensions"
,
"title"
:
"8 Extensions"
}
,
{
"anchor"
:
"relays"
,
"title"
:
"9 Relay Choice"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
13194
,
23194
,
23195
]
}
,
{
"nip"
:
"48"
,
"title"
:
"Bridged events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-08-03"
,
"updated"
:
"2026-05-28"
,
"url"
:
"nips/48.html"
,
"prev"
:
"47"
,
"next"
:
"49"
,
"summary"
:
"NIP-48: bridged events. The proxy tag links a Nostr event back to its source object on ActivityPub, AT Protocol, RSS, or the web. Complete manual page."
,
"category"
:
"Interop"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The proxy Tag"
}
,
{
"anchor"
:
"protocols"
,
"title"
:
"3 Supported Protocols"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"49"
,
"title"
:
"Private Key Encryption (`ncryptsec`)"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-01-30"
,
"updated"
:
"2026-06-02"
,
"url"
:
"nips/49.html"
,
"prev"
:
"48"
,
"next"
:
"50"
,
"summary"
:
"NIP-49: encrypt a Nostr private key with a password. Full scrypt derivation, XChaCha20-Poly1305 encryption, and the ncryptsec bech32 format."
,
"category"
:
"Encryption"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Symmetric Key Derivation"
}
,
{
"anchor"
:
"encrypt"
,
"title"
:
"3 Encrypting a Private Key"
}
,
{
"anchor"
:
"payload"
,
"title"
:
"4 The ncryptsec Payload"
}
,
{
"anchor"
:
"testdata"
,
"title"
:
"5 Test Vectors"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"design"
,
"title"
:
"7 Design Notes"
}
,
{
"anchor"
:
"recs"
,
"title"
:
"8 Recommendations"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"50"
,
"title"
:
"Search Capability"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2023-01-17"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/50.html"
,
"prev"
:
"49"
,
"next"
:
"51"
,
"summary"
:
"NIP-50: the search filter field. Free-text queries in REQ messages, relevance ranking, spam filtering, and key:value query extensions. Complete manual page."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The search Filter Field"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"3 Relay Behavior"
}
,
{
"anchor"
:
"client"
,
"title"
:
"4 Client Behavior"
}
,
{
"anchor"
:
"extensions"
,
"title"
:
"5 Extensions"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"51"
,
"title"
:
"Lists"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-03-09"
,
"updated"
:
"2026-07-15"
,
"url"
:
"nips/51.html"
,
"prev"
:
"50"
,
"next"
:
"52"
,
"summary"
:
"NIP-51: user lists and sets. Every standard list kind, every set kind, public and private items, and the NIP-44 encryption rules. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Public and Private Items"
}
,
{
"anchor"
:
"standard"
,
"title"
:
"3 Standard Lists"
}
,
{
"anchor"
:
"sets"
,
"title"
:
"4 Sets"
}
,
{
"anchor"
:
"deprecated"
,
"title"
:
"5 Deprecated Standard Lists"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
3
,
10000
,
10102
,
30000
,
39092
]
}
,
{
"nip"
:
"52"
,
"title"
:
"Calendar Events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-06-10"
,
"updated"
:
"2026-02-13"
,
"url"
:
"nips/52.html"
,
"prev"
:
"51"
,
"next"
:
"53"
,
"summary"
:
"NIP-52: calendar events on Nostr. Date-based and time-based events, calendars, RSVPs, and every tag they use. Complete manual page."
,
"category"
:
"Scheduling"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Common Tags"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
31922
,
31923
,
31924
,
31925
]
}
,
{
"nip"
:
"53"
,
"title"
:
"Live Streaming and Spaces"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-07-08"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/53.html"
,
"prev"
:
"52"
,
"next"
:
"54"
,
"summary"
:
"NIP-53: live streaming events, live chat, meeting spaces, meeting rooms, and room presence. Kinds 30311, 1311, 30312, 30313, and 10312. Complete manual page."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Live Streaming Event (kind 30311)"
}
,
{
"anchor"
:
"proof"
,
"title"
:
"3 Proof of Agreement to Participate"
}
,
{
"anchor"
:
"chat"
,
"title"
:
"4 Live Chat Message (kind 1311)"
}
,
{
"anchor"
:
"spaces"
,
"title"
:
"5 Meeting Spaces (kind 30312)"
}
,
{
"anchor"
:
"meetings"
,
"title"
:
"6 Meeting Room Events (kind 30313)"
}
,
{
"anchor"
:
"presence"
,
"title"
:
"7 Room Presence (kind 10312)"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
1311
,
10312
,
30311
,
30312
,
30313
]
}
,
{
"nip"
:
"54"
,
"title"
:
"Wiki"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-05-02"
,
"updated"
:
"2026-03-17"
,
"url"
:
"nips/54.html"
,
"prev"
:
"53"
,
"next"
:
"55"
,
"summary"
:
"NIP-54: decentralized wiki articles on Nostr. Kind 30818 articles, d-tag normalization, Djot wikilinks, merge requests, redirects, forks, and deference. Complete manual page."
,
"category"
:
"Knowledge"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Articles: Kind 30818"
}
,
{
"anchor"
:
"normalization"
,
"title"
:
"3 D-Tag Normalization"
}
,
{
"anchor"
:
"content"
,
"title"
:
"4 Content Format: Djot"
}
,
{
"anchor"
:
"merge"
,
"title"
:
"5 Merge Requests: Kind 818"
}
,
{
"anchor"
:
"redirects"
,
"title"
:
"6 Redirects: Kind 30819"
}
,
{
"anchor"
:
"markers"
,
"title"
:
"7 Forks and Deference"
}
,
{
"anchor"
:
"ranking"
,
"title"
:
"8 How to Decide What Article to Display"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"9 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"10 Version History"
}
]
,
"kinds"
:
[
818
,
30818
,
30819
]
}
,
{
"nip"
:
"55"
,
"title"
:
"Android Signer Application"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-06-05"
,
"updated"
:
"2026-06-03"
,
"url"
:
"nips/55.html"
,
"prev"
:
"54"
,
"next"
:
"56"
,
"summary"
:
"NIP-55: Android signer applications. Intents, Content Resolver, and web flows that let a client request signatures without holding the private key. Complete manual page."
,
"category"
:
"Key Security"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Roles and Terms"
}
,
{
"anchor"
:
"setup"
,
"title"
:
"3 Setup and Connection"
}
,
{
"anchor"
:
"methods"
,
"title"
:
"4 Methods"
}
,
{
"anchor"
:
"intents"
,
"title"
:
"5 Intent Flow"
}
,
{
"anchor"
:
"resolver"
,
"title"
:
"6 Content Resolver Flow"
}
,
{
"anchor"
:
"web"
,
"title"
:
"7 Web Flow"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"56"
,
"title"
:
"Reporting"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"optional"
]
,
"created"
:
"2023-02-07"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/56.html"
,
"prev"
:
"55"
,
"next"
:
"57"
,
"summary"
:
"NIP-56: reporting objectionable content. Kind 1984 report events, report types, target tags, and moderation guidance for clients and relays."
,
"category"
:
"Moderation"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Report Event"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tags and Report Types"
}
,
{
"anchor"
:
"client"
,
"title"
:
"4 Client Behavior"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"5 Relay Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
1984
]
}
,
{
"nip"
:
"57"
,
"title"
:
"Lightning Zaps"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-02-13"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/57.html"
,
"prev"
:
"56"
,
"next"
:
"58"
,
"summary"
:
"NIP-57: Lightning zaps. Zap request (kind 9734), zap receipt (kind 9735), LNURL server setup, validation rules, and zap splits. Complete manual page."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Protocol Flow"
}
,
{
"anchor"
:
"request"
,
"title"
:
"3 The Zap Request (kind 9734)"
}
,
{
"anchor"
:
"http"
,
"title"
:
"4 Sending the Request over HTTP"
}
,
{
"anchor"
:
"server"
,
"title"
:
"5 LNURL Server Configuration"
}
,
{
"anchor"
:
"validation"
,
"title"
:
"6 Server-Side Validation"
}
,
{
"anchor"
:
"receipt"
,
"title"
:
"7 The Zap Receipt (kind 9735)"
}
,
{
"anchor"
:
"verify"
,
"title"
:
"8 Client-Side Receipt Validation"
}
,
{
"anchor"
:
"splits"
,
"title"
:
"9 Zap Splits: the zap Tag"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
9734
,
9735
]
}
,
{
"nip"
:
"58"
,
"title"
:
"Badges"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-02-22"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/58.html"
,
"prev"
:
"57"
,
"next"
:
"59"
,
"summary"
:
"NIP-58: badges. Badge definitions, badge awards, profile badges, and badge sets. Kinds 30009, 8, 10008, and 30008. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Badge Definition (kind 30009)"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
8
,
10008
,
30008
,
30009
]
}
,
{
"nip"
:
"59"
,
"title"
:
"Gift Wrap"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"optional"
,
"relay"
]
,
"created"
:
"2023-08-11"
,
"updated"
:
"2026-06-02"
,
"url"
:
"nips/59.html"
,
"prev"
:
"58"
,
"next"
:
"5A"
,
"summary"
:
"NIP-59: gift wrap. Rumors, seals, and gift wraps hide event metadata behind two layers of NIP-44 encryption. Complete manual page."
,
"category"
:
"Encryption"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Rumor"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
13
,
1059
,
21059
]
}
,
{
"nip"
:
"5A"
,
"title"
:
"Static Websites (nsites)"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2026-03-25"
,
"updated"
:
"2026-06-16"
,
"url"
:
"nips/5a.html"
,
"prev"
:
"59"
,
"next"
:
"60"
,
"summary"
:
"NIP-5A: static websites hosted from Blossom assets. Site manifests, named sites, snapshots, aggregate hashes, copying, and host server rules. Complete manual page."
,
"category"
:
"Web Hosting"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Site Manifest Kinds"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Manifest Tags"
}
,
{
"anchor"
:
"aggregate"
,
"title"
:
"4 The Aggregate Hash"
}
,
{
"anchor"
:
"snapshots"
,
"title"
:
"5 Manifest Snapshots"
}
,
{
"anchor"
:
"appdesc"
,
"title"
:
"6 Upstream App Descriptors"
}
,
{
"anchor"
:
"copying"
,
"title"
:
"7 Copying nsites"
}
,
{
"anchor"
:
"hostserver"
,
"title"
:
"8 Host Server Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"9 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"10 Version History"
}
]
,
"kinds"
:
[
5128
,
15128
,
35128
]
}
,
{
"nip"
:
"60"
,
"title"
:
"Cashu Wallets"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-10-25"
,
"updated"
:
"2025-10-31"
,
"url"
:
"nips/60.html"
,
"prev"
:
"5A"
,
"next"
:
"61"
,
"summary"
:
"NIP-60: Cashu wallets stored on relays. Wallet, token, spending-history, and quote events, NIP-44 encryption, and proof state transitions. Complete manual page."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Wallet Event \u2014 Kind 17375"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
7374
,
7375
,
7376
,
17375
]
}
,
{
"nip"
:
"61"
,
"title"
:
"Nutzaps"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-10-25"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/61.html"
,
"prev"
:
"60"
,
"next"
:
"62"
,
"summary"
:
"NIP-61: Nutzaps. P2PK-locked Cashu tokens sent as Nostr events. The kind 10019 info event, kind 9321 nutzap event, lock rules, and redemption flow."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Nutzap Info Event \u2014 Kind 10019"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"8 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"9 Version History"
}
]
,
"kinds"
:
[
7375
,
7376
,
9321
,
10019
]
}
,
{
"nip"
:
"62"
,
"title"
:
"Request to Vanish"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2025-02-18"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/62.html"
,
"prev"
:
"61"
,
"next"
:
"64"
,
"summary"
:
"NIP-62: the kind-62 request to vanish. How a user asks one relay, or all relays, to fully and permanently delete every event signed by a pubkey."
,
"category"
:
"Privacy"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Vanish Request Event"
}
,
{
"anchor"
:
"relay-rules"
,
"title"
:
"3 Relay Obligations"
}
,
{
"anchor"
:
"global"
,
"title"
:
"4 Global Request to Vanish"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
62
]
}
,
{
"nip"
:
"64"
,
"title"
:
"Chess (Portable Game Notation)"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-12-28"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/64.html"
,
"prev"
:
"62"
,
"next"
:
"65"
,
"summary"
:
"NIP-64: kind 64 chess game events. PGN content format, export vs import mode, client rendering rules, and relay validation. Complete manual page."
,
"category"
:
"Games"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Kind 64 Event"
}
,
{
"anchor"
:
"client"
,
"title"
:
"3 Client Behavior"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"4 Relay Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
64
]
}
,
{
"nip"
:
"65"
,
"title"
:
"Relay List Metadata"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-02-03"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/65.html"
,
"prev"
:
"64"
,
"next"
:
"66"
,
"summary"
:
"NIP-65: relay list metadata. The kind 10002 event that advertises a user's read and write relays, and the outbox routing rules built on it."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Relay List Event"
}
,
{
"anchor"
:
"reading"
,
"title"
:
"3 Reading Rules"
}
,
{
"anchor"
:
"publishing"
,
"title"
:
"4 Publishing Rules"
}
,
{
"anchor"
:
"size"
,
"title"
:
"5 Size and Discoverability"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
10002
]
}
,
{
"nip"
:
"66"
,
"title"
:
"Relay Liveness Monitoring"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2025-03-03"
,
"updated"
:
"2026-05-28"
,
"url"
:
"nips/66.html"
,
"prev"
:
"65"
,
"next"
:
"67"
,
"summary"
:
"NIP-66: relay discovery events (kind 30166) and relay monitor announcements (kind 10166). How monitors probe relays and publish liveness data."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Relay Discovery Events - Kind 30166"
}
,
{
"anchor"
:
"monitors"
,
"title"
:
"3 Relay Monitor Announcements - Kind 10166"
}
,
{
"anchor"
:
"risk"
,
"title"
:
"4 Risk Mitigation"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
10166
,
30166
]
}
,
{
"nip"
:
"67"
,
"title"
:
"EOSE Completeness Hint"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2026-06-06"
,
"updated"
:
"2026-09-01"
,
"url"
:
"nips/67.html"
,
"prev"
:
"66"
,
"next"
:
"68"
,
"summary"
:
"NIP-67: an optional third element on the EOSE message. Relays hint whether the stored result set is complete, partial, or gated behind AUTH."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Hinted EOSE Message"
}
,
{
"anchor"
:
"ties"
,
"title"
:
"3 Ties on created_at"
}
,
{
"anchor"
:
"compat"
,
"title"
:
"4 Compatibility and Advertisement"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Examples"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"68"
,
"title"
:
"Picture-first feeds"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-10-27"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/68.html"
,
"prev"
:
"67"
,
"next"
:
"69"
,
"summary"
:
"NIP-68: kind 20 picture events for Instagram-style Nostr clients. Self-contained image posts with imeta tags, user annotations, and media-type filters."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Picture Event (kind 20)"
}
,
{
"anchor"
:
"imeta"
,
"title"
:
"3 The imeta Tag, Per Image"
}
,
{
"anchor"
:
"mediatypes"
,
"title"
:
"4 Accepted Media Types"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
20
]
}
,
{
"nip"
:
"69"
,
"title"
:
"Peer-to-peer Order events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-11-04"
,
"updated"
:
"2025-11-13"
,
"url"
:
"nips/69.html"
,
"prev"
:
"68"
,
"next"
:
"70"
,
"summary"
:
"NIP-69: peer-to-peer order events. Kind 38383 addressable events that pool buy and sell orders from all P2P trading platforms into one shared order book."
,
"category"
:
"Commerce"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Order Event"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tag Reference"
}
,
{
"anchor"
:
"status"
,
"title"
:
"4 Order Status"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"implementations"
,
"title"
:
"6 Implementations"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
38383
]
}
,
{
"nip"
:
"70"
,
"title"
:
"Protected Events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2024-07-10"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/70.html"
,
"prev"
:
"69"
,
"next"
:
"71"
,
"summary"
:
"NIP-70: protected events. The [\"-\"] tag marks an event that only its author may publish, enforced by relays through NIP-42 authentication."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Protected Tag"
}
,
{
"anchor"
:
"relay"
,
"title"
:
"3 Relay Rules"
}
,
{
"anchor"
:
"reposts"
,
"title"
:
"4 Reposts"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"why"
,
"title"
:
"6 Why It Exists"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"71"
,
"title"
:
"Video Events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-12-09"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/71.html"
,
"prev"
:
"70"
,
"next"
:
"72"
,
"summary"
:
"NIP-71: video events. Normal and short video kinds, addressable variants, imeta video metadata, audio tracks, and title/publish rules. Complete manual page."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Four Video Kinds"
}
,
{
"anchor"
:
"addressable"
,
"title"
:
"3 Addressable Video Events"
}
,
{
"anchor"
:
"imeta"
,
"title"
:
"4 Video Data: imeta Tags"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"5 Tag Reference"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
21
,
22
,
34235
,
34236
]
}
,
{
"nip"
:
"72"
,
"title"
:
"Moderated Communities (Reddit Style)"
,
"status"
:
"deprecated"
,
"status_note"
:
"try [NIP-29](29.md) instead"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2023-08-08"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/72.html"
,
"prev"
:
"71"
,
"next"
:
"73"
,
"summary"
:
"NIP-72: Reddit-style moderated communities. Kind 34550 community definitions, kind 1111 posts, and kind 4550 moderator approvals. Deprecated in favor of NIP-29."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Community Definition \u2014 Kind 34550"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
1
,
6
,
16
,
1111
,
4550
,
34550
]
}
,
{
"nip"
:
"73"
,
"title"
:
"External Content IDs"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-08-05"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/73.html"
,
"prev"
:
"72"
,
"next"
:
"75"
,
"summary"
:
"NIP-73: external content IDs. The i and k tags that link Nostr events to books, podcasts, movies, papers, URLs, geohashes, countries, hashtags, and blockchains."
,
"category"
:
"Interop"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The i and k Tags"
}
,
{
"anchor"
:
"ids"
,
"title"
:
"3 Supported ID Types"
}
,
{
"anchor"
:
"blockchain"
,
"title"
:
"4 Blockchain IDs"
}
,
{
"anchor"
:
"hints"
,
"title"
:
"5 Optional URL Hints"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"75"
,
"title"
:
"Zap Goals"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-09-01"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/75.html"
,
"prev"
:
"73"
,
"next"
:
"77"
,
"summary"
:
"NIP-75: zap goals. The kind 9041 fundraising goal event, its amount and relays tags, and how clients tally zaps toward a target. Complete manual page."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Goal Event"
}
,
{
"anchor"
:
"linking"
,
"title"
:
"3 Linking Content to a Goal"
}
,
{
"anchor"
:
"client"
,
"title"
:
"4 Client Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
9041
]
}
,
{
"nip"
:
"77"
,
"title"
:
"Negentropy Syncing"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
,
"relay"
]
,
"created"
:
"2025-05-26"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/77.html"
,
"prev"
:
"75"
,
"next"
:
"78"
,
"summary"
:
"NIP-77: Negentropy syncing. NEG-OPEN, NEG-MSG, NEG-ERR, NEG-CLOSE messages and the full Negentropy V1 wire format: varints, bounds, ID lists, fingerprints."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Sync Messages"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"78"
,
"title"
:
"Arbitrary custom app data"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-02-23"
,
"updated"
:
"2026-05-28"
,
"url"
:
"nips/78.html"
,
"prev"
:
"77"
,
"next"
:
"7D"
,
"summary"
:
"NIP-78: arbitrary custom app data. Kind 30078 and kind 78 turn any Nostr relay into a bring-your-own database for apps that do not need interoperability."
,
"category"
:
"App Storage"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Two Kinds"
}
,
{
"anchor"
:
"usecases"
,
"title"
:
"3 Use Cases"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
78
,
30078
]
}
,
{
"nip"
:
"7D"
,
"title"
:
"Forum Threads"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-11-21"
,
"updated"
:
"2026-05-28"
,
"url"
:
"nips/7d.html"
,
"prev"
:
"78"
,
"next"
:
"84"
,
"summary"
:
"NIP-7D: forum threads on Nostr. Kind 11 thread events with a title tag, and flat kind 1111 replies that always point to the root. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Thread Event \u2014 Kind 11"
}
,
{
"anchor"
:
"replies"
,
"title"
:
"3 Replies \u2014 Kind 1111"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
11
,
1111
]
}
,
{
"nip"
:
"84"
,
"title"
:
"Highlights"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-11-07"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/84.html"
,
"prev"
:
"7D"
,
"next"
:
"85"
,
"summary"
:
"NIP-84: highlight events. Kind 9802 marks a valuable portion of an article, note, or URL, with source, attribution, context, and quote highlights."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Highlight Event"
}
,
{
"anchor"
:
"references"
,
"title"
:
"3 References: Tagging the Source"
}
,
{
"anchor"
:
"attribution"
,
"title"
:
"4 Attribution and Context"
}
,
{
"anchor"
:
"quote"
,
"title"
:
"5 Quote Highlights"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
9802
]
}
,
{
"nip"
:
"85"
,
"title"
:
"Trusted Assertions"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2026-01-22"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/85.html"
,
"prev"
:
"84"
,
"next"
:
"86"
,
"summary"
:
"NIP-85: Trusted Assertions. Providers publish signed web-of-trust scores and counts as kinds 30382-30385; users pick providers with kind 10040."
,
"category"
:
"Web of Trust"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Assertion Events"
}
,
{
"anchor"
:
"k30382"
,
"title"
:
"3 Kind 30382 \u2014 Users as Subject"
}
,
{
"anchor"
:
"k30383"
,
"title"
:
"4 Kind 30383 \u2014 Events as Subject"
}
,
{
"anchor"
:
"k30384"
,
"title"
:
"5 Kind 30384 \u2014 Addressables as Subject"
}
,
{
"anchor"
:
"k30385"
,
"title"
:
"6 Kind 30385 \u2014 External Identifiers as Subject"
}
,
{
"anchor"
:
"k10040"
,
"title"
:
"7 Declaring Trusted Providers \u2014 Kind 10040"
}
,
{
"anchor"
:
"ops"
,
"title"
:
"8 Operational Rules"
}
,
{
"anchor"
:
"discovery"
,
"title"
:
"9 Provider Discoverability"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
10040
,
30382
,
30383
,
30384
,
30385
]
}
,
{
"nip"
:
"86"
,
"title"
:
"Relay Management API"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-11-25"
,
"updated"
:
"2026-06-29"
,
"url"
:
"nips/86.html"
,
"prev"
:
"85"
,
"next"
:
"87"
,
"summary"
:
"NIP-86: the Relay Management API. A JSON-RPC-like protocol over HTTP for banning pubkeys, moderating events, managing roles, and configuring a relay. Complete manual page."
,
"category"
:
"Relay Ops"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Transport and Message Format"
}
,
{
"anchor"
:
"methods"
,
"title"
:
"3 The Methods"
}
,
{
"anchor"
:
"auth"
,
"title"
:
"4 Authorization"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"87"
,
"title"
:
"Cashu and Fedimint Discoverability"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2025-07-16"
,
"updated"
:
"2026-06-02"
,
"url"
:
"nips/87.html"
,
"prev"
:
"86"
,
"next"
:
"88"
,
"summary"
:
"NIP-87: discover ecash mints on Nostr. Cashu and Fedimint announcements (kinds 38172, 38173) and user recommendations (kind 38000). Complete manual page."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Parties and Flow"
}
,
{
"anchor"
:
"recommendation"
,
"title"
:
"3 The Recommendation Event"
}
,
{
"anchor"
:
"announcements"
,
"title"
:
"4 Mint Announcements"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
38000
,
38172
,
38173
]
}
,
{
"nip"
:
"88"
,
"title"
:
"Polls"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-09-17"
,
"updated"
:
"2025-12-30"
,
"url"
:
"nips/88.html"
,
"prev"
:
"87"
,
"next"
:
"89"
,
"summary"
:
"NIP-88: polls on Nostr. Kind 1068 poll events, kind 1018 response events, single and multiple choice, and how clients count votes. Complete manual page."
,
"category"
:
"Social"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Poll Event \u2014 Kind 1068"
}
,
{
"anchor"
:
"response"
,
"title"
:
"3 The Response Event \u2014 Kind 1018"
}
,
{
"anchor"
:
"counting"
,
"title"
:
"4 Counting Results"
}
,
{
"anchor"
:
"relays"
,
"title"
:
"5 Relays and Curation"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
1018
,
1068
]
}
,
{
"nip"
:
"89"
,
"title"
:
"Recommended Application Handlers"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-06-07"
,
"updated"
:
"2026-06-16"
,
"url"
:
"nips/89.html"
,
"prev"
:
"88"
,
"next"
:
"90"
,
"summary"
:
"NIP-89: recommended application handlers. Kinds 31989 and 31990 let clients discover which application can open an unknown event kind. Complete manual page."
,
"category"
:
"Discovery"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Recommendation Event \u2014 kind:31989"
}
,
{
"anchor"
:
"handler"
,
"title"
:
"3 Handler Information \u2014 kind:31990"
}
,
{
"anchor"
:
"clienttag"
,
"title"
:
"4 The client Tag"
}
,
{
"anchor"
:
"flow"
,
"title"
:
"5 Discovery Flow"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
31989
,
31990
]
}
,
{
"nip"
:
"90"
,
"title"
:
"Data Vending Machine"
,
"status"
:
"deprecated"
,
"status_note"
:
"this got totally out of control, prefer use-case-specific microstandards"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2023-07-25"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/90.html"
,
"prev"
:
"89"
,
"next"
:
"92"
,
"summary"
:
"NIP-90 (deprecated): the Data Vending Machine. Job request kinds 5000-5999, job results 6000-6999, kind 7000 feedback, and the payment flow. Complete manual page."
,
"category"
:
"Marketplace"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Reserved Kinds"
}
,
{
"anchor"
:
"request"
,
"title"
:
"3 Job Request (kind 5000-5999)"
}
,
{
"anchor"
:
"result"
,
"title"
:
"4 Job Result (kind 6000-6999)"
}
,
{
"anchor"
:
"feedback"
,
"title"
:
"5 Job Feedback (kind 7000)"
}
,
{
"anchor"
:
"flow"
,
"title"
:
"6 Protocol Flow and Payment"
}
,
{
"anchor"
:
"chaining"
,
"title"
:
"7 Appendix 1: Job Chaining"
}
,
{
"anchor"
:
"discovery"
,
"title"
:
"8 Appendix 2: Provider Discoverability"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"9 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"10 Version History"
}
]
,
"kinds"
:
[
5000
,
7000
]
}
,
{
"nip"
:
"92"
,
"title"
:
"Media Attachments Metadata (`imeta`)"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
]
,
"created"
:
"2024-02-01"
,
"updated"
:
"2026-06-02"
,
"url"
:
"nips/92.html"
,
"prev"
:
"90"
,
"next"
:
"94"
,
"summary"
:
"NIP-92: the imeta tag. Inline metadata for media URLs in event content: MIME type, blurhash, dimensions, hash, alt text, and fallbacks. Complete manual page."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The imeta Tag"
}
,
{
"anchor"
:
"behavior"
,
"title"
:
"3 Recommended Client Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"94"
,
"title"
:
"File Metadata"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-03-09"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/94.html"
,
"prev"
:
"92"
,
"next"
:
"96"
,
"summary"
:
"NIP-94: file metadata events. Kind 1063 describes a shared file with its URL, MIME type, hashes, and preview data so relays and clients can index files. Complete manual page."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Kind 1063 Event"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Tag Reference"
}
,
{
"anchor"
:
"usecases"
,
"title"
:
"4 Suggested Use Cases"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
1063
]
}
,
{
"nip"
:
"96"
,
"title"
:
"HTTP File Storage Integration"
,
"status"
:
"deprecated"
,
"status_note"
:
"deprecated in favor of [NIP-B7](B7.md)"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2024-01-08"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/96.html"
,
"prev"
:
"94"
,
"next"
:
"98"
,
"summary"
:
"NIP-96: a deprecated REST API for HTTP file storage servers. Discovery document, upload, download, deletion, listing, and media transformations. Replaced by NIP-B7."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Server Adaptation: the Discovery Document"
}
,
{
"anchor"
:
"relay-hints"
,
"title"
:
"3 Relay Hints"
}
,
{
"anchor"
:
"auth"
,
"title"
:
"4 Auth"
}
,
{
"anchor"
:
"upload"
,
"title"
:
"5 Upload"
}
,
{
"anchor"
:
"processing"
,
"title"
:
"6 Delayed Processing"
}
,
{
"anchor"
:
"download"
,
"title"
:
"7 Download"
}
,
{
"anchor"
:
"deletion"
,
"title"
:
"8 Deletion and Listing"
}
,
{
"anchor"
:
"server-list"
,
"title"
:
"9 Selecting a Server"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
10096
]
}
,
{
"nip"
:
"98"
,
"title"
:
"HTTP Auth"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-04-24"
,
"updated"
:
"2023-12-08"
,
"url"
:
"nips/98.html"
,
"prev"
:
"96"
,
"next"
:
"99"
,
"summary"
:
"NIP-98: HTTP Auth. Authorize HTTP requests with a signed kind 27235 event carried in the Authorization header. Complete manual page."
,
"category"
:
"Auth"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Auth Event"
}
,
{
"anchor"
:
"validation"
,
"title"
:
"3 Server Validation"
}
,
{
"anchor"
:
"flow"
,
"title"
:
"4 Request Flow"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
27235
]
}
,
{
"nip"
:
"99"
,
"title"
:
"Classified Listings"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2023-07-18"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/99.html"
,
"prev"
:
"98"
,
"next"
:
"A0"
,
"summary"
:
"NIP-99: classified listings on Nostr. Kind 30402 addressable events for goods, services, and offers, with structured metadata tags. Complete manual page."
,
"category"
:
"Commerce"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Listing Events"
}
,
{
"anchor"
:
"metadata"
,
"title"
:
"3 Metadata Tags"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"4 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"5 Version History"
}
]
,
"kinds"
:
[
30402
,
30403
]
}
,
{
"nip"
:
"A0"
,
"title"
:
"Voice Messages"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
]
,
"created"
:
"2025-07-23"
,
"updated"
:
"2025-07-27"
,
"url"
:
"nips/a0.html"
,
"prev"
:
"99"
,
"next"
:
"A3"
,
"summary"
:
"NIP-A0: short voice messages on Nostr. Kind 1222 root audio posts, kind 1244 audio replies, and imeta waveform previews. Complete manual page."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Root Voice Messages: Kind 1222"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
1222
,
1244
]
}
,
{
"nip"
:
"A3"
,
"title"
:
"payto: Payment Targets"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2026-08-26"
,
"updated"
:
"2026-08-27"
,
"url"
:
"nips/a3.html"
,
"prev"
:
"A0"
,
"next"
:
"A4"
,
"summary"
:
"NIP-A3: payto payment targets. How a user declares payment addresses for any network with payto tags in a kind 10133 event. Complete manual page."
,
"category"
:
"Payments"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The payto Tag"
}
,
{
"anchor"
:
"kind"
,
"title"
:
"3 The Payment List Event - Kind 10133"
}
,
{
"anchor"
:
"render"
,
"title"
:
"4 Rendering Payment Links"
}
,
{
"anchor"
:
"types"
,
"title"
:
"5 Registered Payment Types"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
10133
]
}
,
{
"nip"
:
"A4"
,
"title"
:
"Public Messages"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2025-12-18"
,
"updated"
:
"2026-06-13"
,
"url"
:
"nips/a4.html"
,
"prev"
:
"A3"
,
"next"
:
"B0"
,
"summary"
:
"NIP-A4: kind 24 public messages. Plaintext notes addressed to one or more users, delivered to their inbox relays, with no threads and no privacy. Complete manual page."
,
"category"
:
"Messaging"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Kind 24 Event"
}
,
{
"anchor"
:
"delivery"
,
"title"
:
"3 Delivery and Display"
}
,
{
"anchor"
:
"advanced"
,
"title"
:
"4 Advanced Support"
}
,
{
"anchor"
:
"warnings"
,
"title"
:
"5 Warnings"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
24
]
}
,
{
"nip"
:
"B0"
,
"title"
:
"Web Bookmarking"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2025-04-24"
,
"updated"
:
"2026-07-31"
,
"url"
:
"nips/b0.html"
,
"prev"
:
"A4"
,
"next"
:
"B7"
,
"summary"
:
"NIP-B0: editable web bookmarks as kind 39701 events. URI-based d tags, metadata tags, and NIP-22 comments. Complete manual page."
,
"category"
:
"Web Content"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Bookmark Event"
}
,
{
"anchor"
:
"dtag"
,
"title"
:
"3 The d Tag: One URI per Bookmark"
}
,
{
"anchor"
:
"metadata"
,
"title"
:
"4 Metadata Tags"
}
,
{
"anchor"
:
"comments"
,
"title"
:
"5 Replies and Comments"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"6 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"7 Version History"
}
]
,
"kinds"
:
[
39701
]
}
,
{
"nip"
:
"B7"
,
"title"
:
"Blossom media"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2025-04-24"
,
"updated"
:
"2025-04-24"
,
"url"
:
"nips/b7.html"
,
"prev"
:
"B0"
,
"next"
:
"BE"
,
"summary"
:
"NIP-B7: how Nostr clients use Blossom servers for media. The kind 10063 server list, sha256-addressed URLs, and the broken-link recovery procedure."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Server List: kind 10063"
}
,
{
"anchor"
:
"recovery"
,
"title"
:
"3 Recovering a Broken Media URL"
}
,
{
"anchor"
:
"complex"
,
"title"
:
"4 More Complex Interactions"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
3
,
10063
]
}
,
{
"nip"
:
"BE"
,
"title"
:
"Nostr BLE Communications Protocol"
,
"status"
:
"deprecated"
,
"status_note"
:
"only implemented once and unclear whether it works, requires review"
,
"tags"
:
[
"draft"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2025-11-11"
,
"updated"
:
"2026-05-31"
,
"url"
:
"nips/be.html"
,
"prev"
:
"B7"
,
"next"
:
"C0"
,
"summary"
:
"NIP-BE: Nostr over Bluetooth Low Energy. GATT service, role assignment, DEFLATE batches, and half-duplex synchronization. Deprecated. Complete manual page."
,
"category"
:
"Transport"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Device Advertisement"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
]
}
,
{
"nip"
:
"C0"
,
"title"
:
"Code Snippets"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2025-03-29"
,
"updated"
:
"2025-12-30"
,
"url"
:
"nips/c0.html"
,
"prev"
:
"BE"
,
"next"
:
"C7"
,
"summary"
:
"NIP-C0: code snippet events. Kind 1337 with metadata tags for language, filename, license, runtime, dependencies, and source repository. Complete manual page."
,
"category"
:
"Developer Tools"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Snippet Event: Kind 1337"
}
,
{
"anchor"
:
"tags"
,
"title"
:
"3 Optional Tags"
}
,
{
"anchor"
:
"behavior"
,
"title"
:
"4 Client Behavior"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
1337
]
}
,
{
"nip"
:
"C7"
,
"title"
:
"Chats"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2024-11-21"
,
"updated"
:
"2026-05-28"
,
"url"
:
"nips/c7.html"
,
"prev"
:
"C0"
,
"next"
:
"CC"
,
"summary"
:
"NIP-C7: chat messages as kind 9 events. Replies with the q tag, quoting other content, and the strict kind-9 chat view rule. Complete manual page."
,
"category"
:
"Messaging"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 The Chat Message"
}
,
{
"anchor"
:
"replies"
,
"title"
:
"3 Replies"
}
,
{
"anchor"
:
"views"
,
"title"
:
"4 Chat Views and Quoting"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"5 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"6 Version History"
}
]
,
"kinds"
:
[
9
]
}
,
{
"nip"
:
"CC"
,
"title"
:
"Geocaching Events"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2026-05-28"
,
"updated"
:
"2026-06-11"
,
"url"
:
"nips/cc.html"
,
"prev"
:
"C7"
,
"next"
:
"EE"
,
"summary"
:
"NIP-CC: geocaching on Nostr. Cache listings, found logs, comment logs, cryptographic verification, type modifiers, and curation lists. Complete manual page."
,
"category"
:
"Recreation"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Geocache Listing \u2014 Kind 37516"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
1111
,
7516
,
7517
,
37516
,
37517
]
}
,
{
"nip"
:
"EE"
,
"title"
:
"E2EE Messaging using the Messaging Layer Security (MLS) Protocol"
,
"status"
:
"deprecated"
,
"status_note"
:
"superseded by the [Marmot Protocol](https://github.com/marmot-protocol/marmot)"
,
"tags"
:
[
"final"
,
"unrecommended"
,
"optional"
]
,
"created"
:
"2025-08-27"
,
"updated"
:
"2025-12-11"
,
"url"
:
"nips/ee.html"
,
"prev"
:
"CC"
,
"next"
:
"F4"
,
"summary"
:
"NIP-EE: end-to-end encrypted direct and group messaging over Nostr with the MLS protocol. KeyPackages, Welcome events, Group events, and security rules. Deprecated in favor of the Marmot Protocol."
,
"category"
:
"Encryption"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Core MLS Concepts"
}
,
{
"anchor"
:
"groups"
,
"title"
:
"3 Creating Groups"
}
,
{
"anchor"
:
"credentials"
,
"title"
:
"4 MLS Credentials"
}
,
{
"anchor"
:
"groupdata"
,
"title"
:
"5 Nostr Group Data Extension"
}
,
{
"anchor"
:
"keypackage"
,
"title"
:
"6 KeyPackage Event (kind 443) and Signing Keys"
}
,
{
"anchor"
:
"welcome"
,
"title"
:
"7 Welcome Event (kind 444)"
}
,
{
"anchor"
:
"groupevents"
,
"title"
:
"8 Group Events (kind 445)"
}
,
{
"anchor"
:
"security"
,
"title"
:
"9 Security Considerations"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"10 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"11 Version History"
}
]
,
"kinds"
:
[
443
,
444
,
445
,
10051
]
}
,
{
"nip"
:
"F4"
,
"title"
:
"Podcasts"
,
"status"
:
"active"
,
"status_note"
:
null
,
"tags"
:
[
"draft"
,
"optional"
]
,
"created"
:
"2026-05-28"
,
"updated"
:
"2026-05-28"
,
"url"
:
"nips/f4.html"
,
"prev"
:
"EE"
,
"next"
:
null
,
"summary"
:
"NIP-F4: podcasts on Nostr. One keypair per show, kind 10154 metadata, kind 54 episodes, and kind 10064 authorship claims. Complete manual page."
,
"category"
:
"Media"
,
"sections"
:
[
{
"anchor"
:
"overview"
,
"title"
:
"1 Overview"
}
,
{
"anchor"
:
"spec"
,
"title"
:
"2 Concept: One Keypair per Podcast"
}
,
{
"anchor"
:
"metadata"
,
"title"
:
"3 Podcast Metadata \u2014 Kind 10154"
}
,
{
"anchor"
:
"authorship"
,
"title"
:
"4 Authored Podcasts \u2014 Kind 10064"
}
,
{
"anchor"
:
"episodes"
,
"title"
:
"5 Podcast Episodes \u2014 Kind 54"
}
,
{
"anchor"
:
"favorites"
,
"title"
:
"6 Favorite Podcasts \u2014 Kind 10054"
}
,
{
"anchor"
:
"examples"
,
"title"
:
"7 Worked Example"
}
,
{
"anchor"
:
"history"
,
"title"
:
"8 Version History"
}
]
,
"kinds"
:
[
51
,
54
,
10054
,
10064
,
10154
]
}
]