Skip to main content
Security incident · disclosed 30 July 2026

The Coldcard Seed Flaw: What Happened, and What to Do

For five years, one of the most respected Bitcoin hardware wallets generated seeds with far less randomness than it was supposed to. In late July 2026, attackers started using that fact to drain wallets. This page explains what happened in plain English, whether your seed is affected, and what to do about it.

By drix · Last updated 12 October 2026. On that date Coinkite had shipped fixed firmware and a migration guide, and said its detailed technical post-mortem was still in preparation. A seed made on affected firmware stays exposed until its coins are moved.

If you own a Coldcard, the short version

  • If your seed was generated on a Coldcard since March 2021, on firmware older than the fixed releases of 31 July 2026, treat it as compromised — regardless of what firmware the device runs today, and regardless of whether anything has been stolen yet.
  • Updating the firmware alone does not fix it. The update fixes future seeds. Your existing seed keeps whatever randomness it was born with, and it stays weak if you restore or clone it onto another device.
  • Coinkite's advisory: update, generate a brand-new seed, send a test transaction, then move everything. The old seed is burned.
  • Seeds made with 50+ private dice rolls added on the device, and the TAPSIGNER / OPENDIME / SATSCARD, are not affected, per Coinkite. Neither are seeds generated securely elsewhere and only imported into a Coldcard — the flaw is in on-device seed generation.

Corrected 12 October 2026: an earlier version of this page listed Mk2 and Mk3 seeds generated on firmware “before 4.0.1” as not affected. Block's analysis puts firmware 4.0.0, released 17 March 2021, on the vulnerable path. If you set up a Mk2 or Mk3 on 4.0.0, treat that seed as affected. The details are below.

Sources: Coinkite advisory · Coinkite migration guide · Block analysis

What Happened

On 30 July 2026, attackers began emptying Coldcard wallets, and Coinkite published a security advisory the same day: a flaw in how Coldcard devices generated seed phrases meant that seeds created on affected firmware had far less randomness than the 128 bits users were promised. The weakness let attackers reconstruct affected seeds by brute force and sweep the coins, in bulk, without ever touching a device. The speed and scale of the first sweep suggest the work of reconstructing seeds had begun well before the advisory was public. Coinkite says it was unaware of the bug until that day, and nobody has published who found it first.

17 March 2021

The flaw first ships in firmware 4.0.0 for the Mk2 and Mk3, by Block's analysis. A change in how the firmware was built leaves seed generation wired to a predictable software generator instead of the chip's hardware random number generator. It carries forward into the Mk4, Mk5 and Q, and sits unnoticed for five years.

30 July 2026

The first large theft wave runs, and Coinkite publishes its advisory the same day — security reporting describes over a thousand addresses drained in under an hour. Emergency firmware for every affected model and release track ships the next day, 31 July. Coinkite urges users to migrate immediately.

August to October 2026

Sweeps continue in waves until 6 August, the last confirmed attacker activity in Galaxy Research's tracking. By 24 August Galaxy counts 1,789 BTC taken from 8,865 addresses, about $115 million at the prices when the coins were taken. Coinkite ships three further standard firmware releases between 20 August and 1 October.

The totals differ from tracker to tracker and from day to day, and dollar figures move with the price of bitcoin, so the BTC count is the steadier measure. A figure of about 1,816 BTC across more than 5,200 addresses, which TRM Labs attributed to Galaxy on 5 August, was described as preliminary at the time. Galaxy's count on 21 September was about 1,830 BTC across 9,162 addresses. It also flagged a suspected fourth wave in August that it had not confirmed, and we have found no later confirmation. Coinkite declined to give its own estimate in early August, and we have found none from it since.

This was not one thief. Galaxy estimated in early August that at least 15 separate attackers were exploiting the flaw independently, and TRM Labs saw differences between the waves that pointed the same way. Nor was everything that moved stolen: Galaxy reported on 21 September that white-hat rescuers had swept about 52 BTC out of affected wallets ahead of the thieves and into a trust set up in Wyoming to return it to its owners. What is not in dispute is the mechanism and what owners need to do.

Sources: Coinkite advisory · Coinkite deep dive · Coinkite status page · Coinkite 5.6.1 release · Block analysis · The Hacker News · TRM Labs · CoinDesk · Bloomberg · Galaxy Research brief · Decrypt, 14 Aug · Cointelegraph, 25 Aug · Decrypt, 7 Sep · Cointelegraph, 22 Sep

The Flaw, in Plain English

A seed phrase is nothing more than a very large random number written as words. Its entire security rests on that number being drawn from a space so large that guessing is hopeless — 128 bits of randomness, a number with 39 digits. Hardware wallets carry a dedicated hardware random number generator for exactly this job.

Coinkite's own technical account says the Coldcard was designed to use only that hardware generator for seeds. In March 2021 the firmware moved to a new cryptography library, and a mistake in how the pieces were built together left the seed code wired to a general-purpose software generator that comes with MicroPython, the language runtime the firmware is built on. A check that should have stopped the build asked whether the hardware-randomness setting existed rather than whether it was switched on, so the build went through. That software generator starts from values that are not secret: the chip's ID number and its internal timers. Coinkite is specific that the hardware generator never failed and nothing switched over while the device was running; the wrong code was linked in from the start. Block's independent analysis reaches the same root cause.

Coinkite's preliminary estimates put the effective randomness at about 40 bits on the Mk2 and Mk3 and about 72 bits on the Mk4, Mk5 and Q, instead of the 128 promised, and it says those figures may change as its analysis continues. The newer models did better because, from the Mk4 on, values from the two secure-element chips were also mixed in. In Coinkite's words that “partially reduced the impact on later models but did not restore the intended 128-bit security target”. Block reads the newer models less generously. In its analysis, which it describes as its own opinion pending Coinkite's definitive report, only 32 bits of that secure-element input survive: about 4.3 billion possibilities once the device's other inputs are known. Block adds that its own loose upper bound of roughly 73 bits “is not 73-bit cryptographic security”, because the timer values are related to each other and may be easy to narrow down. It published no measured attack time.

Forty bits is a search a well-resourced attacker finishes. How large the search is on the newer models depends on which of those readings is right, and the public record does not show how many Mk4, Mk5 or Q wallets were emptied: Coinkite's status page says that record “does not support claiming that no Mk4/Mk5/Q wallet was robbed”. Coinkite's guidance treats every affected model the same way: migrate. Because the weakness lives in the seed itself, the device's defenses never come into it. The air gap and the PIN protect the device, and the secure elements protect keys stored on it from someone holding it. None of them can repair a seed that was weak when it was made, and the attacker never needs the device. They reconstruct the seed on their own hardware, derive the addresses, and sweep whatever is there.

Two details make this stark. The flaw was introduced by accident and sat in published source code for five years — Coldcard's firmware is source-available, and nobody caught it. And the public learned of it the worst way possible: the advisory and the first mass theft landed on the same day.

Sources: Coinkite deep dive · Block analysis · Coinkite advisory · Coinkite status page

Which Seeds Are Affected

The single question that matters: what firmware was running when your seed was generated? Not what is installed now. Per Coinkite's advisory, with one place where Block's analysis differs:

Mk2 and Mk3Seeds generated on firmware 4.0.0 through 4.1.9 (March 2021 onward). Coinkite’s advisory starts the range at 4.0.1; Block’s analysis puts 4.0.0, released 17 March 2021, on the same vulnerable path. The two differ, so treat 4.0.0 as affected.
Mk4 and Mk5Seeds generated on firmware before 5.6.0 (Edge releases before 6.6.0X)
QSeeds generated on firmware before 1.5.0Q (Edge releases before 6.6.0QX)

If you cannot remember which firmware the device was on when you set it up — and almost nobody can — the date is the practical test. A seed created on a Coldcard from March 2021 until the patched releases of July 2026 should be treated as affected, and so should one created later on a device that had not yet been updated.

Not affected

  • Seeds made by adding at least 50 fair, independent dice rolls through the device’s Add Dice Rolls option, where the rolls stayed private and unrecorded and you use the final words shown after adding them. Coinkite says it does not consider these at risk from this bug alone. Fewer rolls, or any doubt about them, and its guidance is to migrate
  • Seeds generated on a Mk2 or Mk3 running firmware 3.2.2 or earlier. Block’s analysis says those versions used the chip’s hardware random number generator directly, and places the original Mk1 outside the flaw as well. This is Block’s finding: Coinkite’s advisory does not address versions before 4.0.1
  • TAPSIGNER, OPENDIME and SATSCARD, which Coinkite says run different codebases
  • Seeds generated securely on another device or in other software and only imported into a Coldcard. Coinkite’s migration guide says such a seed “is not weakened merely because it was imported”, because the flaw is in on-device seed generation

Sources: Coinkite advisory · Coinkite migration guide · Block analysis

What to Do Now

This mirrors Coinkite's own advisory and migration guide, with the habits this site already teaches applied to the migration.

1

Assume your seed is affected until you can prove otherwise

If your seed was generated on a Coldcard at any point since March 2021, on firmware older than the fixed releases, and you did not add 50 or more private dice rolls, treat it as compromised now. Do not wait to see whether your address gets swept. The thefts ran in waves, and being missed in one wave means nothing about the next. Galaxy Research said on 13 August that it had confirmed no attacker activity after 6 August, and we have found no report of a later sweep, but an unmoved seed is exactly as weak as it was in July. Coinkite’s guide puts the rule simply: if you cannot establish how the seed was generated, migrate.

2

Update the firmware, then generate a completely new seed

Coinkite has published fixed firmware for every affected model and release track; its Security Status page lists the minimum fixed release for each (4.2.0 for the Mk2 and Mk3, 5.6.0 for the Mk4 and Mk5, 1.5.0Q for the Q, and 6.6.0X or 6.6.0QX on the separate Edge track) and the releases it currently recommends. Download it only from coldcard.com, and check the file’s SHA-256 hash and the signed signatures.txt before installing, as Coinkite’s guide instructs. The update only fixes how future seeds are made. It cannot add randomness to a seed that never had it, which is why Coinkite says to generate a new seed on the updated device, with New Wallet rather than by restoring or cloning the old one. Before you erase anything, confirm you can still recover the old wallet from its backup and note its wallet fingerprint: never destroy the only working copy. A new seed on a different vendor’s device is also a perfectly good answer.

3

Send a test amount to the new wallet first

Same discipline as any migration. Coinkite’s guide adds two checks before the first send: write down the new wallet’s fingerprint, then power the device off and on again and confirm the fingerprint and a receive address still match. Then send a small amount to the new wallet, verify the address on the device screen, wait for it to confirm, and only then move the rest.

4

Move everything, then never use the old seed again

Empty every wallet that hangs off the old seed: the base wallet, each account and address type you used, every passphrase wallet, any BIP-85 child wallets, and any multisig wallet the seed is a key in (the special cases below cover those). Coinkite calls a strong passphrase an independent barrier, but still says to migrate — once the seed words themselves can be reconstructed, everything rests on the passphrase alone, and ordinary passphrases fall to brute force. The old seed is burned. Keep its backup until every balance has arrived and confirmed, as Coinkite’s guide says. After that, retire it and mark or destroy the old backups so nobody mistakes them for live ones later.

5

Expect the phishing wave that follows every incident

Incidents like this are immediately followed by fake "migration tools", fake support agents, fake firmware downloads, fake "recovery" services, and fake advisory emails aimed at exactly the people scrambling to respond. A genuine-looking sender proves nothing: on 11 October 2026 Coldcard said an unauthorized phishing link had been posted from its own official X account and then deleted, and that its only official website is coldcard.com. The rule does not change: nobody who contacts you, and no migration tool or recovery service, will ever need your recovery phrase. Type it into a hardware wallet you are deliberately restoring, or into nothing.

Special cases

The same words on another device

A seed made on an affected Coldcard stays weak wherever it goes. Coinkite’s guide says it “remains affected if it is later restored, imported, or cloned”, and that the Clone Coldcard feature is not a fix because it copies the existing seed. Load the old words only to sign the transfers out, and never into a website.

Multisig

If one key in your multisig wallet was generated on an affected Coldcard, Coinkite’s guide says to replace it: create and verify a new multisig wallet with a new key in that seat, then move the funds across. If the affected keys are enough to meet the signing threshold on their own, the multisig gives no protection at all. Block makes the same point about setups built only from affected Coldcards.

BIP-85 child wallets

A child wallet derived from an affected seed needs migrating too. Coinkite’s guide says to include every funded child, and to note its type and index first so you can still reach it. The same index under your new seed is a different wallet, so the coins have to be sent, not re-derived.

Mk2 and Mk3 owners

Coinkite says firmware 4.2.0 is the final release for the Mk2 and Mk3 and can generate a sound replacement seed, so new hardware is not required to migrate. It recommends moving long-term custody to one of its current models. That is a vendor’s recommendation about its own products; any hardware wallet you trust will hold the new seed.

Paper wallets made on the device

Block’s analysis lists other things the same generator produced on affected firmware, including the private key of a Coldcard-made paper wallet, unless it was made with the paper wallet’s Use Dice option. Block says such a key can be searched for the same way a seed can. Coinkite’s advisory does not cover paper wallets; if you hold coins on one, move them.

Sources: Coinkite advisory · Coinkite migration guide · Coinkite status page · Block analysis · Decrypt, 14 Aug · Cointelegraph, 11 Oct

What This Changes, and What It Does Not

Until 11 August 2026, our self-custody guide recommended the Coldcard. The link was never an affiliate link, so no revenue rode on the recommendation — but the recommendation was ours, and we are not going to pretend it never existed. We removed it twelve days after Coinkite's advisory, and it stays off the list today. Coinkite's status page, which it calls the living post-mortem for the incident, said when last verified on 1 October 2026 that a separate detailed technical post-mortem “remains in preparation”, and that the independent checks of its fix published so far are “not a complete audit”. We will look at this again when that post-mortem is published. Nobody caught the flaw before the attackers did, and that includes Coinkite, outside reviewers and us: it sat for five years in code anyone could read, and the signals everyone relied on — published source code, a long track record, a security-obsessed reputation — all pointed the right way the whole time.

That is precisely the lesson. Choosing a hardware wallet moves trust from your computer to a vendor, and no amount of reputation reduces that trust to zero. The defenses that actually contained this flaw existed before it was found, and they are the unglamorous ones:

Supply your own randomness

Coldcard users who added 50 or more fair, independent, private dice rolls when creating their seeds are the ones Coinkite says it does not consider at risk from this bug alone. Dice-roll randomness exists for exactly this failure: it removes the vendor's random number generator from the list of things you have to trust. Coinkite has since made it compulsory: from firmware 5.6.1 and 1.5.1Q, every new seed on its current models has to mix in dice rolls, coin flips or timed key presses from the user.

Multisig across vendors

A 2-of-3 wallet with keys on devices from different manufacturers survives any single vendor's catastrophic bug, because one reconstructed seed is still one signature short. This incident is the strongest real-world argument for that setup to date. It is not a reason to sit still: a key that came from an affected Coldcard still needs replacing, and a multisig built entirely from affected Coldcards had no such protection.

Sources: Coinkite status page · Coinkite advisory · Coinkite 5.6.1 release · Block analysis

And what it does not change: the boring hierarchy of how bitcoin is actually lost. Vendor firmware bugs of this severity have now happened once at scale. Lost backups, phishing, and seeds typed into websites happen every single day, and they do not pause while the news cycle runs. The habits that defend against those — tested backups, on-device verification, buying direct — are unchanged, and they still matter more than which box you buy.

Common Questions

I updated my Coldcard firmware. Am I safe now?

Not if your seed was generated on the old firmware. The update fixes how new seeds are generated; it does nothing for a seed that already exists. If your seed was created on affected firmware, you need to generate a new seed on the patched device and move your funds to it. That is Coinkite’s own guidance, not ours.

I restored my Coldcard seed onto a different wallet. Is it safe now?

No. The weakness is in the seed, so it travels with the words. Coinkite’s migration guide says a seed generated on an affected Coldcard “remains affected if it is later restored, imported, or cloned”, and Block’s analysis says the same about a seed exported to another wallet. Only a newly generated seed fixes it. The reverse also holds: Coinkite says a seed that was generated securely somewhere else is not weakened by having been imported into a Coldcard.

My Coldcard is air-gapped and has never touched a computer. Does that protect me?

No, and this is the uncomfortable part. The flaw is in the seed itself: it was generated with far less randomness than it should have been, so attackers can reconstruct affected seeds by brute force on their own hardware, without ever contacting your device. The air gap protects a good seed from a bad computer. It cannot protect a weak seed from arithmetic.

I used dice rolls when I set up my Coldcard. Am I affected?

Coinkite says a seed is not at risk from this bug alone if you added at least 50 fair, independent dice rolls through Add Dice Rolls, kept the rolls private and unrecorded, and use the final words the device showed after adding them. Fewer rolls than that, or rolls you are not sure about, and the honest answer is to migrate anyway. The cost of an unnecessary migration is an afternoon and a transaction fee. The cost of the other mistake is everything in the wallet.

One key in my multisig is a Coldcard. Do I need to do anything?

Yes, though how urgent it is depends on the setup. If only one key came from an affected Coldcard and the wallet needs two or more signatures, an attacker who rebuilds that one key is still short of the threshold. Coinkite’s migration guide still says to replace the affected key: create and verify a new multisig wallet with a new key in its place, then move the funds. If enough of the keys came from affected Coldcards to meet the threshold on their own, the multisig gives no protection, and the funds should be treated like any other affected wallet.

Does this mean hardware wallets are pointless?

No. The lesson is narrower and more useful: a hardware wallet moves trust from your computer to the device vendor, and vendors can fail too. The mitigations that already existed are the ones that worked here — supplying your own entropy with dice rolls, and multisig across devices from different vendors, so no single vendor’s bug can reach the threshold. What empties most wallets is still lost backups and phishing, not firmware bugs. But firmware bugs are no longer hypothetical, and pretending otherwise would be marketing.

Sources

Firmware ranges and required actions are cited to Coinkite's own advisory, migration guide and Security Status page, except the first affected Mk2/Mk3 version, where this page follows Block's wider reading. The root cause is described from Coinkite's technical deep dive and Block's analysis, and the randomness estimates are Coinkite's own, which it calls preliminary. Loss figures are attributed to the named tracker with the date of the count, because they moved for weeks and may move again. Where a claim is our inference rather than a source's statement, it is marked as such in place.

Last updated: 12 October 2026. If you own an affected device, Coinkite's advisory, migration guide and Security Status page — not this page — are the authoritative sources for your model's exact upgrade path.

Disclaimer: This page is educational and is not financial or security advice. It summarizes an incident whose technical post-mortem and final loss total were still open on the date above; verify current guidance against Coinkite's own advisory and Security Status page before acting. This site's Coldcard links were never affiliate links. Our hardware wallet comparison, including its affiliate disclosures, is on the self-custody guide.