github cashubtc/nutshell 0.20.3

4 hours ago

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

New Contributors

Full Changelog: 0.20.2...0.20.3

Don't miss a new nutshell release

NewReleases is sending notifications on new releases.