This website uses cookies

Read our Privacy policy and Terms of use for more information.

Keys and seeds in depth

Lesson 2 of 10
By the end of this lesson you’ll be able to say why a recovery phrase made with real randomness can’t be guessed and why that is no comfort, decide whether a passphrase is for you, back a phrase up so a single fire or a single burglar can’t end it, and check a hardware wallet the day it arrives.
A collage of a haystack the size of a mountain at night. A small man in an overcoat walks away from it down a pale road with a long deep blue needle over his shoulder, and a figure sits waiting on a stone further along.

Why a good phrase can’t be guessed, and how bad ones were

A 24-word phrase under the BIP-39 standard encodes 256 bits of randomness plus an 8-bit check, drawn from a list of 2,048 words. The number of possible 256-bit keys is 2 to the power of 256, which is a number 78 digits long.

Every computer on earth running until the sun burns out would not get through a meaningful fraction of them. A 12-word phrase has 128 bits, and the same holds.

That holds only if the randomness was real. In July 2026 thieves worked out seeds made on Coldcard hardware wallets, whose firmware from March 2021 on had drawn on a weak software source in place of the device’s hardware random number generator.

Coinkite, the maker, gives a preliminary estimate of the real search space: about 40 bits on its Mk2 and Mk3, and about 72 on its Mk4, Mk5 and Q, which should have had 128. The thieves needed no copy of any phrase and no device, and took about 1,789 BTC by Galaxy’s count in late August. Milk Sad, in July 2023, was the same kind of theft, from phrases made by a command-line tool.

Guessing
Only where the randomness was weak, as with Coldcard and Milk Sad. With real randomness, 2 to the power of 256 possible keys stays out of reach.
Copying
Photographed, typed into the wrong place, read off a screen or taken from a backup.
How a phrase is lost
How a phrase gets made matters. If a maker warns that its generator was weak, a firmware update won’t save your phrase: Coinkite says “Updating the firmware does not change or repair an existing seed.” Make a new phrase on fixed firmware, test it, and move everything across. Typing the old words into another wallet changes nothing.

Continue with The Crossover Pro

The rest of this story, plus two paid editions a week. $24.99 a month, or $249 a year. Already a member? Sign in above.

Subscribe to Pro