Cashu Development Kit https://cashudevkit.org
  • Rust 96.7%
  • Shell 1.3%
  • Nix 0.8%
  • Just 0.5%
  • Python 0.4%
Find a file
thesimplekid a599eb275a
fix: batch mint quote subscription snapshots
Fetch mint quotes for subscription snapshots in one database call instead of
looking up each quote while walking the requested topics.

This keeps the emitted events in request order while avoiding repeated quote
queries for batch mint quote subscriptions.
2026-05-16 14:57:53 +01:00
.cargo chore: mutation testing apr 10 2026-04-10 12:48:10 +01:00
.github doc: update agent review 2026-05-14 11:50:47 +01:00
.helix feat: mint management rpc server and client cli 2025-02-06 12:05:13 +00:00
bindings feat: add tests for db 2026-05-11 22:15:36 -04:00
crates fix: batch mint quote subscription snapshots 2026-05-16 14:57:53 +01:00
docs/migrations Prepare v0.15 (#1623) 2026-02-12 16:19:58 +00:00
fuzz feat: add more fuzz targets 2026-04-18 14:19:36 +01:00
meetings chore: add weekly meeting agenda for 2026-05-13 2026-05-13 15:57:22 +01:00
misc feat(regtest): add configuration option for cdk host (#1736) 2026-03-19 23:06:04 +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 Add dart publish workflow, prebuilt binary support, and README 2026-04-21 11:18:26 +01:00
.typos.toml Swift and dart bindings tests in ci (#1706) 2026-03-29 11:52:14 +01:00
AGENTS.md feat: add cdk review for agents 2026-05-11 22:26:55 -04:00
Cargo.lock chore: fix msrv 2026-04-16 10:43:47 +01:00
Cargo.lock.msrv chore: fix msrv 2026-04-16 10:43:47 +01:00
Cargo.toml fix: replace blocking Condvar pool with async Semaphore 2026-05-11 22:15:36 -04:00
CHANGELOG.md feat: bump cdk 0.16.0 2026-03-31 09:15:51 +01: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
codecov.yml feat: add code cov (#1778) 2026-03-27 12:54:12 +00:00
DEVELOPMENT.md chore: add rebase to development.md 2026-04-10 12:43:20 +01: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: bump rust stable to 1.95.0 2026-04-22 21:22:19 +01:00
flake.nix chore: bump rust stable to 1.95.0 2026-04-22 21:22:19 +01:00
justfile chore: bump rust stable to 1.95.0 2026-04-22 21:22:19 +01: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 chore: update agents.md for regtest 2026-04-18 14:16:35 +01:00
rust-toolchain.toml chore: bump rust stable to 1.95.0 2026-04-22 21:22:19 +01: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.