A curated list of apps, libraries, and tools built on the Marmot Protocol — MLS-based end-to-end encrypted group messaging over Nostr.
- marmot — The Marmot Protocol specification. MLS + Nostr for efficient, decentralized, end-to-end encrypted group messaging.
- whitenoise — White Noise Flutter app. Private, decentralized messenger built on Nostr and MLS. No phone. No email. No compromise.
- whitenoise-cli — Command-line interface for White Noise, part of the whitenoise-rs workspace.
- wn-tui — Terminal UI client for White Noise.
- agentnoise — Native desktop helper for using White Noise as the control surface for local Codex and Claude sessions. Rust-first, no Node/npm/bun in the trusted bridge path.
- pika — Marmot-based encrypted messaging app.
- tubestr-v2 — Private family video sharing for parents and kids, built on Nostr and Marmot.
- Vector — Peer-to-peer multiplayer game using Nostr for discovery, Marmot for encryption, and Iroh for QUIC transport.
- Scramble — Nostr-based encrypted messenger with MLS group encryption.
- openclaw-marmot — OpenClaw channel plugin for Marmot Protocol. End-to-end encrypted Nostr messaging via MLS.
- amethyst — Nostr client for Android with embedded MDK, aligned with MIP-01 and MIP-05.
- amy — CLI for Marmot/MLS group operations, driven by the Amethyst implementation.
- mdk — Marmot Development Kit. The core SDK for building Marmot-compatible apps.
- whitenoise-rs — The Rust core library powering White Noise.
- mdk-kotlin — Kotlin bindings for the MDK.
- mdk-python — Python bindings for the MDK.
- mdk-ruby — Ruby bindings for the MDK.
- mdk-swift — Swift bindings for the MDK.
- mdk-web — Web/WASM bindings for the MDK.
- marmot-ts — TypeScript implementation of the Marmot Protocol.
- quartz — Nostr library for Kotlin Multiplatform, used by Amethyst. Includes an embedded MDK implementation aligned with MIP-01 and MIP-05.
- marmot-cs — C# MDK implementation. Secure group messaging with MLS (RFC 9420) and Nostr.
- transponder — MIP-05 Marmot notifications server, implemented in Rust.
- nostr-doctor — Diagnoses issues with Nostr users and pubkeys.
- botburrow — Bot infrastructure for Marmot.
- propose — Test harness for MLS proposal and commit scenarios.
- burrow — Marmot Protocol CLI for encrypted messaging, targeting AI agents and humans.
- marmot-cli — Rust CLI for E2E encrypted messaging over Nostr via Marmot. Compatible with White Noise.
- marmot-server — Local Docker server with a REST API for the Marmot protocol.
- dockerized-marmot-cli — Dockerized marmot-cli for on-demand E2E encrypted Nostr DMs.
- burrow — Marmot Protocol CLI for E2E encrypted messaging, built for AI agents and humans.
- marmot-cli — Rust CLI for E2E encrypted messaging over Nostr using Marmot. Compatible with White Noise.
- marmot-server — Local Docker server with a REST API for Marmot Protocol group messaging.
- dockerized-marmot-cli — Dockerized marmot-cli for on-demand E2E encrypted Nostr DMs.
- openmls-sled-storage — OpenMLS storage traits implemented with the Sled embedded database.
- openmls-redb-storage — OpenMLS storage traits implemented with Redb.
- openmls-lmdb-storage — OpenMLS storage traits implemented with LMDB.
- marmots-web-chat — Web chat demo using marmoTS.
- mdk-python-example — Example usage of the MDK Python bindings.
- mdk-kotlin-example — Example usage of the MDK Kotlin bindings.
- mdk-ruby-example — Example usage of the MDK Ruby bindings.
Pull requests welcome. Add your Marmot-compatible project by opening a PR — include the repo link and a one-line description.
Make sure the project:
- Is publicly accessible
- Uses the Marmot Protocol (or directly supports it)
- Is actively maintained or clearly labeled otherwise