Cashu

P2P Protocol

A free and open-source Chaumian ecash protocol built for Bitcoin, enabling private, instant, and offline-capable digital payments. The protocol defines an ecash system with two parties — a mint (server that issues and redeems ecash tokens) and a wallet (client that holds bearer tokens). Blind signatures preserve privacy: a mint cannot link token issuance to redemption, providing strong untraceability. Multiple independent wallet and mint implementations exist across Python, TypeScript, Rust, and other languages. Transactions are instant and final. Transfers between mints are routed via the Lightning Network. Protocol specifications are published as NUTs (Notation, Usage, and Terminology). Governed by the OpenCash Association.

Community

Details

License Open source (MIT); https://github.com/cashubtc
Dev Status 🟢 Active
Dev Status Detail Released (multiple production wallet and mint implementations; iOS/Android apps; PWA; CLI tools; Python nutshell reference; TypeScript cashu-ts; Rust CDK)
Owner OpenCash Association (protocol stewardship); cashubtc GitHub org (open-source implementations); community-developed
Country Global / Cypherpunk community
Start Year 2022
Stack Rust (CDK — Cashu Development Kit); TypeScript (cashu-ts); Python (nutshell reference implementation); protocol-agnostic (any language can implement NUTs)
Funding Community / Donations (OpenCash Association; cypherpunk community; no VC funding identified)
Last Investigated Jul 1, 2026

P2P Protocol Attributes

Origins Cypherpunk / Privacy payments (based on David Wagner's 1996 variant of Chaumian blinding; motivated by need for private, peer-to-peer digital cash that preserves user privacy from mints and third parties; Bitcoin-native)
Database Mint-local (each mint maintains its own token database; no global ledger; bearer token model means wallet holds tokens locally; no user account database at mint)
Query Language N/A (payment protocol; no query language)
Data Formats Cashu NUT tokens (JSON-encoded blind signature tokens); Lightning Network invoices (for mint-to-mint transfers and Bitcoin on/off-ramp); BOLT11 (Lightning invoice format)
Collaborative Live Editing N/A
Rich Text Editing N/A
Mobile Support Yes (iOS and Android wallet apps — multiple implementations)
Web Support Yes (PWA web wallet implementations)
Native Apps Yes (CLI tools; desktop wallet implementations)
Terms Free / Open source (protocol is free; mints may charge fees; OpenCash Association accepts donations)
Funds Undisclosed
Based On Bitcoin (Layer 1 — token backing and settlement); Lightning Network (inter-mint transfers and Bitcoin on/off-ramp); Chaumian blind signatures (David Wagner 1996 variant); RSA/Ed25519 blind signature schemes
P2P Architecture Mint-and-wallet federation (mints issue and redeem tokens; wallets hold bearer tokens locally; peer-to-peer token transfers between wallets without mint involvement; blind signatures prevent mint from linking issuance to redemption; offline-capable token transfers between wallets)
Overlay Network Application-wide (scoped to individual mint deployments; cross-mint via Lightning routing; no global DHT or relay network required)
Content Addressing No (token model; no content addressing)
Local-First Yes (bearer tokens stored locally on wallet device; offline token transfers between wallets possible without internet; Lightning required only for mint interactions)
E2EE Yes (blind signatures provide strong untraceability; mint cannot link user identity to transactions; no user accounts at mint; no transaction graph visible to mint)
CRDTs Lib N/A (payment protocol; no collaborative editing)
Byzantine Fault Tolerance N/A (payment protocol; Byzantine fault tolerance not applicable)
Signature Blind signatures (RSA or Ed25519 blind signature scheme; mint signs tokens without seeing token identity; wallet holds and presents tokens)
Permissions Open (any wallet can interact with any compliant mint; no permissioning beyond Lightning Network access)
Semantic Web Compatibility No (payment protocol; no semantic web features)
Smart Contract No (not a smart contract platform; conditional payment logic not in base protocol)
Protocol Stack Position Application layer (sits above Bitcoin/Lightning transport; defines token issuance, transfer, and redemption semantics; not a transport protocol)
Asset / Value Embedding Native (ecash tokens are the value-bearing primitive; asset embedding is the protocol's core purpose)
Protocol Maturity / Standardization Released / Community standard (multiple independent production implementations across 5+ languages; active ecosystem of wallets and mints; NUTs specification published; OpenCash Association stewardship; no formal IETF or ISO standardization; de facto standard for Bitcoin ecash)