You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When sending near-max on-chain from a wallet with 40,000 sats, sending 39,500 sats leaves 359 sats as change.
That remaining change is dust and cannot be spent.
Expected behavior
No unspendable dust should be left after send.
If the leftover change would be dust, it should be added to either the recipient amount or the fee, and the UI should clearly inform the user how dust is handled.
Steps to Reproduce
Fund wallet with 40,000 sats.
Create an on-chain send for 39,500 sats.
Confirm and broadcast transaction.
Observe remaining wallet balance is 359 sats (unspendable dust).
Current behavior differs from iOS handling tracked in bitkit-ios#200.
Cross-platform behavior should be consistent for dust handling in near-max sends.
Desired UX: if dust is absorbed into fee or recipient, explicitly surface that to the user.
Current observed minimum spendable amount from wallet is 547 sats (+ fees); this likely reflects a dust threshold, so leaving 359 sats change results in effectively unspendable funds.
What happened?
When sending near-max on-chain from a wallet with
40,000 sats, sending39,500 satsleaves359 satsas change.That remaining change is dust and cannot be spent.
Expected behavior
No unspendable dust should be left after send.
If the leftover change would be dust, it should be added to either the recipient amount or the fee, and the UI should clearly inform the user how dust is handled.
Steps to Reproduce
40,000 sats.39,500 sats.359 sats(unspendable dust).Logs / Screenshots / Recordings
logs.zip
Screen.Recording.2026-03-02.at.10.22.01.mov
Bitkit Version
2.0.3(masterateeb6511039c26b614b0ca07269ced9c690c626be)Device / OS
Android Emulator
Pixel_6(sdk_gphone64_arm64), Android13(API33)Reproducibility
Always
Additional context
bitkit-ios#200.547 sats(+ fees); this likely reflects a dust threshold, so leaving359 satschange results in effectively unspendable funds.Similar issues check
bitkit-android#616— Failed to load utxos in manual coin selection — OPENFailed to load utxos in manual coin selection #616
Not a duplicate (manual UTXO loading issue, different symptom).
bitkit-android#645— Can request to receive less than dust onchain — OPEN[Bug]: Can request to receive less than dust onchain #645
Not a duplicate (receive-flow dust threshold issue, not send/change dust).
bitkit-android#324— Insufficient funds when trying to send all funds — CLOSEDInsufficientFunds='The available funds are insufficient to complete the given operation' when trying to send all funds #324
Related but not equivalent; this report is specifically about creating unspendable dust change after near-max send.
bitkit-ios#200— Coin selection failed when sending near max amount from the wallet — OPENCoin selection failed when sending near max amount from the wallet bitkit-ios#200
Related cross-platform behavior reference.