Background
SNAP currently uses three unregistered Nostr event kinds:
| Kind |
Purpose |
NIP range |
| 31337 |
Agent Card (replaceable) |
30000-39999 (NIP-33) |
| 21339 |
Ephemeral SNAP message |
20000-29999 (NIP-16) |
| 4339 |
Storable SNAP message |
1000-9999 (regular) |
These numbers were chosen to avoid known conflicts, but they are not officially registered with the Nostr community.
Proposal
Submit a NIP (Nostr Implementation Possibility) to register these event kinds, or adopt already-registered kinds if a better fit exists.
Steps
- Survey existing NIPs for overlapping use cases (NIP-89 app handlers, NIP-90 data vending machines)
- Draft a NIP describing SNAP agent discovery and encrypted messaging kinds
- Submit PR to nostr-protocol/nips
- If the community suggests different kind numbers, update the SDK defaults and migration guide
Why this matters
- Prevents future kind collisions as the Nostr ecosystem grows
- Gives SNAP protocol legitimacy in the Nostr community
- Other Nostr clients can recognize and handle SNAP events properly
References
Background
SNAP currently uses three unregistered Nostr event kinds:
These numbers were chosen to avoid known conflicts, but they are not officially registered with the Nostr community.
Proposal
Submit a NIP (Nostr Implementation Possibility) to register these event kinds, or adopt already-registered kinds if a better fit exists.
Steps
Why this matters
References
src/transport/NostrTransport.ts