Back to Freedom.Tech Back
All Cashu releasesAll versions
Release Wed, Jul 22, 2026 3 min read

Cashu 0.20.3

Original release notes

Nutshell 0.20.3

[!CAUTION] This release includes a database migration for the mint (and wallet). Ensure you back up your database before upgrading your Nutshell instance to avoid data loss.

Nutshell 0.20.3 adds P2BK and Spark support, plus mint UX and reliability improvements.

Notable Changes

Mint

  • NUT-28 P2BK (Pay-to-Blinded-Key): lock ecash to a receiver without revealing their pubkey to the mint (silent payments / payment unlinkability).
  • Spark L2 wallet backend for Lightning payments via Spark.
  • Interactive HTML landing page at the mint root route (/) showing mint info, limits, contacts, and supported NUTs.
  • method field on mint/melt quote responses (spec alignment).
  • Management RPC: GetKeyset / GetKeysets with issued liabilities and fees; matching mint-cli subcommands.
  • NUT-11 sig_all message aggregation extended to match the latest spec.
  • NUT-20/29 signatures aligned with the current spec (incl. test vectors).
  • Async melt race fixed: durable PENDING is committed before the HTTP response so clients don't see a false terminal UNPAID.
  • Melt change cleanup: orphan blank outputs are deleted on early-return paths (fixes restore collisions).
  • Batch mint issued_time and legacy base64url keyset ID handling fixed.
  • Docker Compose Redis bound to localhost only.

Wallet

  • NUT-28 P2BK support for creating and receiving P2BK-locked tokens.
  • cashu send --timelock/-t: per-send locktime override (matches cashu lock p2pk).
  • Missing mint keysets are marked deleted instead of leaving stale active state.

What's Changed

  • Mark Keysets as Deleted. by @KvngMikey in https://github.com/cashubtc/nutshell/pull/797
  • feat(mint): add method field to quote responses. by @KvngMikey in https://github.com/cashubtc/nutshell/pull/1055
  • Remove paid field in MeltQuote by @KvngMikey in https://github.com/cashubtc/nutshell/pull/1024
  • feat(mint): add keyset and keysets endpoints to management RPC with issued liabilities by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1078
  • fix(docker): restrict redis access to localhost in compose by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1079
  • extend and refactor nut11 sig_all message aggregation by @callebtc in https://github.com/cashubtc/nutshell/pull/811
  • feat(crypto): align NUT-20/29 signatures with spec and add test vectors by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1057
  • feat(mint): add interactive html landing page at root route by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1077
  • feat: support NUT-28 P2BK by @KvngMikey in https://github.com/cashubtc/nutshell/pull/950
  • feat(mint): Add Spark L2 wallet backend by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1019
  • fix(mint): delete orphan blank outputs on melt change early-return by @gorrdy in https://github.com/cashubtc/nutshell/pull/1016
  • fix: await ledger.melt() call in test_melt_quote_reuse_same_outputs by @vicjuma in https://github.com/cashubtc/nutshell/pull/1080
  • chore: retire legacy curve mapping by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1082
  • fix: complete remaining Pydantic v1 to v2 migration by @vicjuma in https://github.com/cashubtc/nutshell/pull/1084
  • fix(mint): commit PENDING before async melt response by @callebtc in https://github.com/cashubtc/nutshell/pull/1087
  • fix: handle batch mint times and base64url keysets by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1091
  • refactor(mint): recalculate DLEQs on restore by @a1denvalu3 in https://github.com/cashubtc/nutshell/pull/1085
  • feat(cli): add --timelock/-t option to send command by @KvngMikey in https://github.com/cashubtc/nutshell/pull/1090
  • chore(release): bump version to 0.20.3 by @callebtc in https://github.com/cashubtc/nutshell/pull/1093

New Contributors

  • @vicjuma made their first contribution in https://github.com/cashubtc/nutshell/pull/1080

Full Changelog: https://github.com/cashubtc/nutshell/compare/0.20.2...0.20.3