The project is split up into several crates:
- nostr: Rust implementation of Nostr protocol
- Signers
- nostr-browser-signer: Nostr Browser signer implementation (NIP-07)
- nostr-browser-signer-proxy: Proxy for using the Nostr Browser signer (NIP-07) in native applications
- nostr-connect: Nostr Connect (NIP-46)
- nostr-database: Events database traits
- nostr-memory: In-memory events database
- nostr-lmdb: LMDB storage backend
- nostr-ndb: nostrdb storage backend
- nostr-sqlite: SQLite storage backend
- nostr-gossip: Gossip traits
- nostr-gossip-memory: In-memory gossip database
- nostr-gossip-sqlite: SQLite storage for gossip
- Remote File Storage implementations:
- nostr-blossom: A library for interacting with the Blossom protocol
- nostr-keyring: Nostr Keyring
- nostr-sdk: A full-featured SDK for building high-performance and reliable nostr applications
- nwc: Nostr Wallet Connect (NWC) client (NIP-47)
The table below lists which NIPs have implementations somewhere in this workspace. Some features are behind crate flags or only available when using a specific crate (e.g., signer integrations).
✅ means “implemented and tested behind the relevant feature flag”, ❌ means “not available anywhere in this repo yet”.
These libraries are in ALPHA state, things that are implemented generally work but the API will change in breaking ways.
Nostr Dev Kit is free and open-source. This means we do not earn any revenue by selling it. Instead, we rely on your financial support. If you actively use any of the libs/software/services, then please donate.
This project is distributed under the MIT software license - see the LICENSE file for details