DigiByte Wallet v4.0.42
August 21, 2026
When you sent a transaction, the wallet asked the network to accept it and then reported success without ever checking the answer — the part of the code that reports a rejection was wired to nothing. That mattered more than a missing error message. Because the wallet records a transaction as its own just before sending it, a transaction the network refused still marked the coins it spent as gone, leaving the wallet holding coins that existed nowhere but on your phone.
Anything sent afterwards could be built on those coins, and could never confirm no matter how long you waited — as far as the network was concerned, the money it came from had never existed. Sends now report a rejection instead of silently reporting success, and a failed send is cleaned up rather than sitting in the send queue forever.
“Clear stuck sends” can now clear an orphaned transaction — one whose parent the wallet no longer has, which can never confirm. Previously the only cure was a full rebuild from chain, meaning a re-scan of your entire history. It errs on the side of caution: if it cannot read a transaction’s origins it leaves it alone rather than removing something that might still be live. Clearing a stuck send also no longer strands the transactions built on top of it, which is the most likely way these orphans were created.
Apps and sites can now hand the wallet a DigiAsset transfer request by link or QR code. A malformed request is rejected outright rather than quietly turned into an ordinary payment, and the amount is shown and remains editable before you sign — it is never applied silently.
This was found on a real wallet: an asset transfer sat “Pending” for eleven minutes, re-sent itself on restart, reported that six peers had relayed it, and existed in no mempool and no block anywhere.