How a Seed Phrase Becomes Your Keys
Most wallets follow a set of public standards written in the Bitcoin community, known as BIP-39, BIP-32 and BIP-44. Ethereum wallets use the same ones. Together they explain why one list of words can restore every address a wallet ever showed you.
Step by step
- The wallet generates 128 or 256 bits of randomness.
- BIP-39 adds a short checksum and maps the result onto a fixed list of 2,048 words, giving 12 or 24 words. Each word stands for 11 bits.
- The words, plus an optional passphrase, go through a deliberately slow key-stretching function that produces a 512-bit seed.
- BIP-32 grows that seed into a tree of keys: a master key, and from it as many child keys as the wallet needs.
- BIP-44 fixes where in the tree each coin and account lives, which is why a different wallet app can find the same addresses.
The consequence: the words are not a password to your wallet. They are your wallet. Anyone who has them can recreate every key, in any compatible app, anywhere, without your device.
The optional passphrase
Some wallets let you add a passphrase, sometimes called a 25th word. The same words with a different passphrase produce an entirely separate set of keys. It protects you if someone finds the words on their own. It also means that forgetting the passphrase loses those funds as completely as losing the words, and nothing even hints that a passphrase was used.
How it fails
- Typing the words into a website, a form or a support chat hands over the wallet. No legitimate service ever needs them.
- Photos, notes apps, email drafts and cloud documents are copied, synced and sometimes scanned. Treat words stored there as exposed.
- The word list is public and the checksum means only some combinations are valid. A missing or misspelt word can sometimes be recovered, but a phrase you composed yourself is not random and is not safe.