Clients
Many clients, all in concord.
Built by different people, speaking the same language.
- Open Armada

ArmadaSoapbox
The full Discord-shaped client
- Download Vector

VectorVector Privacy
Privacy-first messenger, natively encrypted
- Get Amethyst

AmethystVitor Pamplona
Communities inside a whole Nostr client
- Open PosterChan

PosterChanverita84
A self-hosted personal cloud on Nostr

Grimoirepurrgrammer
A tiling workspace for Nostr
Open Grimoire
Accordionhzrd149
A lightweight web client
Open Accordion- Open Coinos

CoinosAdam Soltys
Communities inside a Bitcoin wallet
Interoperability
Switch clients. Keep everything.
A community doesn't live inside an app. It lives on relays, as encrypted events in one shared format, and every client above reads the same events. They differ in what they build around a community, not in the community itself.
- One identity
- Sign in to any of them with the same Nostr key.
- Your communities
- Join in one client and the community shows up in the others.
- Invites
- An invite link from any client opens in every other.
- Roles and moderation
- Channels, roles, bans, and pins are the same everywhere you look.
Bridges & bots
Invite help into a community.
These join a community through an invite, like any member, and can do only what their role allows.
Bridges
Connect a Concord channel to a Discord channel or Matrix room, so messages show up on both sides.
Bots
Moderation, answers, music, and lookups.
- SentireVector Privacy · RustA full-time moderator: screens text as it lands, judges media with a vision model you pick, and contains raids.
- ShantyDerek Ross · PythonA 24/7 generative lo-fi radio bot that plays in a channel's call, with a Wavlake and Fountain jukebox.
- price-botJSKitty · RustPer-coin price, charts, and market stats. A compact worked example of the SDK’s command handling.
- Vector LLMVector Privacy · RustAn LLM chatbot with per-channel memory that answers in channels only when mentioned, on any OpenAI-compatible API.
- manabotchad · RustMagic: The Gathering lookups from Scryfall. Write [[card name]] anywhere, or use /card, /price, /ruling.
- GatebotHenky · RustA gatekeeper: newcomers pass a captcha on a web page before they stay, and spammers are kicked.
- concord-qa-bothanshan · PythonAnswers !ask and @mentions with web-grounded replies, as an ordinary member with no staff role.
- Find more on GitWorkshop →Search Nostr-hosted repositories for Concord projects.
Build
Build your own.
Libraries
These handle key derivation, encryption, and relay traffic, so a client or bot doesn't have to implement them itself.
- vector_sdkJSKitty · RustKeys, relays, streams, and encryption handled, so you write handlers instead of cryptography.
- applesauce-concordhzrd149 · TypeScriptCORD-01 to 06 for the applesauce toolkit: protocol helpers, RxJS models, and a reactive client.
- concord-botsCentauriAgent · RustA bot template on vector_sdk: write the handlers, and it runs the connection, routing, and scheduling.
Built on Concord
Applications that use Concord communities for something other than chat.