Nostr Implementation Possibilities

Nostr - Notes and Other Stuff Transmitted by Relays, the simplest open protocol that is able to create a censorship-resistant global "social" network once and for all.

It doesn't rely on any trusted central server, hence it is resilient; it is based on cryptographic keys and signatures, so it is tamperproof; it does not rely on P2P techniques, and therefore it works.

The NIPs exist to document what may be implemented by Nostr-compatible relay and client software.

NIPs listed here are not a protocol checklist. Nothing forces any software to implement any NIP. Each app picks the subset relevant to its use case. Don't implement something just because it exists in this repo. Other standards and NIPs may exist outside this repository (e.g. as pull requests) and may already be deployed in the wild -- they should also be considered for implementation.



List

Event Kinds

This table is not exhaustive. For a machine-readable registry of all known event kinds prefer https://github.com/nostr-protocol/registry-of-kinds (or alternative registries following the same YAML schema).

kinddescriptionNIP
0User Metadata01
1Short Text Note10
3Follows02
4Encrypted Direct Messages04
5Event Deletion Request09
6Repost18
7Reaction25
8Badge Award58
9Chat MessageC7
11Thread7D
13Seal59
14Direct Message17
15File Message17
16Generic Repost18
17Reaction to a website25
20Picture68
21Video Event71
22Short-form Portrait Video Event71
24Public MessageA4
30internal referenceNKBIP-03
31external web referenceNKBIP-03
32hardcopy referenceNKBIP-03
33prompt referenceNKBIP-03
40Channel Creation28
41Channel Metadata28
42Channel Message28
43Channel Hide Message28
44Channel Mute User28
54Podcast EpisodeF4
62Request to Vanish62
64Chess (PGN)64
78Application-specific Data78
443KeyPackageMarmot
444Welcome MessageMarmot
445Group EventMarmot
818Merge Requests54
1018Poll Response88
1021Bid15
1022Bid confirmation15
1234Draft Checkpoint37
1040OpenTimestamps03
1059Gift Wrap59
1063File Metadata94
1068Poll88
1111Comment22
1222Voice MessageA0
1244Voice Message CommentA0
1311Live Chat Message53
1337Code SnippetC0
1617Patches34
1618Pull Requests34
1619Pull Request Updates34
1621Issues34
1622Git Replies (deprecated)34
1630-1633Status34
1971Problem Trackernostrocket
1984Reporting56
1985Label32
1987AI Embeddings / Vector listsNKBIP-02
2003Torrent35
2004Torrent Comment35
2022Coinjoin Pooljoinstr
4550Community Post Approval72
7374Reserved Cashu Wallet Tokens60
7375Cashu Wallet Tokens60
7376Cashu Wallet History60
7516Geocache logCC
7517Geocache proof of findCC
8000Add User43
8001Remove User43
9000-9030Group Control Events29
9041Zap Goal75
9321Nutzap61
9734Zap Request57
9735Zap57
9802Highlights84
10000Mute list51
10001Pin list51
10002Relay List Metadata65, 51
10003Bookmark list51
10004Communities list51
10005Public chats list51
10006Blocked relays list51
10007Search relays list51
10008Profile Badges51, 58
10009User groups51, 29
10011External Identities39
10012Favorite relays list51
10013Private event relay list37
10015Interests list51
10019Nutzap Mint Recommendation61
10020Media follows51
10030User emoji list51
10050Relay list to receive DMs51, 17
10051KeyPackage Relays ListMarmot
10054Favorite podcasts list51
10063User server listB7
10064Authored podcasts list51
10096File storage server list96 (deprecated)
10154Podcast MetadataF4
10166Relay Monitor Announcement66
10312Room Presence53
13194Wallet Info47
13534Membership Lists43
5128nsite manifest snapshot5A
15128Root nsite manifest5A
17375Cashu Wallet Event60
22242Client Authentication42
23194Wallet Request47
23195Wallet Response47
24133Nostr Connect46
24242Blobs stored on mediaserversB7
27235HTTP Auth98
28934Join Request43
28935Invite Request43
28936Leave Request43
30000Follow sets51
30002Relay sets51
30003Bookmark sets51
30004Curation sets51
30005Video sets51
30006Picture sets51
30007Kind mute sets51
30008Badge sets51, 58
30009Badge Definition58
30015Interest sets51
30017Create or update a stall15
30018Create or update a product15
30019Marketplace UI/UX15
30020Product sold as an auction15
30023Long-form Content23
30024Draft Long-form Content23
30030Emoji sets51
30040Curated Publication IndexNKBIP-01
30041Curated Publication ContentNKBIP-01
30063Release artifact sets51
30078Application-specific Data78
30166Relay Discovery66
30267App curation sets51
30311Live Event53
30312Interactive Room53
30313Conference Event53
30315User Statuses38
30382User Trusted Assertion85
30383Event Trusted Assertion85
30384Addressable Trusted Assertion85
30402Classified Listing99
30403Draft Classified Listing99
30617Repository announcements34
30618Repository state announcements34
30818Wiki article54
30819Redirects54
31234Draft Event37
31922Date-Based Calendar Event52
31923Time-Based Calendar Event52
31924Calendar52
31925Calendar Event RSVP52
31989Handler recommendation89
31990Handler information89
32267Software Application
34235Addressable Video Event71
34236Addressable Short Video Event71
34550Community Definition72
34128Legacy nsite manifest5A (deprecated)
35128Named nsite manifest5A
38172Cashu Mint Announcement87
38173Fedimint Announcement87
37516Geocache ListingCC
37517Geocache Curation ListCC
38383Peer-to-peer Order events69
39000-9Group metadata events29
39089Starter packs51
39092Media starter packs51
39701Web bookmarksB0

Message types

Client to Relay

typedescriptionNIP
EVENTused to publish events01
REQused to request events and subscribe to new updates01
CLOSEused to stop previous subscriptions01
AUTHused to send authentication events42
COUNTused to request event counts45

Relay to Client

typedescriptionNIP
EOSEused to notify clients all stored events have been sent01
EVENTused to send events requested to clients01
NOTICEused to send human-readable messages to clients01
OKused to notify clients if an EVENT was successful01
CLOSEDused to notify clients that a REQ was ended and why01
AUTHused to send authentication challenges42
COUNTused to send requested event counts to clients45

License

All NIPs are public domain.

Contributors