MCPcopy Index your code
hub / github.com/cashubtc/cdk

github.com/cashubtc/cdk @v0.17.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.2 ↗ · + Follow
6,466 symbols 29,861 edges 580 files 1,659 documented · 26%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

[!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 :heavy_check_mark:
08 Overpaid Lightning fees :heavy_check_mark:
09 Signature restore :heavy_check_mark:
10 Spending conditions :heavy_check_mark:
11 Pay-To-Pubkey (P2PK) :heavy_check_mark:
12 DLEQ proofs :heavy_check_mark:
13 Deterministic secrets :heavy_check_mark:
14 Hashed Timelock Contracts (HTLCs) :heavy_check_mark:
15 Partial multi-path payments (MPP) :heavy_check_mark:
16 Animated QR codes :x:
17 WebSocket subscriptions :heavy_check_mark:
18 Payment Requests :heavy_check_mark:
19 Cached responses :heavy_check_mark:
20 Signature on Mint Quote :heavy_check_mark:
21 Clear Authentication :heavy_check_mark:
22 Blind Authentication :heavy_check_mark:
23 Payment Method: BOLT11 :heavy_check_mark:
25 Payment Method: BOLT12 :heavy_check_mark:
26 Payment Request Bech32m Encoding :heavy_check_mark:
27 Nostr Mint Backup :heavy_check_mark:
28 Pay to Blinded Key (P2BK) :heavy_check_mark:
29 Batch Mint Tokens :heavy_check_mark:
30 Payment Method: onchain :heavy_check_mark:

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.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 2,770
Function 2,764
Class 672
Enum 206
Interface 54

Languages

Rust99%
Python1%
Kotlin1%
Go1%

Modules by API surface

crates/cashu/src/amount.rs124 symbols
crates/cdk-supabase/src/wallet.rs121 symbols
crates/cdk-mintd/src/config.rs109 symbols
crates/cashu/src/nuts/nut00/mod.rs106 symbols
crates/cdk-common/src/mint.rs92 symbols
crates/cashu/src/nuts/nut04.rs73 symbols
crates/cashu/src/nuts/nut11/mod.rs72 symbols
crates/cdk-ffi/src/wallet.rs68 symbols
crates/cdk-bdk/src/lib.rs68 symbols
crates/cdk/src/wallet/send/mod.rs67 symbols
crates/cashu/src/nuts/auth/nut21.rs66 symbols
crates/cashu/src/nuts/nut02.rs65 symbols

Datastores touched

cdk_mintDatabase · 1 repos
postgresDatabase · 1 repos
auth_dbDatabase · 1 repos
cashuDatabase · 1 repos
cdk_mint_authDatabase · 1 repos

For agents

$ claude mcp add cdk \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page