Cashu Development Kit https://cashudevkit.org
  • Rust 97.1%
  • Shell 1.3%
  • Nix 0.7%
  • Just 0.4%
  • Python 0.4%
Find a file
2026-03-17 21:52:16 +00:00
.cargo chore: ignore mutation test failures (#1669) 2026-02-23 13:03:17 +00:00
.github fix: just quick-check (#1580) 2026-03-06 16:13:28 +00:00
.helix feat: mint management rpc server and client cli 2025-02-06 12:05:13 +00:00
crates Store nostr pr info (#1732) 2026-03-17 21:52:16 +00:00
docs/migrations Prepare v0.15 (#1623) 2026-02-12 16:19:58 +00:00
fuzz feat(cashu): add NUT-26 bech32m encoding for payment requests (#1190) 2026-01-11 10:09:35 +00:00
meetings chore: typo (#1734) 2026-03-12 21:44:09 +00:00
misc feat(wallet): remove multi mint wallet (#1582) 2026-02-11 19:43:48 +00:00
tor tor service default config (#1449) 2026-03-16 18:52:20 +00:00
.backportrc.json feat: backport bot (#1215) 2025-10-27 18:59:46 -04:00
.cargo-mutants.toml chore: add tests to kill mutations (#1611) 2026-02-09 15:02:45 +00:00
.envrc improve: nix flakebox fmt 2023-10-22 18:36:52 +01:00
.gitignore tor service default config (#1449) 2026-03-16 18:52:20 +00:00
.typos.toml fix: just quick-check (#1580) 2026-03-06 16:13:28 +00:00
AGENTS.md feat: add agents.md (#1703) 2026-03-06 08:34:51 +00:00
Cargo.lock feat: move ln-regtest into repo (#1697) 2026-03-03 09:34:23 +00:00
Cargo.lock.msrv Add WASM-compatible WebSocket client abstraction (#1615) 2026-02-27 15:31:37 +00:00
Cargo.toml Static release builds (#1683) 2026-02-26 18:08:08 +00:00
CHANGELOG.md feat: bump to 0.15.1 (#1658) 2026-02-19 14:55:33 +00:00
clippy.toml fix: just quick-check (#1580) 2026-03-06 16:13:28 +00:00
CODE_STYLE.md chore: update CODE_STYLE 2024-04-10 20:49:35 +01:00
DEVELOPMENT.md Static release builds (#1683) 2026-02-26 18:08:08 +00:00
docker-compose.ldk-node.yaml Ldk compose setup (#1242) 2025-10-31 09:06:36 -04:00
docker-compose.postgres.yaml Add PostgreSQL support for mint and wallet (#878) 2025-08-18 17:45:11 +01:00
docker-compose.tor.yaml tor service default config (#1449) 2026-03-16 18:52:20 +00:00
docker-compose.yaml Ldk compose setup (#1242) 2025-10-31 09:06:36 -04:00
Dockerfile feat(docker): add LDK Node mint service with dedicated Docker setup (#1108) 2025-09-23 14:23:06 +01:00
Dockerfile.arm feat(docker): add LDK Node mint service with dedicated Docker setup (#1108) 2025-09-23 14:23:06 +01:00
Dockerfile.ldk-node feat(docker): add LDK Node mint service with dedicated Docker setup (#1108) 2025-09-23 14:23:06 +01:00
Dockerfile.ldk-node.arm feat(docker): add LDK Node mint service with dedicated Docker setup (#1108) 2025-09-23 14:23:06 +01:00
Dockerfile.static feat: docker builds using static builds (#1685) 2026-02-27 10:59:53 +00:00
flake.lock chore: update Rust to 1.94.0 (#1718) 2026-03-09 15:57:49 +00:00
flake.nix chore: update Rust to 1.94.0 (#1718) 2026-03-09 15:57:49 +00:00
justfile fix(justfile): remove test-all command (#1721) 2026-03-12 19:17:35 +00:00
LICENSE chore: rename for CDK 2024-04-15 15:36:15 +01:00
README.md chore(readme): add nut-28 support into README (#1729) 2026-03-11 13:40:12 +00:00
REGTEST_GUIDE.md feat: lighten default flake (#1589) 2026-02-24 12:22:25 +00:00
rust-toolchain.toml chore: update Rust to 1.94.0 (#1718) 2026-03-09 15:57:49 +00:00
rustfmt.toml feat: nostr mint backup (#1459) 2026-01-11 12:09:48 +00:00
SECURITY.md release: v0.1.0 2024-06-29 11:55:19 +01:00

Warning

This project is in early development, it does however work with real sats! Always use amounts you don't mind losing.

crates.io Documentation License

Cashu Development Kit

CDK is a collection of rust crates for Cashu wallets and mints written in Rust.

ALPHA This library is in early development, the api will change and should be used with caution.

Quick Start

CDK uses Nix flakes to manage development environments. We provide a lean default shell for standard development and a full-stack shell for integration testing.

# Enter the lean development shell (Rust + PostgreSQL)
nix develop

# OR enter the full regtest environment (Bitcoind + Lightning Nodes)
nix develop .#regtest

For more details on available environments, see the Development Guide.

Project structure

The project is split up into several crates in the crates/ directory:

Implemented NUTs:

Mandatory

NUT # Description
00 Cryptography and Models
01 Mint public keys
02 Keysets and fees
03 Swapping tokens
04 Minting tokens
05 Melting tokens
06 Mint info

Optional

# Description Status
07 Token state check ✔️
08 Overpaid Lightning fees ✔️
09 Signature restore ✔️
10 Spending conditions ✔️
11 Pay-To-Pubkey (P2PK) ✔️
12 DLEQ proofs ✔️
13 Deterministic secrets ✔️
14 Hashed Timelock Contracts (HTLCs) ✔️
15 Partial multi-path payments (MPP) ✔️
16 Animated QR codes
17 WebSocket subscriptions ✔️
18 Payment Requests ✔️
19 Cached responses ✔️
20 Signature on Mint Quote ✔️
21 Clear Authentication ✔️
22 Blind Authentication ✔️
23 Payment Method: BOLT11 ✔️
25 Payment Method: BOLT12 ✔️
26 Payment Request Bech32m Encoding ✔️
27 Nostr Mint Backup ✔️
28 Pay to Blinded Key (P2BK) ✔️

License

Code is under the MIT License

Contribution

All contributions are welcome.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.

Please see the development guide.