This is a list of all known implementations of the Nostr relay spec. You only need this if you're planning on running a relay yourself.
Relays are (so far) application agnostic. You can run your own or use any or all of the public instances.
Most used in the wild
- nostr-rs-relay, a minimalistic, optimized relay written in Rust that uses SQLite.
- nostream, A Nostr relay written in Typescript backed by PostgreSQL and Redis, optimized for load-balancing and fault-tolerance.
- strfry, a very performant relay written in C++, uses LMDB for data storage and comes with a built-in set-reconciliation mechanism for syncing.
- saltivka, a friendly relay with a cozy administrator interface.
- LNbits Relay, a relay you can launch in your own LNBits server with a click, wrapper over nostr_relay.
- me.untethr.nostr-relay, a very strict and performant relay written in Clojure, uses SQLite.
- Relayer Basic, a simple reference relay backed by Postgres, written as a demo on top of the Relayer Go framework for building custom relays.
- NNostr, a relay written in C#.
- søstr, a Nostr relay designed for a single writer pubkey.
- Minds Nostr Relay, a relay for Minds, an open-source social network.
- nostr_relay, a Nostr relay written in python, backed by SQLite.
- NostrPostr Relay, a relay written in Kotlin, supports both SQLite and PostgreSQL.
- knostr, A Nostr relay implemented in Kotlin with support for Postgres and metrics.