Nostrdb RS is an open-source Rust library for storing and searching Nostr events, built for developers who are creating Nostr clients, relays or other tools. It is not an end-user app with a window to open and click through. Instead, it gives your code a fast local database for the events that make up the Nostr network.
The library is backed by LMDB, a compact embedded key-value store, and its code is hosted on GitHub under the damus-io organization. The latest release is v0.9.0, and the repository received a code update in September 2026, so the project is active. Windows support is listed as likely: the code is set up to build for Windows, but confirm this on the releases page before you start a project. The library is free to use.
What Is a Nostr Event Database?
Nostr is a protocol in which users publish signed messages called events. These events are sent to relays and fetched by clients, which display them as feeds, threads and profiles.
A client that wants to show a feed, search older posts or keep a history has to store these events somewhere. Fetching everything from a relay each time the app opens is slow and wasteful. A local store solves that problem, and a dedicated event database is the piece that handles it.
Who Should Use Nostrdb RS?
Developers building Nostr clients, relay software, bots or analytics tools are the main audience. For example, a desktop client might cache the last few thousand notes so that the feed opens instantly, even when the network is slow.
Another scenario is a bot that indexes posts by hashtag for later search. If you only want to read or post on Nostr, a finished client such as Gossip or Amethyst is a better starting point. This library is meant for building the layer underneath those apps.
How LMDB Storage Affects Performance
LMDB maps the database file into memory, so reads can be served directly from the file cache instead of being copied through extra layers. It works with transactions, and a common design point is that one write transaction runs at a time while many readers can proceed in parallel.
For applications, this means read-heavy work such as feeds and search tends to be efficient, while bursts of writes should be batched into fewer transactions. Test with data volumes that resemble your real workload before drawing conclusions about speed.
Key features
Fast embedded storage
Written in Rust
Open source and free
How to install Nostrdb RS on Windows
- 1
Get the source from the official repository
Open the project at github.com/damus-io/nostrdb-rs and check the Releases page for the current version. The latest release is v0.9.0. Download only from the official website or the project's GitHub repository, not from mirrors or file-sharing sites.
- 2
Verify the download
If the release lists a SHA-256 checksum or a signature, compare it with your downloaded archive before you use it. On Windows, PowerShell's Get-FileHash command can calculate the hash. A mismatch means the file should not be used.
- 3
Install the Rust toolchain
Because the library is written in Rust, you need the Rust toolchain, installed through rustup, to build it on Windows. This is a build-time requirement for developers rather than a separate end-user program.
-
Add the library to your project
In your project's Cargo.toml file, add the crate from this repository as a dependency, then run cargo build. If the build fails on Windows, search the issue tracker on GitHub before changing your code.
How to use Nostrdb RS
Nostrdb RS is used from code rather than from a menu, so the workflow is a short setup followed by normal Rust development. The steps below assume you already have a Rust project in mind.
- Create or open a Rust project on Windows and confirm that the toolchain builds an empty program.
- Add the Nostrdb RS dependency, pointing to the version you verified on the releases page.
- Open a database in a dedicated folder, since LMDB stores its files there.
- Write incoming Nostr events to the database inside write transactions.
- Query stored events by the fields your application needs, such as author or event kind.
- Run your tests and a small benchmark on realistic data before relying on the setup in production.
Pros & cons
- Fast local storage for Nostr events, built on LMDB
- Written in Rust, with the memory-safety guarantees that language provides
- Free and open source, with source code available on GitHub
- No separate database server to run for simple setups
- It is a developer library, not an end-user app with a graphical interface
- Windows support is listed as likely, so test the build before relying on it
- A working Rust toolchain is needed to build and integrate it
- Documentation for end users is limited because the audience is developers
Is Nostrdb RS safe?
Nostrdb RS is a library rather than a wallet or miner, so the main risks come from the code you bring into your project. Get the source only from the official GitHub repository or its Releases page, and download only from the official website, never from copies offered by third parties. Verify the SHA-256 checksum or signature whenever one is published. Build with the current release, v0.9.0, and check the latest version on the official website before you start. Nostr events are public by design, so avoid storing private keys or other secrets in the same database as public events unless your application encrypts them.
- Official source only. Download from github.com/damus-io/nostrdb-rs. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Nostrdb RS sits in a different place from most entries in this catalog. Gossip is a desktop Nostr client written in Rust, so it is a finished application you run every day. NAK is a command-line tool for working with Nostr events from a terminal, which makes it handy for testing and scripting. Nostr Commander RS offers a CLI-based client for everyday posting.
Nostr VPN is a Rust workspace for a mesh VPN built on Nostr signaling, which shows how the protocol can support networking tools. Nostrdb RS is the storage layer that projects like these can be built upon. Choose it when you need to write code, not when you want a ready-made app.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- v0.9.0
- Last update
- 7 Sept 2026
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/damus-io/nostrdb-rs
Frequently asked questions
Yes. Nostrdb RS is free and open source, and its source code is published on GitHub. There is no fee for the library itself. Your costs will come from the development work and any hosting you choose for your own applications, not from the library.
It is safe when you get the files from the project's GitHub page and check them before use. Verify the SHA-256 checksum or signature when one is published, and avoid copies from unofficial sites. Review the code of any dependency before shipping it in a product that handles user data.
Windows support is listed as likely, which means the project builds for Windows. Check the releases page for the version you plan to use and test the build on your own machine. Because the library is written in Rust, you will need the Rust toolchain to compile it.
No. Nostrdb RS is a database library for developers, not an app for reading or posting notes. If you want an interface for everyday use, look at clients such as Gossip. Nostrdb RS is useful underneath an app that needs fast local storage of Nostr events.
Start by adding the library to a Rust project and opening a database in a folder of your choice. Then store events in write transactions and query them as your application needs. The how-to section above lists the steps in order.
The latest release is v0.9.0, and the last code update was made on September 7, 2026. Check the release notes and open issues on GitHub before you depend on a specific version. Recent activity is a useful signal, but it does not replace your own testing.
The right alternative depends on whether you need a library or an app. For a finished Nostr client written in Rust, Gossip is one candidate, while NAK suits terminal workflows. Developers should compare storage options against their own data volumes and performance needs before switching.
Verdict
Nostrdb RS is a focused tool for one job: fast local storage of Nostr events, built with Rust and LMDB. It suits developers creating Nostr clients, relays, bots or analytics tools who want an embedded database instead of a separate server. It is a poor fit for anyone looking for a program to open and use day to day. If you are building on Nostr, try it in a small prototype first, test the Windows build, and keep an eye on new releases.