Why it matters: A hardware wallet is supposed to solve one problem: keep your Bitcoin keys somewhere no attacker can reach them. This week showed what happens when the flaw sits inside the wallet itself. A firmware bug that's been shipping in Coldcard devices since 2021 let an attacker guess supposedly random seed phrases from the outside, no physical access, no phishing, no malware required, and drain funds from thousands of addresses. The running total is already past $88 million, and it's still climbing.
A flaw in Coldcard's firmware has put the spotlight on a basic part of wallet security: how the device generates its seed in the first place. The issue came into focus after an attacker drained 1,196 Bitcoin addresses on July 30 in a 41-minute stretch, taking 1,082.65 BTC worth about $70.2 million at the time.
Galaxy Research tied the sweep to Coldcard, the Bitcoin-only hardware wallet line made by Coinkite, and said the pattern matched a firmware problem rather than a random event. Two more waves have surfaced since, and Galaxy's running total now stands at 1,367.05 BTC, worth about $88.6 million, across 4,585 addresses. The firm describes that as a preliminary observed figure that could still climb as it traces more on-chain activity.
The problem goes back to a March 2021 firmware integration error. Instead of using the STM32 hardware random number generator, affected devices fell back to a deterministic software pseudorandom number generator when creating seeds. That matters because seed generation is supposed to produce output that cannot be guessed or reconstructed.
– Galaxy Research (@glxyresearch) July 31, 2026
In plain terms: a wallet's seed is the master code, usually a string of 12 or 24 words, that can recreate every address and private key tied to it. That code has to come from a process nobody could predict or reverse-engineer, which is why devices lean on a dedicated randomness chip instead of ordinary software. When that swap happens quietly in reverse, the numbers still look random on screen, but they aren't, and that gap is what an attacker can exploit.
Block said an attacker who can pin down the device UID, timer state, and earlier random-number calls can reproduce candidate output streams without touching the wallet itself. Those candidate seeds can then be tested by deriving addresses and comparing them with public blockchain data. In other words, the weakness isn't in the blockchain, but in how the wallet device formed the starting point for key generation.
Put simply, the attacker never had to steal or even see the physical wallet. If you can work out roughly how a device's internal clock and serial number behaved the moment it powered on, you can recreate the same "random" number it generated on an ordinary computer, then just check whether that guess unlocks a real, funded address.
The bug traces back to a config mismatch in Coldcard's production code. The firmware defined a hardware RNG setting, but the library that handled it checked whether the setting existed rather than whether it was actually enabled. That sent the build into MicroPython's Yasmarang fallback, which starts from fixed device data and doesn't gather fresh entropy after initialization.
In practice, this was a coding oversight rather than a deliberate shortcut. The software was supposed to check whether the hardware randomness generator was switched on, but it only checked whether that setting existed in the code at all, which was true either way. So every device quietly fell back to the weaker method, a backup meant only for rare edge cases, without anyone noticing it had become the default.
... continue reading