Nostr Relay Implementations — Self-Hosted Relay Software Compared
Compare every major open-source Nostr relay implementation — the server software you self-host — by language, storage backend, license and category. Free CSV/JSON + REST under CC BY 4.0.
Quick answer
A Nostr relay is the server software that stores events and serves them to clients. Because the protocol is open, dozens of independent implementations exist in many languages, and anyone can self-host one — running your own relay is one more layer of decentralization. This reference compares 23 open-source relay implementations and frameworks by language, storage backend and license, from high-throughput relays like strfry (C++/LMDB) and rnostr (Rust/LMDB) to personal sovereign relays like HAVEN and Chorus and the frameworks (khatru, relayer) you build your own on.
strfry and rnostr lead on raw throughput; khatru and relayer are the Go frameworks most custom relays are built on; HAVEN, Chorus, Citrine and Servus target personal, self-sovereign use. All are open source — pick by language and storage backend you can operate.
Download CSV Download JSON REST API →
| Implementation | Language | Storage | License | Category | What it is |
|---|---|---|---|---|---|
| strfry | C++ | LMDB | GPL-3.0 | Nostr Relay Implementation | High-performance self-contained Nostr relay written in C++ that stores events in LMDB and supports efficient set-reconciliation syncing of events between relays using Merkle trees. |
| nostr-rs-relay | Rust | SQLite (experimental PostgreSQL) | MIT | Nostr Relay Implementation | Minimalistic Nostr relay written in Rust that persists data in SQLite, with experimental PostgreSQL support. |
| khatru | Go | Pluggable (via eventstore module, e.g. SQLite) | Unlicense | Nostr Relay Framework | Go framework for building custom Nostr relays with pluggable storage, authentication, event-filtering policies and HTTP endpoints. |
| nostream | TypeScript | PostgreSQL (Redis for caching) | MIT | Nostr Relay Implementation | Nostr relay written in TypeScript backed by PostgreSQL (with Redis), supporting many NIPs including encrypted messaging, proof-of-work and payments (renamed from nostr-ts-relay). |
| relayer | Go | Pluggable (reference examples include PostgreSQL) | Unlicense | Nostr Relay Framework | Go framework for building custom Nostr relay servers, including a reference relay implementation in its examples folder. |
| rnostr | Rust | LMDB | MIT | Nostr Relay Implementation | High-performance, scalable Nostr relay written in Rust using LMDB for event storage (architecture inspired by strfry), with configurable extensions for authentication, rate limiting and full-text search. |
| HAVEN | Go | — | MIT | Nostr Relay Implementation | Personal sovereign relay written in Go that combines four relays in one (private, chat, inbox, outbox) plus a built-in Blossom media server, with web-of-trust protection. |
| Chorus | Rust | — | MIT | Nostr Relay Implementation | Nostr relay written in Rust that can run as a personal relay, open relay or Blossom server, with features such as IP banning, rate limiting and moderation tools. |
| Citrine | Kotlin | Local on-device database | MIT | Nostr Relay Implementation | Android application written in Kotlin that runs a Nostr relay on the phone, letting local clients send and receive events with import/export of stored data. |
| nostr-relay-nestjs | TypeScript | PostgreSQL | MIT | Nostr Relay Implementation | High-performance Nostr relay built with the NestJS framework and PostgreSQL, powered by the nostr-relay library. |
| grain | Go | nostrdb (LMDB-based) | MIT | Nostr Relay Implementation | Configurable multipurpose Nostr relay written in Go (Go Relay Architecture for Implementing Nostr) with content filtering and hot-reload configuration. |
| netstr | C# | PostgreSQL | MIT | Nostr Relay Implementation | Nostr relay written in C# backed by PostgreSQL, with high test coverage and features such as proof-of-work support and search. |
| NNostr | C# | PostgreSQL | MIT | Nostr Relay Implementation | C# implementation of both a Nostr relay server and client library, with Docker deployment and optional payment features via BTCPay Server. |
| WoT Relay | Go | — | MIT | Nostr Relay Implementation | Nostr relay written in Go (built on the khatru framework) that archives notes from users in your web of trust — people you follow and the people they follow. |
| sw2 | Go | — | MIT | Nostr Relay Implementation | Nostr relay written in Go that displays and accepts notes only from whitelisted pubkeys, intended for private use, small communities, knowledge bases or dropboxes. |
| Servus | Rust | Plain-text files (database-free) | GPL-3.0 | Nostr Relay Implementation | Single-executable, database-free CMS/blogging engine written in Rust that also acts as a personal Nostr relay, Blossom server and NIP-05 identity provider. |
| Immortal | Rust | — | MIT | Nostr Relay Implementation | High-performance, configurable Nostr relay written in Rust designed for scale and high-load (paid or community relays). |
| Shugur | Go | CockroachDB | MIT | Nostr Relay Implementation | Production-grade Nostr relay written in Go that uses CockroachDB for distributed, high-availability storage. |
| Alienos | Go | — | MIT | Nostr Relay Implementation | Plugin-able, manageable (NIP-86) lightweight self-hosting stack written in Go combining a Nostr relay, Blossom media server and NIP-05 identity, with S3 backups and Tor support. |
| knostr | Kotlin | — | MIT | Nostr Relay Implementation | Nostr relay implemented in Kotlin using the Micronaut framework, supporting multiple NIPs. |
| relay29 | Go | — | MIT | Nostr Relay Framework | Go library for creating NIP-29 (simple groups) relays, handling group state and moderation; works with khatru, strfry and relayer via wrappers. |
| Bostr | JavaScript (Node.js) | — | — | Nostr Relay Aggregator/Proxy | Nostr bouncer / relay aggregator proxy written in Node.js, as listed in the awesome-nostr relays directory. |
| Nosflare | JavaScript | Cloudflare KV | — | Nostr Relay Implementation | Serverless Nostr relay purpose-built for Cloudflare Workers and the Cloudflare KV store, as listed in the awesome-nostr relays directory. |
Source: each project’s own GitHub repository, cross-referenced against the awesome-nostr list (June 2026). See also the Nostr clients comparison, the NIPs reference, the event kinds reference, the relay glossary entry, and the sovereign self-hosting catalog.
Related products, repair, and setup paths
- Bitcoiner sovereignty hub
- the plebs sovereign stack
- Nostr for Bitcoiners
- run your own Nostr relay
- getting started with Meshtastic
- Bitcoin over Meshtastic mesh networks
- open-source hardware tools directory
- off-grid Bitcoin mining
Last reviewed June 19, 2026.
