This release introduces updated default mint fees and several bug fixes across both the mint and wallet.
Default Fees
New mints now use a default fee of 100 ppk. This value can be changed via the .env parameter:
MINT_INPUT_FEE_PPK=100
Recap: How Cashu fees work
Fees in Cashu are based on the number of inputs in a transaction (see NUT-02). Each proof counted as an input contributes linearly to total fees. A fee of 100 ppk means 100 parts per thousand inputs, rounded up. In other words, roughly 0.1 base units per input, rounded up to the nearest integer.
Example:
- For a
satkeyset, 5 inputs incur 0.5 sat fee, rounded up to 1 sat. - Any transaction with up to 10 inputs costs 1 sat, 11 to 20 inputs cost 2 sats, and so on.
- For
usdkeysets, this corresponds to 1 cent per 10 inputs.
Fees are designed to stay low to maintain a smooth user experience while still discouraging abuse. All mints are encouraged to enable fees for protection.
Fixes
- Mint now returns a clean error for pending blinded outputs (code
10002). A dedicated error code for pending outputs will be introduced soon to distinguish this case from already-signed outputs. - Strike backend now applies USDT fees correctly.
- Wallet updates keyset fee settings when they change.
- Mint now tracks fees accurately across multiple keysets.
What's Changed
- Fix blind message already signed error by @callebtc in #828
- Mint: StrikeBackend handle USDT fees by @callebtc in #829
- gRPC interface: description of settings by @callebtc in #823
- Wallet fix: update keyset fees on
load_mint()by @callebtc in #830 - Mint: turn on fees by default by @callebtc in #831
- fix: increment fees for correct keysets by @lollerfirst in #825
- bump to 0.18.2 by @callebtc in #832
- bump to 0.18.2 again by @callebtc in #834
- revert error message change from #828 by @callebtc in #835
Full Changelog: 0.18.1...0.18.2