Cashu protocol specifications https://cashubtc.github.io/nuts/
Find a file
callebtc 7b99ff0da5
Recommend UUID v7 for quote and websocket subscription IDs (#383)
* nuts 4 and 5

* fix examples

* uuid v7 for websocket subs

* prettier

* Update 04.md

Co-authored-by: Rob Woodgate <robwoodgate@users.noreply.github.com>

* Update 05.md

Co-authored-by: Rob Woodgate <robwoodgate@users.noreply.github.com>

---------

Co-authored-by: Rob Woodgate <robwoodgate@users.noreply.github.com>
2026-06-07 08:48:52 -05:00
.github/workflows try: gh-pages (#166) 2024-09-18 12:19:17 +02:00
suppl Fixes leftover XX -> 21 2025-11-11 08:59:44 +00:00
tests Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
.gitignore feat: onchain payment method (#365) 2026-05-20 11:20:43 -05:00
00.md Nut00 conventions (#322) 2026-02-16 13:26:21 +01:00
01.md NUT-01: include keyset metadata in /keys response (#325) 2026-01-11 16:56:40 +07:00
02.md Fix grammar: use 'inactivate' when rotating keysets (#330) 2026-01-18 20:46:40 +00:00
03.md chore: run prettier on all files (#156) 2024-09-02 11:05:10 +02:00
04.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
05.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
06.md NUT06: Add Mint TOS to mint info (#205) 2025-03-06 19:33:09 +00:00
07.md add missing NUT-06 settings (#191) 2024-11-15 16:34:58 +01:00
08.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
09.md add missing NUT-06 settings (#191) 2024-11-15 16:34:58 +01:00
10.md Add NUT-10 tag clarification (#320) 2025-12-16 17:48:13 +07:00
11.md NUTXX - ECDH-derived Pay-to-Blinded-Key (P2BK) (#300) 2026-02-16 13:53:36 +01:00
12.md prettier (#242) 2025-03-25 11:20:29 +01:00
13.md NUT-13: Use only HMAC-SHA256 for v2 keyset recovery 2026-03-24 18:51:30 +01:00
14.md NUTXX - ECDH-derived Pay-to-Blinded-Key (P2BK) (#300) 2026-02-16 13:53:36 +01:00
15.md specify mpp amount is msat (#220) 2025-03-05 22:58:48 +01:00
16.md chore: run prettier on all files (#156) 2024-09-02 11:05:10 +02:00
17.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
18.md Use abbreviations for NUT-10 locking condition fields (#274) 2025-08-19 23:10:01 +01:00
19.md NUT-19: fix link 2025-02-01 23:33:57 +00:00
20.md NUT-29 Batch-Minting and Quote Checks (#333) 2026-03-09 10:19:49 +00:00
21.md NUT-21 and NUT-22 matching rules (#334) 2026-02-10 14:54:40 +00:00
22.md Specify NUT-22 authA serialization (#353) 2026-03-21 08:01:48 +00:00
23.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
24.md NUT-24: remove wrong paragraph (#326) 2026-01-11 16:38:57 +07:00
25.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
26.md NUT-26: fix bolt11 invoice and bolt12 offer (#349) 2026-03-15 22:22:55 +01:00
27.md NUT-27: mint list backups on nostr for wallets (#267) 2026-01-11 17:07:59 +07:00
28.md NUTXX - ECDH-derived Pay-to-Blinded-Key (P2BK) (#300) 2026-02-16 13:53:36 +01:00
29.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
30.md Recommend UUID v7 for quote and websocket subscription IDs (#383) 2026-06-07 08:48:52 -05:00
error_codes.md Add error code 12003: Keyset has expired 2026-05-13 11:43:14 +01:00
LICENSE Initial commit 2023-01-27 21:00:47 +01:00
README.md feat: onchain payment method (#365) 2026-05-20 11:20:43 -05:00
SECURITY.md Add SECURITY.md (#299) 2025-10-19 11:25:01 -05:00

Cashu NUTs (Notation, Usage, and Terminology)

These documents each specify parts of the Cashu protocol. Read the specifications for the legacy API here.

Specifications

Wallets and mints MUST implement all mandatory specs and CAN implement optional specs.

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 Wallets Mints
07 Token state check Nutshell, Nutstash, cashu-ts, cdk, Minibits, macadamia Nutshell, cdk-mintd, nutmix
08 Overpaid Lightning fees Nutshell, Nutstash, cashu-ts, cdk, Minibits, macadamia Nutshell, cdk-mintd, nutmix
09 Signature restore Nutshell, cdk, Cashu.me, Minibits, macadamia Nutshell, cdk-mintd
10 Spending conditions Nutshell, cdk, cashu-ts, Minibits Nutshell, cdk-mintd, nutmix
11 Pay-To-Pubkey (P2PK) Nutshell, cdk, Cashu.me, Minibits Nutshell, cdk-mintd, nutmix
12 DLEQ proofs Nutshell, cdk, cashu-ts Nutshell, cdk-mintd, nutmix
13 Deterministic secrets Nutshell, cashu-ts, cdk, macadamia, Minibits -
14 Hashed Timelock Contracts (HTLCs) Nutshell, cdk Nutshell, cdk-mintd, nutmix
15 Partial multi-path payments (MPP) Nutshell, cdk Nutshell, cdk-mintd, nutmix
16 Animated QR codes Cashu.me, macadamia, Minibits -
17 WebSocket subscriptions Nutshell, cdk, Cashu.me, Minibits Nutshell, cdk-mintd, nutmix
18 Payment requests Cashu.me, Boardwalk, cdk, Minibits -
19 Cached Responses - Nutshell, cdk-mintd
20 Signature on Mint Quote cdk, Nutshell cdk-mintd, Nutshell
21 Clear authentication Nutshell, cdk Nutshell, cdk-mintd, nutmix
22 Blind authentication Nutshell, cdk Nutshell, cdk-mintd, nutmix
23 Payment Method: BOLT11 Nutshell, cdk Nutshell, cdk-mintd, nutmix
24 HTTP 402 Payment Required - -
25 Payment Method: BOLT12 cdk, cashu-ts cdk-mintd
26 Payment Request Bech32m Encoding cdk, cashu-ts -
27 Nostr Mint Backup Cashu.me, cdk -
28 Pay to Blinded Key (P2BK) cdk, cashu-ts -
29 Batched Mint - -
30 Payment Method: Onchain - -

Wallets

Mints