A mirror for NIPS
Go to file
2023-01-07 21:44:22 -03:00
01.md Minor grammar fixes 2022-12-26 17:19:38 -03:00
02.md finalize some NIPs we will not going to change anymore. 2022-11-22 14:52:34 -03:00
03.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
04.md finalize some NIPs we will not going to change anymore. 2022-11-22 14:52:34 -03:00
05.md NIP05 Improve CORS header check command 2023-01-06 12:18:20 -03:00
06.md migrate nips from main nostr repo. 2022-05-01 07:48:57 -03:00
07.md add blockcore to nip-07 and mark extra methods as optional. 2022-12-18 06:35:30 -03:00
08.md finalize some NIPs we will not going to change anymore. 2022-11-22 14:52:34 -03:00
09.md stronger wording for relay deletion behavior 2022-11-14 14:52:29 -03:00
10.md Update e-tag type for direct reply 2022-12-29 11:00:55 -03:00
11.md Improve Case Consistency 2022-12-16 11:50:59 -03:00
12.md change NIP-12 so only single-letter tags are indexed. 2022-07-10 15:33:07 -03:00
13.md Minor grammar fixes 2022-12-17 22:28:49 -03:00
14.md Nip-14 for subject tag 2022-05-24 07:33:11 -05:00
15.md finalize some NIPs we will not going to change anymore. 2022-11-22 14:52:34 -03:00
16.md Clarify use of kind 1 and kind 1000-10000 2022-12-08 14:33:43 -03:00
18.md NIP18: Reposts (#140) 2023-01-02 16:15:42 -03:00
19.md Update 19.md 2022-12-30 09:05:15 -03:00
20.md Minor grammar fixes 2022-12-17 22:34:29 -03:00
22.md NIP-22: use nip-20; minor updates 2023-01-07 17:53:24 -03:00
25.md 25.md:15: interepreted ==> interpreted 2023-01-01 08:48:29 -03:00
26.md NIP-26: Change example condition to expire at a future date (#157) 2023-01-07 20:12:48 -03:00
28.md NIP-28: Public Chat (#38) 2022-09-10 14:28:08 -03:00
33.md add NIP-33 to README. 2023-01-04 10:26:08 -03:00
36.md NIP-36 - sensitive content / content-warning (#82) 2022-12-01 20:41:15 -03:00
40.md Update 40.md 2022-12-16 12:03:07 +01:00
41.md NIP-41: Key Invalidation. first draft. 2023-01-07 21:44:22 -03:00
README.md NIP-41: Key Invalidation. first draft. 2023-01-07 21:44:22 -03: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
6 Repost 18
7 Reaction 25
13 Key Invalidation 41
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
OK used to notify clients if an EVENT was successuful 20

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 in at least two clients and one relay -- when applicable.
  2. They should make sense.
  3. They should be optional and backwards-compatible: care must be taken such that clients and relays that choose to not implement them do not stop working when interacting with the ones that choose to.
  4. There should be no more than one way of doing the same thing.
  5. Other rules will be made up when necessary.

License

All NIPs are public domain.