Four stacks. One bug.
These failures happened in four unrelated technologies. That is the point. You cannot avoid this bug class by choosing a different language or a better library — it lives in the seam between components, and the only defence with a field record is entropy the vendor never saw.
Coldcard — disclosed 31 July 2026
Roughly $38–40M in Bitcoin drained, including about 594 BTC in a single 25-minute sweep.
The cause was a build guard that checked whether a macro existed rather than whether it was enabled. The crypto library bound to what it believed was the hardware true-random generator, while the firmware had actually compiled in a software fallback. Effective entropy fell from 128 bits to roughly 40, seeded from a chip ID, a timer, and RTC registers that are often static on cold boot. Attackers enumerated the space and matched addresses on-chain.
It shipped in March 2021 and went undetected for five years. Patching the firmware does not repair a seed already generated.
The users who were unaffected were the ones who had supplied their own dice entropy or a passphrase, because their randomness never travelled through the broken path. That is why this product asks you for dice, and why it is not buried in an expert menu.
Trust Wallet browser extension — CVE-2023-31290
A weak PRNG with a 31-bit initial state, seeded from a guessable timestamp, in the WebAssembly build of Trust Wallet Core. Every wallet the extension created was remotely brute-forceable with no user interaction at all.
Worth sitting with: Trust Wallet Core is one of the most widely used multi-chain key libraries in existence. Popularity is not review.
Profanity — 2022
A vanity-address generator that produced keys from a bounded seed space. Roughly $160M taken from Wintermute.
The lesson here is different from the others: the tool did what it said. The failure was that people ran it without any way to check what they had actually downloaded. It is why we publish a hash and why the verify step exists.
blockchain.info — 2015
A browser RNG failure that produced duplicate keys across different users. Different decade, different stack, same seam.
Slope — 2 August 2022
Not Bitcoin, but the cleanest illustration of a rule this product is built around. Per Solana's own incident report, 9,231 wallets were drained of approximately $4.1M over about four hours. The stated cause: private key material was inadvertently transmitted by the wallet app to an application monitoring service.
An error-reporting SDK sharing an execution context with key material. Importing a seed into that app was itself compromising, whether or not you ever moved funds.
There is no analytics SDK, no crash reporter and no telemetry anywhere in this product. Not disabled — absent. There is nothing to leak to, because there is no network to leak over.