Nostr Implementation Possibilities
Go to file
William Casarin b8b5e3aa40 nip25: fix code example
content should not be blank
2022-10-30 08:34:14 -07:00
01.md Update 01.md 2022-10-26 09:54:23 -07:00
02.md update nip-02 to disallow null, only allow strings in tags. 2022-06-09 15:40:13 -03:00
03.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
04.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
05.md sneak filter.limit in nip-01. 2022-05-08 21:34:27 -03:00
06.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
07.md publish NIP-07: window.nostr. 2022-05-06 20:54:45 -03:00
08.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
09.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
10.md separate array elements with , 2022-09-02 18:47:42 -03:00
11.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
12.md change NIP-12 so only single-letter tags are indexed. 2022-07-10 15:33:07 -03:00
13.md Proof of Work 2022-05-06 22:04:57 -03:00
14.md Nip-14 for subject tag 2022-05-24 07:33:11 -05:00
15.md nip15: clarify 2022-05-27 19:43:15 +03:00
16.md nip16: small fix 2022-10-16 20:24:21 +03:00
22.md add Giszmo, add comment in code example 2022-08-14 11:26:39 -04:00
25.md nip25: fix code example 2022-10-30 08:34:14 -07:00
26.md Changes based on feedback 2022-08-24 13:24:50 +01:00
28.md NIP-28: Public Chat (#38) 2022-09-10 14:28:08 -03:00
README.md Update README.md 2022-10-26 09:54:23 -07:00

NIPs

NIPs stand for Nostr Implementation Possibilities. They exist to document what MUST, what SHOULD and what MAY be implemented by Nostr-compatible relay and client software.

Event Kinds

kind description NIP
0 Metadata 1, 5
1 Text 1
2 Recommend Relay 1
3 Contacts 2
4 Encrypted Direct Messages 4
5 Event Deletion 9
7 Reaction 25
40 Channel Creation 28
41 Channel Metadata 28
42 Channel Message 28
43 Channel Hide Message 28
44 Channel Mute User 28
45-49 Public Chat Reserved 28
10000-19999 Replaceable Events Reserved 16
20000-29999 Ephemeral Events Reserved 16

Message types

Client to Relay

type description NIP
EVENT used to publish events 1
REQ used to request events and subscribe to new updates 1
CLOSE used to stop previous subscriptions 1

Relay to Client

type description NIP
EVENT used to send events requested to clients 1
NOTICE used to send human-readable messages to clients 1
EOSE used to notify clients all stored events have been sent 15

Please update these lists when proposing NIPs introducing new event kinds.

When experimenting with kinds, keep in mind the classification introduced by NIP-16.

Criteria for acceptance of NIPs

  1. They should be implemented somewhere at least as a prototype somewhere.
  2. They should make sense.
  3. Other rules will be made up when necessary.

License

All NIPs are public domain.