NIP-29 Decentralized Group Chat

Own your communities

Nostrord is a NIP-29 client for decentralized group chat on Nostr. Create censorship-resistant communities on any relay with admin roles, moderation, and access control built in. Your account is a cryptographic key you own, not a username on a server.

Nostrord - NIP-29 group chat client interface showing groups, messages and relay management
0
Central Servers
100%
Open Source
0
Tracking
Relays Supported

Why choose a decentralized group chat?

A focused NIP-29 client built for communities, not timelines

Censorship Resistant

No company can ban your community or delete your messages. Groups live on independent relays you choose, and you can always move to another one. Your voice, your rules.

Instant Account

Generate a key and start chatting in seconds. No email, no phone number, no verification. Your account is a cryptographic key, not a form to fill.

Interoperable

Your groups and messages are standard Nostr events, visible in any NIP-29 client. Use Nostrord today, switch to Flotilla, 0xChat, or Chachi tomorrow. Your data follows you, not the app.

Everything a censorship-resistant group chat needs

Relay-enforced moderation, cryptographic identity, and open source code

Built on Nostr Protocol

Messages are cryptographically signed events propagated through a network of relays. No central point of failure, no company to trust, no data to harvest.

NIP-29 NIP-01 NIP-07 NIP-09 NIP-11 NIP-19 NIP-27 NIP-42 NIP-44 NIP-46 NIP-57 NIP-65 NIP-98

Your Keys, Your Account

A Nostr account is a cryptographic key you control. Your profile and messages live on relays, but your identity is yours alone. No relay can revoke it or impersonate you. Generate a new key to sign up, or sign in with an existing account via browser extension, remote signer, or by pasting your key directly.

{
  "pubkey": "a1b2c3...",
  "kind": 0,
  "content": "{"name":"you","about":"..."}",
  "sig": "..."
}

NIP-29 Groups

Create groups, send invite codes, review join requests, promote or remove members, and edit group metadata. As an admin, you control roles, access, and visibility on the relay you choose.

Remote Signer

Sign in with a NIP-46 bunker via URL or QR code. Your private keys stay on a dedicated signing device and never touch the app. Full support for Nostr Connect.

Rich Messaging

Replies, @mentions, emoji reactions, and media uploads. All sent as cryptographically signed Nostr events.

Multiplatform

Built with Kotlin Multiplatform (KMP) and Compose. Runs in any modern browser, with native apps available for Android, Windows, macOS, and Linux. iOS in development.

Notifications & Unread

Per-group unread state across sessions, with focus-aware muting for the conversation you're reading. Browser notifications and tab-title badges on web.

Available Everywhere

Web, Android, Windows, macOS and Linux available now. iOS in development.

Built With

Kotlin WebAssembly
Compose for Web Declarative UI
Ktor WebSocket & HTTP
Nostr Protocol Decentralized identity
Compatible NIP-29 Relays
wss://groups.fiatjaf.com wss://relay.groups.nip29.com wss://groups.0xchat.com wss://pyramid.fiatjaf.com + any NIP-29 relay
Supported by OpenSats Open-source grant recipient

Frequently Asked Questions

What is NIP-29?

NIP-29 is a Nostr specification for relay-managed groups. Each group lives on a relay and has a unique ID. The relay enforces membership, roles, and moderation. Admins can remove members or messages, and the relay rejects unauthorized events. Unlike Discord servers, no single company owns the infrastructure.

How is this different from Discord?

Discord is centralized: one company controls your data and can ban you at any time. Nostrord uses Nostr: your account is a key you own, messages are signed and propagated through independent relays, and no single entity can censor or deplatform you.

How do I create an account?

Your Nostr account is a cryptographic key you control. To sign up, generate a new key directly in the app. No email, no phone, no verification. Already have a Nostr account? Sign in with a browser extension (NIP-07), a remote signer (NIP-46), or paste your key directly.

Where are my keys stored?

Your keys stay on your device, but the level of protection varies by platform. Android uses the hardware-backed system Keystore (AES-256-GCM). Desktop tries the OS keychain first (Credential Manager on Windows, Keychain Access on macOS, libsecret or kwallet on Linux) and falls back to a passphrase you set if the keychain is not available; either way, no raw key is stored next to the ciphertext. Web stores them in plain localStorage with no additional encryption. On web we strongly recommend a NIP-46 remote signer (bunker) or a NIP-07 browser extension; with NIP-46 your key stays on a separate device and the app only ever sees signed events.

What relays can I use?

Any relay that supports NIP-29. Nostrord comes pre-configured with popular options like groups.fiatjaf.com, groups.0xchat.com, and relay.groups.nip29.com. You can add, remove, or self-host any NIP-29 relay at any time. Your groups follow the relay, not the app.

Is Nostrord open source?

Yes, fully open source. You can audit the code, build it yourself, or contribute on GitHub. No hidden telemetry, no analytics, no tracking.

Why Kotlin and WebAssembly?

Kotlin Multiplatform (KMP) lets us share business logic across web, Android, iOS, and desktop from a single codebase. For the web, Kotlin compiles to WebAssembly, delivering near-native performance in the browser with Compose's declarative UI, no JavaScript overhead, no web view hacks.

Can I use Nostrord with other Nostr clients?

Yes. Since Nostrord uses standard Nostr events (NIP-29), your groups and messages are visible in any client that supports the same NIPs, like Flotilla, Chachi, or 0xChat.

Join the community

Nostrord is in active development. Join the conversation, report bugs, or just say hello.

Your groups. Your rules.

Create a Nostr account, pick a relay, and start building communities that no one can take from you. Open source, decentralized, sovereign.

Contributions welcome: open issues, PRs, and feedback on GitHub.