Nutshell v0.16.0: New Binary Token Format, Multinut Payments, Ecash Fees & More

Nutshell is a Chaumian Ecash wallet and mint for Bitcoin Lightning based on the Cashu protocol.

Nutshell v0.16.0: New Binary Token Format, Multinut Payments, Ecash Fees & More
Source: The Fishcake.
  • "Big one: Nutshell 0.16.0 released with a ton of new features," announced calle.
  • This major release includes new features, bug fixes, performance improvements, and protocol updates. Highlights include a new, smaller binary token format, enhanced coin selection for the wallet, support for ecash fees, WebSocket updates, MultiNut payments, and more.
"The mulit-nut era has begun. As more mints adopt this feature, users will soon be able to make Lightning payments that originate from different mints at once. Pretty nuts. It works great, improves reliability, and enables a truly multi-mint ecash UX. NUTs and BOLTs," added the developer.

NOTE: This release includes a database migration for the mint. Make sure to back up your mint database before upgrading.

What's new

  • New binary token format. "The Cashu protocol has introduced a new binary Cashu TokenV4 format (with prefix cashuB) which saves around 40% space compared to the previous token format (with prefix cashuA). The Nutshell wallet will produce TokenV4 tokens by default now."
  • Offline wallet and improved coin selection. The Nutshell wallet has been upgraded with a significantly enhanced coin selection algorithm, enabling users to perform more transactions offline while minimizing future fees by limiting swaps with the mint. This improvement boosts the wallet's utility, speed, and privacy by reducing the need for communication with the mint.
  • Ecash fees. Nutshell now supports fees for Ecash transactions according to changes in NUT-02. Fees are determined by the number of Ecash inputs to a transaction.
WARNING: "Wallet support for fees is still in active development. Enabling fees will break compatibility with most wallets in their current state. Mint operators should enable fees later in the future when there is widespread support for fees."
  • WebSocket subscriptions. The Cashu protocol recently introduced WebSocket subscriptions in NUT-17 which allows wallets to get notifications for state changes of mint quotes, melt quotes, and ecash spent states and the witness used for unlocking a locked token.
  • Multinut payments. The Nutshell mint now supports Multinut payments with the LND backend (see NUT-15). This feature is still experimental.
  • Getting ready for the cloud. A lot of work has been made to extract the mint's state from memory into the database in preparation for parallel deployments in a Kubernetes cluster. This will enable multiple mint instances to run on the same database, allowing Nutshell to scale and process significantly more transactions.
  • Support for EUR via Strike. "We added initial support for Euro Ecash using the StrikeWallet backend for Strike users who have access to Euro balances. FakeWallet now also supports the Euro."
  • Support for CLN Rest. "A new CLNRestWallet backend was added that now supports CLN through the clnrest.py plugin. Previously, CLN was only supported through the c-lightning-rest third party interface for which we will phase out support through the CoreLightningRestWallet."

Protocol updates

  • NUT-04 and NUT-5 state fields. "Mint and melt quotes now have a new state enum field that represents the state of the quote (PR) to reflect changes in the corresponding NUT-04 and NUT-05 specifications."

Announcement / Archive
GitHub Repo