Skip to content

Nostr Ecosystem

The Nostr ecosystem is built around a simple protocol with many interchangeable parts. Because clients, relays, and tools all speak the same protocol, you can mix and match freely. This page catalogs the major projects in each category.

Clients are the apps people use to interact with the Nostr network. Because the protocol is open, anyone can build one — and users can switch at any time without losing their identity or data.

ClientPlatformsDescription
DamusiOSThe first native iOS Nostr client. Full-featured social experience with zaps, threads, and media.
AmethystAndroidFeature-rich Android client with support for zaps, communities, live streams, and classifieds.
PrimalWeb, iOS, AndroidFast social client with a polished UI, built-in media feed, and premium relay infrastructure.
NostrudelWebLightweight web client focused on performance and clean design.
CoracleWebWeb client with advanced relay management and social graph exploration.
SnortWebFast, feature-complete web client with a familiar social media layout.
FlorisboardAndroidKeyboard app with integrated Nostr signing support.
YakiHonneWebWeb client with a focus on long-form content, articles, and community features.
ClientPlatformsDescription
NostrosAndroidMessaging-focused Android client supporting NIP-04 and NIP-17 DMs.
JumbleWebWeb client focused on group chats and community messaging via NIP-28 channels.
ClientPlatformsDescription
HablaWebBlogging and long-form content platform built on NIP-23.
BlogstackWebLong-form publishing client with Markdown support.

Relays are the servers that store and forward Nostr events. They do not need to talk to each other. Anyone can run one, and clients connect to multiple relays simultaneously for resilience.

RelayLanguageDescription
nostr-rs-relayRustMature, production-ready relay with SQLite storage and configurable policies.
strfryC++High-performance relay optimized for throughput with a write-once data model.
nakGoLightweight relay implementation in Go by fiatjaf.
Nostr Relay (Python)PythonSimple relay implementation useful for learning and prototyping.
KodoRustRelay with PostgreSQL backend and advanced query support.
[søstr](https://git.qvch unstable/sostr)RustMinimal relay focused on simplicity and correctness.

Relay lists (NIP-65) let users advertise which relays they post to and read from. This is critical for discovery — if someone wants to find your events, they need to know which relays to query.

You can discover public relays through:

  • Relay monitor events (NIP-66) — automated relay health monitoring
  • Community-curated lists — such as nostr.watch and relay.nostr.band
  • User relay lists — kind 10002 events published by individual users

Some relays charge sats for posting or subscribing. This can improve signal-to-noise ratio and help fund relay infrastructure. Notable paid relays include:

RelayCost ModelNotes
wss://relay.nostr.band/paid/Per-event or subscriptionHigh-quality index with spam filtering
wss://nos.lol/Optional donationOpen relay with suggested donations
wss://relay.primal.net/FreemiumPrimal’s relay infrastructure

Libraries implement the Nostr protocol so developers do not have to start from scratch. Most languages have at least one mature option.

LibraryLanguageDescription
nostr-toolsTypeScript/JSThe most widely used JS/TS library. Event creation, signing, NIP-01 through NIP-47 and beyond.
nostr-sdkRust, Swift, Kotlin, Python, JSMulti-language SDK backed by a Rust core. High-level API with NIP support.
go-nostrGoFull-featured Go library for building clients, relays, and bots.
nostr-phpPHPPHP library for Nostr event creation and verification.
python-nostrPythonPython library for Nostr event handling and relay communication.
NostrKitSwiftSwift library for iOS/macOS Nostr development.
dnbrDartDart/Flutter library for building cross-platform Nostr clients.
nostrC#C# / .NET library for the Nostr protocol.
ToolDescription
nostr-connectNIP-46 Nostr Connect — sign events from a remote key vault without exposing keys to the client.
AmberAndroid signer app that keeps your nsec private while allowing other apps to request signatures.
nsecBunkerServer-side key management for automated bots and services.
ToolDescription
BlossomBlob storage protocol (NIP-96 compatible) for Nostr media.
nostr-buildPopular media hosting service integrated with most Nostr clients.
void.catFile hosting service with Nostr integration.
ToolDescription
AlbyBrowser extension and wallet with native Nostr support and NIP-47 Wallet Connect.
Mutiny WalletLightning wallet with Nostr integration and Cashu ecash support.
LNbitsSelf-hosted Lightning wallet system with Nostr extensions.
Cashu mintEcash mint implementation for private, Chaumian tokens on Nostr (NIP-60/61).
ToolDescription
nakCommand-line “swiss army knife” for Nostr — generate keys, create events, query relays, and more.
nostr-debugWeb tool for inspecting events, verifying signatures, and debugging relay connections.
nos2xBrowser extension that provides a Nostr keypair to web apps via the window.nostr API.
nostr-sdk CLICLI tools bundled with the Rust Nostr SDK for testing and scripting.

The Nostr protocol makes it straightforward to build automated agents that post, react to events, and interact with users — all using the same event format.

Common patterns include:

  • Zap-triggered actions — bots that respond when they receive a Lightning payment
  • Scheduled posting — automated content publishing using replaceable events
  • Moderation bots — community management via NIP-72 events
  • AI agents — using NIP-90 Data Vending Machines for distributed compute tasks

The Nostr ecosystem grows fast. If you have built a client, relay, library, or tool that you would like listed here, open an issue or pull request on the documentation repository. The only requirement is that your project genuinely implements the Nostr protocol and is actively maintained.