Discussion of randomness in COLDCARD firmware has been building across crypto communities lately. Some holders worry their seed phrases aren't random enough, some have switched wallets overnight, and others think it's an overreaction.
The technical details and the scope of any impact should come from manufacturer Coinkite's official announcements and independent security research, so this article doesn't repeat unverified claims. But the scare has pushed a long-neglected question to the front: a seed phrase is only as safe as the randomness used to create it.
And history shows that randomness bugs can hide for years without holders noticing.
Key takeaways
- A seed phrase is essentially a random number translated into words: 12 words carry 128 bits of entropy, and 24 words carry 256 bits.
- If the random number generator is flawed, the real entropy can be far lower than it looks, letting attackers brute-force wallets in bulk.
- Real cases such as Milk Sad, the Trust Wallet browser extension and Profanity caused real losses.
- When an advisory appears, check the official notice first: which models, firmware versions and creation dates are affected. Then decide whether you need a new seed phrase.
Why a seed phrase must be truly random

When a wallet creates a seed phrase, it first produces a random number (the "entropy") and then converts it into words using the BIP39 standard.
| Seed phrase length | Bits of entropy | Possible combinations |
|---|---|---|
| 12 words | 128 bits | About 3.4 × 10^38 |
| 24 words | 256 bits | About 1.2 × 10^77 |
| Flawed generator (example) | 32 bits | About 4.3 billion |
With 128 bits of entropy, even every computer on Earth working together could practically never guess a seed phrase. For the full math, read can someone guess your 12-word seed phrase?
That all depends on one condition: the randomness has to be real. If the generator is flawed, for example seeded with only 32 bits, then however long the resulting seed phrase looks, there are only about 4.3 billion possibilities. An ordinary computer may be able to try them all in hours or a day.
Randomness bugs that really happened
| When | Incident | The flaw | Consequence |
|---|---|---|---|
| 2022 | Profanity vanity address generator | Too small a random seed space when creating keys | Market maker Wintermute lost about $160 million |
| 2022–2023 | Trust Wallet browser extension | A flawed random number method in one version | Some wallets created during that window were drained; about $170,000 lost |
| 2023 | Milk Sad (Libbitcoin Explorer) | A command-line tool seeded randomness with 32-bit system time | The bug existed for years; losses topped $900,000 once it was exploited at scale |
| 2023 | Randstorm (early BitcoinJS) | Weak randomness in some web wallets from 2011 to 2015 | Researchers warned that wallets created then may be at risk |
Note: figures come from public security research and reporting, and losses are approximate as reported at the time.
Milk Sad is the classic "sleeper" bug. The faulty code dated back to around 2016, and researchers traced the root cause only after attackers began draining wallets at scale in 2023. For years, users believed their seed phrases were perfectly safe.
What these cases share: the flaws were in software randomness, not in the seed phrase standard itself. Users couldn't see the problem, and words that "look random" tell you nothing about safety.
How hardware wallets generate randomness

Mainstream hardware wallets usually rely on a true random number generator built into the chip, and some mix entropy from multiple sources to reduce the risk of one source failing.
Devices like COLDCARD also offer dice-roll seed generation: you roll physical dice and enter the results as a source of entropy. Even if the device's generator had a flaw, enough rolls would still make your seed phrase sufficiently random.
| Entropy source | Strength | Limitation |
|---|---|---|
| Chip true random number generator | Convenient, nothing to do | You can't verify it; you rely on the manufacturer |
| Mixed sources | Still protected if one source fails | Still depends on correct firmware |
| Your own dice rolls | You control the randomness and can verify it independently | Tedious; too few rolls means too little entropy |
Tip: each roll of a six-sided die adds about 2.58 bits of entropy. Reaching 256 bits takes about 99 rolls. A dozen rolls is nowhere near enough.
What to do when you hear about a bug
- Read the official advisory first. Confirm which models, firmware versions and seed creation dates are affected. Don't rely on screenshots and secondhand summaries.
- Work out whether you're in scope. When was your wallet created, on what device and with which firmware?
- If you're affected, generate a brand-new seed phrase on a device you trust and move your funds promptly. Don't import the old seed phrase onto the new device.
- Watch for opportunistic scams. Fake "urgent migration" emails and lookalike websites follow every advisory. Any "fix tool" that asks for your seed phrase is a scam.
- Add a passphrase. A passphrase isn't part of the seed phrase, so even if the seed's randomness were flawed, an attacker would also have to crack the passphrase.
FAQ
How do I know whether my seed phrase is random enough?
You can't tell by looking. Even a jumble of words can come from a flawed generator. The reliable approach is to follow official advisories and independent security research and check whether your device and firmware version are affected.
Isn't it more random to pick 12 words myself?
The opposite. Human-chosen words follow patterns, carry far less entropy than generated seed phrases and usually fail the checksum. Never invent your own seed phrase.
Is generating a seed phrase with dice safe?
If your device supports it, you do it correctly and you roll enough times, dice let you control randomness independently. Do it somewhere private, never photograph or record it, and dispose of any notes carefully.
After switching wallets, are coins in the old wallet still safe?
If the old seed phrase really has a randomness flaw, those funds could be stolen at any moment. Once you confirm you're affected, move everything to the new wallet promptly, including assets on other chains.
Summary
A randomness bug can hide for years because you can never judge a seed phrase's safety by how it looks. The COLDCARD scare is less about one brand than a reminder to every holder: follow official security advisories, understand where your entropy comes from, add dice-roll randomness when it makes sense and protect your seed phrase with a passphrase.
To learn how a passphrase adds protection, read can a 25th word save you? For the risk of tampered devices, read a hardware wallet with a hidden extra circuit board. This article is for education only and isn't investment advice.

Covers Ethereum and DeFi: smart contracts, gas, Layer 2, and how decentralized exchanges and lending protocols work, and where they can fail.
Our editorial principles →

