Coldcard’s Entropy Bug Exposed a Hidden Weakness in Hardware Wallet Security

Wait 5 sec.

The whole point of a hardware wallet is that it's unreachable.The private keys never touch the internet. The device never connects to anything except the moment you plug it in to sign a transaction. An attacker who can't physically hold the device in their hands is, in theory, locked out forever. That's the pitch. That's why people buy them. That's why serious Bitcoin holders — people with real money, long-term holders who hadn't moved their coins in years — chose Coldcard specifically. It had a reputation as the most security-focused hardware wallet on the market.On July 30, 2026, an attacker drained $89 million from 4,585 of those wallets. In three waves. Without touching a single device.The flaw wasn't in the cryptography. It wasn't a smart contract exploit or a phishing attack or an exchange getting compromised. It was a one-line code change, made on March 1, 2021, that almost nobody noticed for five years.What the bug actually wasWhen you set up a hardware wallet, the device generates a seed — 12 or 24 words representing the cryptographic foundation of every address you'll ever own. The whole security guarantee rests on one thing: that the seed comes from randomness so large no computer could guess it. 128 bits of entropy means roughly 340 undecillion possible values. Not theoretically feasible to brute-force.On March 1, 2021, a firmware commit changed a single function call — from the line that reached Coldcard's hardware random number generator to one that routed through a software pseudorandom fallback from MicroPython called Yasmarang [1]. The library check verified whether a configuration macro was defined, not whether it was set correctly. The build silently linked to the wrong implementation. No warning. No error. No test caught it.The hardware RNG was still in the codebase. It just wasn't being used for seeds anymore.On Mk3 devices, the fallback was seeded from the chip's unique ID and timer state — information an attacker could constrain enough to make searching feasible. Coinkite's estimate: roughly 40 bits of effective entropy [2]. The gap between 40 bits and 128 bits is the difference between a lock that takes centuries to pick and one a laptop could crack over a weekend. Mk4, Mk5, and Q devices mixed in additional secure-element entropy, pushing the estimate to roughly 72 bits — still far below the 128-bit standard users assumed they had.How the attack ranThe first wave hit July 30 — 594 BTC drained from around 500 addresses in 25 minutes, all consolidating into a single address [3]. Galaxy Research mapped the sweep: the attacker reconstructed seeds offline, derived addresses using the same deterministic rules every Bitcoin wallet uses, checked those addresses against the public blockchain to find funded ones, and swept them.No device was touched. No exchange was hacked. The attacker sat at a computer, did math, and the coins moved.A second wave came August 1. A third on August 2 [4]. By the third sweep, the total stood at 1,367 BTC across 4,585 addresses — roughly $89 million. The third wave targeted smaller balances with more complex transaction patterns.Coinkite released emergency firmware July 31. Then came the detail that made everything worse: updating firmware doesn't fix an existing seed. The weakness is baked into the 12 or 24 words already written in someone's notebook. A patch prevents future seeds from having this problem. It does nothing for seeds already generated. The only fix is a completely new seed on clean firmware and a full migration [2].The question this raises about self-custodyThe instinctive response to a story like this is to declare self-custody broken and tell people to use an exchange. That's not the right takeaway.What this exposes is an assumption the self-custody community has held too confidently: that a hardware wallet's security is an engineering problem that has been solved. Buy a reputable device, generate your seed properly, keep it offline — done.The attack surface isn't just the device. It's the firmware. The libraries the firmware depends on. The code review processes that might or might not catch a one-line change in a build config. Coinkite's own security reviews, including a recent AI audit, didn't catch this one [5]. The bug sat undetected from March 2021 until someone with the right knowledge and wrong intentions decided to look.Blockaid reported crypto projects lost more than $1 billion to hacks in the first half of 2026 — most from compromised keys and operational mistakes, not smart contract exploits [6]. The Coldcard incident is the year's starkest example of a pattern building all year: the failures aren't in the cryptography. They're in the code around it.What to do if you own a ColdcardSome people reading this own one, so here's the short version.Mk2 and Mk3 devices on firmware 4.0.1 through 5.0.3: high risk, migrate now. Updating firmware does not fix an existing seed — you need a new seed generated on clean firmware and a full migration of funds [2]. Mk4, Mk5, and Q users with seeds before the July 31 hotfix: affected at 72-bit entropy, not yet exploited in this sweep, but Coinkite recommends migration anyway. If you added 50 or more dice rolls during setup, your external entropy likely pushed the seed outside the searchable space — those wallets survived. TAPSIGNER, OPENDIME, and SATSCARD are not affected.The uncomfortable truth this leaves behind is something the Bitcoin community has known intellectually for years but hasn't fully reckoned with: self-custody doesn't just mean holding your own keys. It means trusting every layer of the stack that generated them. The firmware. The libraries. The build configuration. The code review culture of the company that made the device.Most people didn't sign up to audit firmware commits from 2021. But that's the responsibility the model carries. The Coldcard hack didn't break self-custody as a concept. It just made very clear what the concept actually requires.References[1] Coldcard / Coinkite — Technical Deep Dive into the Entropy Issue (August 1, 2026): https://blog.coinkite.com/entropy-technical-backgrounder/[2] GridinSoft — Coldcard Seed Flaw: Firmware Fix and Safe Migration (August 1, 2026): https://blog.gridinsoft.com/coldcard-seed-generation-flaw-migration/[3] Crypto.news — A Build Error in Coldcard's Firmware Drained $38 Million in Bitcoin in 25 Minutes (July 31, 2026): https://crypto.news/coldcard-firmware-bug-drains-38-million-bitcoin/[4] CoinDesk — Bitcoin Cold Wallet Attack Spreads to 4,500 Addresses as Losses Near $89 Million (August 2, 2026): https://www.coindesk.com/tech/2026/08/02/bitcoin-cold-wallet-attack-spreads-to-4-500-addresses-as-losses-near-usd89-million[5] TechSpot — A Coldcard Firmware Flaw Let Hackers Drain $70 Million in Bitcoin in 41 Minutes (August 2, 2026): https://www.techspot.com/news/113322-coldcard-firmware-flaw-hackers-drain-70-million-bitcoin.html[6] Disruption Banking — The Coldcard Hack: How a 2021 Firmware Flaw Drained Over $70 Million in Bitcoin (August 2, 2026): https://www.disruptionbanking.com/2026/08/02/the-coldcard-hack-how-a-2021-firmware-flaw-drained-over-70-million-in-bitcoin/[7] Hacker News / TechTimes — Coldcard Hardware Wallet Hacked via Firmware Bug That Bypassed RNG for Five Years (July 31, 2026): https://www.techtimes.com/articles/322392/20260731/coldcard-hardware-wallet-hacked-via-firmware-bug-that-bypassed-rng-five-years.htm[8] Fystack Blog — What the Coldcard Exploit Taught Us About Wallet Entropy (August 3, 2026): https://fystack.io/blog/coldcard-entropy-bug-wallet-security