Cashu Nutshell v0.12.1: Performance and Stability Improvements

“This release includes a ton of performance and stability improvements!”Disclaimer: Cashu is still experimental and not production-ready.

What’s new


Dynamic change output amounts (NUT-08 update).


Use httpx library instead of requests for asynchronous operations.Transition from using DB locks to asyncio locks (for compatibility with RaspberryPi systems and LNbits).


Huge performance increase thanks to db optimizations.Multimint swaps in Nutshell! Enter cashu swap or use the wallet API.Option to mint tokens of a specific denomination (for headless operation).Option to send existing token denominations without a /split (for high-frequency payments).Improve wallet REST API.


[Wallet] Bugfix/enable-funding-multiple-mints by @callebtc in #210add by @callebtc in #211Allow to set maximum peg in/out for mint by @sihamon in #209Assert mint_private_key is available at startup by @xphade in #208[Mint] add trace logs by @callebtc in #213more traces by @callebtc in #214Mint/moremore_traces by @callebtc in #215more logging by @callebtc in #216add transactions and locking for certain operations by @Semisol in #217Chore: make format by @callebtc in #218Refactor Compat and Database for LNbits comaptibility by @callebtc in #219[Mint] Fix balance views for Postgres by @callebtc in #222[Mint] rewrite lnbits backend with httpx by @callebtc in #230Mint API: Check ?amount is within a sensible range by @AngusP in #226[Mint] LNBits backend refactor httpx by @AngusP in #234db: postgres cast int to bigint by @callebtc in #231Add secp256k1 deps to dockerfile by @ebrakke in #235[Wallet] Define responses for API by @sihamon in #233Catch all exceptions in wallet API by @sihamon in #220Implement dynamic amount of tokens for change by @xphade in #223[Wallet] API: optional amount in InvoiceResponse by @callebtc in #236update .env example to reflect latest flags by @callebtc in #238fix typo by @callebtc in #239Allow to start wallet API by cashu –daemon by @sihamon in #243[Wallet] Allow minting of specific amounts by @callebtc in #248[Wallet] send without split by @callebtc in #249[Wallet] DB optimization for faster payments by @callebtc in #250update readme by @callebtc in #251[Mint] Fix: check keyset id in mint and allow custom split amounts for LIGHTNING=False by @callebtc in #253[Wallet] balance: await wallet.load_proofs() by @callebtc in #254[Wallet] no async for deserialization functions by @callebtc in #255Use m̶u̶l̶t̶i̶p̶r̶o̶c̶e̶s̶s̶i̶n̶g̶ asyncio locks instead of db locks by @callebtc in #256[Wallet] store public keys of each keyset by @callebtc in #165Add multi-mint swap to CLI and API by @sihamon in #212bump version to 0.12.1 by @callebtc in #258Wallet: fix wallet pubkey migration start by @callebtc in #259

New Contributors

@xphade made their first contribution in #208@Semisol made their first contribution in #217@AngusP made their first contribution in #226@ebrakke made their first contribution in #235

Full Changelog: 0.12.0…0.12.1

GitHub Repo

Leave a Reply

Your email address will not be published. Required fields are marked *