Coldcard stopped shipping devices. All of them. The halt came after a critical flaw in the wallet’s seed-generation process drained nearly $90 million in Bitcoin from over 4,500 addresses — a vulnerability that sat quietly in the firmware for five years.
The flaw traces back to March 2021, when Coldcard’s parent company, Coinkite, integrated a new cryptographic library. That integration introduced a change nobody caught: the device’s true random number generator — the TRNG — was present in the code but wasn’t actually being called for the critical seed-generation function. Instead, a weaker MicroPython generator was doing the job. Auditors checked whether the TRNG existed. They didn’t check whether it was actually running. And so the gap stayed open, undetected, for roughly five years, until the losses made it impossible to ignore.
What Went Wrong Inside the Firmware
Coinkite’s own postmortem made the mechanics pretty clear. The TRNG code was there — it just got used for less critical operations. The seed-generation process, arguably the single most important function in a hardware wallet, was quietly relying on weaker randomness the whole time. That’s not a small oversight. Seed generation is the foundation. If the randomness feeding that process is predictable or weak, an attacker who knows the pattern can reconstruct private keys. That’s basically what happened here.
Nick Percoco, Kraken’s chief security officer, didn’t hold back. He called the flaw a sign of deeper problems in how hardware wallets get tested across the industry. His criticism landed on a specific point: there’s no independent verification process that confirms a device’s critical randomness function is actually the one running in production firmware. Auditors check for the presence of the right components. They don’t always confirm those components are doing what they’re supposed to do when it counts.
Percoco pointed to other sectors as contrast. Payments hardware requires independent lab testing. Cryptographic modules go through entropy source validation. Hardware wallets? Not really. Certifications like Common Criteria and certain CSPN audits exist, but Percoco’s read is that they don’t ensure the validated entropy source is the one production firmware actually uses. There’s a gap between what gets certified and what ships.
Coinkite’s Response and the Legal Push
Coinkite moved fast once the flaw became public. Remaining units carrying the flawed firmware were destroyed. Shipments stopped. And the company is now working with law enforcement across multiple jurisdictions to track whoever exploited the vulnerability and drained those funds.
Users with affected devices got specific guidance: don’t throw them away. Coinkite wants people to hold onto the hardware, partly because those devices may become relevant if fund recovery efforts succeed. No timeline on that. No details yet on how far the legal effort has gotten or which jurisdictions are involved. Unclear whether any funds have been traced or frozen at this point.
Percoco also flagged two existing standards — NIST SP 800-90B and BSI AIS-31 — as benchmarks the hardware wallet industry should probably be using. Both outline requirements for designing and validating true random number generators. The argument is pretty straightforward: if those standards exist and other industries use them, there’s no good reason hardware wallets should be exempt.
Broader Questions for Self-Custody
The incident has rattled the self-custody space. Hardware wallets are supposed to be the safe option — the alternative to leaving Bitcoin on an exchange and hoping the platform doesn’t blow up. The whole pitch is that users control their own keys. But that pitch only holds if the key generation process is actually secure. If the randomness underneath it is weak, users don’t really control anything. They just think they do.
And that’s the harder problem Percoco is pointing at. Without stringent verification processes, users have no way to know whether a device works as claimed. They’re trusting the manufacturer’s implementation. Coinkite’s situation shows that even a manufacturer acting in good faith can ship a flaw that goes undetected for years — not because of malice, but because the auditing process wasn’t built to catch it.
The push now is for the industry to adopt testing standards that go beyond confirming a feature exists and actually verify it’s deployed correctly in firmware. Whether that happens through voluntary adoption or some kind of regulatory pressure, nobody’s said yet.
Coinkite is coordinating with legal bodies across jurisdictions. Nearly $90 million gone. Over 4,500 addresses hit. And the flaw was live from March 2021.
Frequently Asked Questions
What caused the Coldcard security flaw that led to $90 million in Bitcoin losses?
A change in Coldcard’s seed-generation process during the integration of a new cryptographic library caused the device to use a weaker MicroPython random number generator instead of the intended true random number generator (TRNG), a flaw that went undetected since March 2021.
What should users with affected Coldcard devices do?
Coinkite has advised users not to dispose of their affected devices, as the hardware may be needed if fund recovery efforts succeed.
