Relay Implementations

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.

Other implementations

  • 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.