Randomness & entropy

Beginner Intermediate Expert

Every other protection on this site assumes your seed was generated randomly. If it was not, a perfect steel backup in a bank vault protects nothing — an attacker can simply regenerate your keys. This page explains randomness from first principles up to doing your own dice entropy safely.

Educational only — no generator hereSeed Phrase Field Guide does not, and never will, generate, check or accept seed phrases, dice rolls or entropy. Any website offering to "generate", "validate" or "complete" your seed online should be treated as unsafe. Do these steps only on dedicated, offline signing devices as described below.

At a glance: the confidence ladder Beginner

You do not need to understand everything on this page to be safe. Most people should stop at step 1 or 2. Each step adds independence from any single maker, at the cost of more effort and more room for human error.

  1. Let a reputable hardware wallet generate the seed, bought directly from the maker, with up-to-date firmware. Write the words on paper, then later on metal. Never photograph or type them.
  2. Add a check that does not rely on trusting the device alone: use a device that mixes in entropy from more than one source and lets you verify that it did (for example Trezor's entropy check), or add your own dice rolls on a device that mixes them in.
  3. Understand and audit the process: learn how entropy becomes words, practise with throwaway rolls, learn the bits-per-roll maths, and verify the maths on an offline computer. Compare entropy sources side by side.
  4. Expert: reason about min-entropy, dice bias and the NIST SP 800-90 series, and use vendor diversity in multisig so that no single random-number generator can sink you. Learn to test vendors' entropy claims and check that passphrases, BIP85 children and SLIP-39 shares are generated as carefully as the seed.
Why this matters in 2026In July 2026 a firmware bug meant that seeds generated on affected COLDCARD firmware had far less entropy than intended, and attackers stole funds by regenerating them offline. Users who had added at least 50 private dice rolls were, according to the maker, not at risk from that bug alone. See the case note. A trusted brand is not proof of good randomness; independent entropy and verification are.

Why randomness matters Beginner

A 12-word BIP39 phrase holds 128 bits of entropy: 2128 ≈ 340,282,366,920,938,463,463,374,607,431,768,211,456 possibilities. Even a billion computers each testing a billion seeds per second would need around ten thousand billion years to search a meaningful fraction. That security only holds if every one of those possibilities was equally likely.

If a buggy generator effectively used only 32 bits (about 4.3 billion possibilities), a single graphics card can check them all in a day. This is not theoretical: it is exactly what happened in the Trust Wallet and Milk Sad incidents, where thieves swept thousands of wallets.

Effective entropyPossibilitiesPractical attack
32 bits~4.3 billionHours on one PC — actively exploited (Trust Wallet extension 2022–23, bx seed)
48 bits~2.8 × 1014Feasible for well-resourced attackers (Randstorm-era browser RNGs)
64 bits~1.8 × 1019Expensive but within reach of large GPU farms
128 bits~3.4 × 1038Considered infeasible for the foreseeable future
256 bits~1.2 × 1077Far beyond infeasible

Why you cannot just pick the words yourself Beginner

People are poor random generators. When asked to "pick randomly" we favour familiar words, avoid repeats, spread choices evenly and follow patterns we do not notice. An attacker does not try every possible seed; they try the likely ones first.

  • Evidence: wallets built from memorable phrases ("brain wallets") were emptied within seconds by automated crackers (Castellucci, DEF CON 23).
  • The checksum catches you out: twelve hand-picked words fail the BIP39 checksum 15 times in 16 (see below), so people "fix" the last word with a website, which exposes the whole phrase.
  • Even-looking is not random: a sequence such as 1-2-3-4-5-6 repeated has a perfectly even spread of faces but almost no unpredictability. Krux warns about this kind of pattern in dice input (Krux: empirical entropy measurement).

Physical randomness (dice, coins, a hat of word slips drawn with replacement) works only because the outcome is decided by physics, not by you. The rule is the same for all of them: record every result, never re-roll or skip a result you dislike.

What "true randomness" means Intermediate

  • Unpredictable: no one — including the device maker — can predict or reproduce the output.
  • Uniform: every value is equally likely (a fair die, not a loaded one).
  • Independent: earlier results tell you nothing about later ones.
TypeHow it worksSuitable for keys?
TRNG (true/hardware RNG)Samples physical noise — thermal noise, ring-oscillator jitter, radioactive decayYes, when health-tested and conditioned
CSPRNG (cryptographically secure PRNG)Deterministic algorithm (e.g. ChaCha20, HMAC-DRBG) seeded with enough true entropy; output indistinguishable from randomYes, if properly seeded — this is what OS /dev/urandom/getrandom() provide
Ordinary PRNGFast statistical generators (Mersenne Twister, Math.random(), LCGs)Never — state can be recovered or brute-forced
Human choicePicking words, phrases, "random" numbersNever — humans are highly predictable
Physical dice / coinsMechanical randomness, recorded by handYes if done carefully, offline, with enough rolls

Standards: NIST SP 800-90A (DRBGs), SP 800-90B (entropy sources). Secure elements are typically evaluated under Common Criteria with RNG requirements such as Germany's BSI AIS 20/31; Ledger, for example, states that its secure-element TRNG is evaluated to EAL5+ / AIS-31 (Ledger Donjon threat model). See the expert section for how these standards fit together.

TRNG vs CSPRNG in one sentenceA TRNG harvests unpredictability from physics but its raw output can be biased and slow; a CSPRNG stretches a secret seed into as many unbiased-looking bits as needed but cannot create unpredictability it was never given. Good systems use both: a health-tested physical source seeds a vetted CSPRNG. If the seeding step is broken, the output still looks perfectly random — which is exactly why the failures below went unnoticed for years.

How BIP39 entropy becomes words Intermediate

The checksum word in plain English Beginner

Think of the last word as a check digit, like the final digit of a bank card number. It is worked out from everything before it, so if you copy one word wrongly, the phrase usually stops "adding up" and a wallet will refuse it. That is all it does:

  • It catches mistakes. A random wrong word slips past the check only about 1 time in 16 for a 12-word phrase and about 1 time in 256 for a 24-word phrase.
  • It does not make the phrase stronger. The check word is calculated, not random, so it adds no secrecy. (Strictly, the last word holds a few random bits plus the check bits; the table below gives the split.)
  • It cannot be done by hand. Working it out needs a cryptographic hash (SHA-256), so a trusted offline device does it for you. Never use a website to "find" or "fix" a last word.
  • A valid check says nothing about randomness. Every seed in the incidents below passed it.

The steps in detail Intermediate

  1. Generate ENT random bits — 128 for 12 words, 256 for 24 words.
  2. Compute the checksum: take SHA-256 of the entropy; keep the first ENT/32 bits (4 bits for 12 words, 8 bits for 24).
  3. Append the checksum to the entropy → 132 or 264 bits.
  4. Split into 11-bit groups → 12 or 24 numbers from 0 to 2047.
  5. Look up each number in the 2,048-word list (position = number + 1 if counting from 1).

Schematic for a 12-word phrase (x = random bit, c = checksum bit — illustration only):

[xxxxxxxxxxx] [xxxxxxxxxxx] [xxxxxxxxxxx] … 10 more groups … [xxxxxxxcccc]
 word 1      word 2      word 3                            word 12

Worked mapping example: the 11-bit group 00000000000 = 0 → the 1st word in the list; 11111111111 = 2047 → the 2,048th word. Any real phrase must come from real random bits.

Phrase lengthRandom bits in last wordChecksum bits in last wordValid last words for given first words
12 words (128-bit entropy)74128 of 2,048
15 words (160-bit)6564 of 2,048
18 words (192-bit)5632 of 2,048
21 words (224-bit)4716 of 2,048
24 words (256-bit)388 of 2,048

Source: the BIP39 specification (checksum length = entropy bits ÷ 32). Ledger documents the same steps for its 24-word phrases (Ledger support).

Consequence: you cannot pick the last word freely, and a randomly chosen 24th word fails the checksum 255 times in 256. This is why "write any 24 words you like" fails — and why the final word must be computed, which requires SHA-256 and therefore a computing device you trust.

Why the last word is constrained — and what the checksum is not

  • Constrained: the last word carries the final few random bits plus the checksum bits, and the checksum is fixed by SHA-256 of all the entropy. With the first 11 words chosen, only 128 of the 2,048 words can follow; with 23 words chosen, only 8.
  • Error detection, not security: the checksum catches most typing and transcription mistakes. It adds no unpredictability: a 12-word phrase holds 128 bits of entropy, not 132 (Block Engineering makes the same point about hashing and checksums).
  • A valid checksum proves nothing about randomness. Every seed from every broken generator in the incidents below had a perfectly valid checksum.
  • Illustration only (never a real phrase): word1 word2 … word11 [7 random bits + 4 checksum bits]. Picking the "nicest-looking" valid last word throws away a few bits; let the device choose from your remaining random bits.

Hardware wallet RNGs: how makers combine sources Intermediate

Reputable hardware wallets generate seeds from a true random number generator on the chip, often inside a certified secure element, and several deliberately mix in sources from outside the device as well. The principle: if independent sources are combined properly (hashing or XOR), the result is at least as unpredictable as the strongest one, so one faulty or backdoored source does not ruin the seed. The catch is independence: a malicious source that can see the others before choosing its value could cancel them out, which is why commitment schemes matter (see verifying).

Maker (as documented, October 2026)Sources combined for a new seedUser-visible checkSource
TrezorHost computer/phone OS entropy + STM32 microcontroller TRNG; Safe 3 and Safe 5 add the Optiga secure element; Safe 7 adds the TROPIC01 chipEntropy check in Trezor Suite (commit-and-reveal, since February 2025)Trezor: how Trezor generates your wallet · firmware docs
LedgerSecure-element TRNG with standard post-processing; Ledger devices generate only 24-word phrasesNone for the RNG itself; relies on third-party certification (EAL5+, AIS-31)Ledger Donjon · Ledger support
BitBox02 / NovaFive inputs: secure-chip TRNG, microcontroller TRNG, a per-device factory random value, host-app entropy, and a hash of the device passwordOpen-source firmware can be reviewedBitBox security features · BitBox blog
Foundation PassportMultiple hardware sources including an open-source avalanche-noise TRNG; optional "user added entropy" (words drawn from a hat, device computes final word)Open-source TRNG design and firmwareFoundation docs · Passport security model
COLDCARDDesigned to use hardware TRNGs; optional dice rolls or coin flips mixed in, or dice-only seeds. A July 2026 advisory found affected firmware actually used a weak software generator — see case noteDice-maths verification; newer firmware (Mk4/Mk5 5.6.2, Q 1.5.2Q) can show the device's own entropy as words so the mix can be recomputed offlineCOLDCARD docs · Coinkite advisory
Blockstream Jade / Jade PlusInternal sensors (CPU counters, battery and USB readings, temperature), camera frames captured at boot, the chip's hardware RNG, and entropy sent by the companion app, mixed into a SHA-512 accumulator modelled on Bitcoin Core'sOpen-source random.c can be reviewed; reproducible builds. The help page on seed generation describes no dice-entry optionBlockstream: how Jade generates your phrase · random.c
Keystone 3 ProSecure-element TRNG by default; optional dice-roll entropy (firmware 1.2.6+) for standard or Shamir walletsKeystone says you can recompute a dice-generated phrase offline; firmware 2.5.0 "improved dice roll entropy validation"Keystone: dice roll guide · Keystone BTC-only firmware
SeedSigner / Krux (DIY, stateless)Dice rolls or camera-image entropy, hashed; Krux reports statistics on your rollsPublished dice-verification guides; reproducible against independent toolsSeedSigner dice verification · Krux docs

Features change with firmware. Check the maker's current documentation before relying on any row; listing is not endorsement.

Pros of device RNG

  • Fast and easy — no maths for the user
  • Certified TRNGs with health tests
  • Generated and kept inside the device
  • Multi-source designs survive one bad source

Cons

  • You must trust the firmware and supply chain
  • Closed-source RNG paths cannot be independently audited
  • Open source helps but is not a guarantee: the 2026 COLDCARD bug sat in published code for five years
  • A tampered or counterfeit device can use a known seed

Common pitfalls

  • Buying from marketplaces — the fake Trezor analysed by Kaspersky in 2023 used one of 20 pre-generated seeds
  • Using a seed card that came pre-filled in the box
  • Assuming a firmware update repairs an old seed — it does not; a seed made by a flawed generator must be replaced

Expert & community advice

  • Buy direct, verify authenticity on first use
  • For large sums, add your own dice entropy on a device that supports verifiable mixing
  • Vendor diversity in multisig limits any single RNG failure (10x Security Guide); Block notes that a quorum made only of affected devices gave no protection in the COLDCARD case

How devices use your dice: mixed in, or dice only Intermediate

Makers use your dice (or words drawn from a hat) in two different ways, and the difference decides what you can check:

  • Mixed in: your rolls are hashed together with the device's own random value. The seed is safe if either source was good, but you can only check the result if the device also shows you its own value or proves it in some other way.
  • Dice only: the seed comes from your rolls alone, hashed in a published way. You can recompute it on a second, independent tool (with throwaway rolls), but the quality and privacy of the rolls are entirely up to you.
  • You choose the words, the device adds the last one: you pick 11 or 23 words at random (from a hat, by dice or by coin) and the device only works out the checksum word.
Device (as documented, October 2026)What your input doesHow the maker says you can check itSource
COLDCARD (Mk4, Mk5, Q)Either mixed in (dice added to the device's random value) or dice onlyRecompute the seed from throwaway rolls with the published verify_seed_mix.py script; newer firmware can show the device's own value as words so a test mix can be redone offlineCOLDCARD: verifying dice-roll maths
SeedSignerDice only (50 or 99 rolls hashed with SHA-256), words you chose plus a computed last word, or a camera imageDice verification guide that compares the result with independent tools. The camera method hashes the photo, preview frames, the board's serial number and uptime; the project says it is the method that relies most on SeedSigner's own codeSeedSigner dice verification · SeedSigner custody guide
Foundation Passport Core / PrimeWords you chose (drawn from a hat with replacement), with the last word computed on the device (Core 2.3.0+, Prime KeyOS 1.3.1+)The device computes only the checksum word, so your words are exactly what you drew. Foundation warns that the quality of your randomness then rests entirely with youFoundation: user added entropy · KeyOS 1.3.1 release
Keystone 3 ProDice rolls entered on the device (at least 50; 99 recommended for 256 bits); Keystone's guide says the phrase is generated "based on the entropy obtained from the dice rolls"Keystone describes recomputing the phrase offline. Its guide does not say whether device entropy is mixed in, so treat it as dice-only unless the current documentation says otherwiseKeystone dice roll guide
KruxDice only (d6 or d20), with statistics on your rollsShows warnings for uneven counts and arithmetic patterns; says it cannot guarantee your rolls have good entropyKrux: entropy measurement
TrezorNo dice entry; device entropy is mixed with entropy from the computer or phoneCommit-and-reveal entropy check in Trezor Suite (see verifying)Trezor: entropy check
Blockstream JadeNo dice entry described; several internal sources plus companion-app entropy are mixedRead the open-source generator; verify the firmware buildJade wiki: entropy

Conceptual summary only. Menus and firmware versions change; follow the maker's current guide, and practise with throwaway rolls before generating a real seed.

Verifying a mix, step by step (conceptually)1) Update the device and download the maker's verification script beforehand. 2) On the device, start a test wallet with throwaway rolls. 3) On an offline computer, feed the same throwaway rolls (and, for mixed designs, the device's revealed value) into the script. 4) Confirm that the words or fingerprint match. 5) Erase the test wallet, never fund it, destroy the notes, and create the real seed with fresh rolls that are never typed anywhere else. This proves the device follows its published method; it cannot prove your dice were fair.

Verifying a device's entropy Intermediate Expert

You cannot look at a seed and tell whether it was random. What you can verify is the process: that your own entropy was really used, and that the device followed its published algorithm. Approaches, from easiest to most demanding:

ApproachWhat it showsWhat it does not show
Commit-and-reveal entropy check (Trezor Suite)The device commits to its own random value before receiving the computer's, then for a random number of throwaway rounds reveals it so Suite can rebuild those candidate wallets and compare public keys. A device that cheats risks being caught on a round it cannot predict. If a check fails, Suite stops setup and warns that the device may be compromised.The final seed's device entropy is never revealed, so its quality is inferred, not proven; it also relies on the computer's randomness being private
Dice mixed with device entropy, recomputed offline (COLDCARD "View TRNG Words" + verify_seed_mix.py)On a disposable run, the final words equal the published mix of the device's value and your rollsOnly that run. COLDCARD's docs say never to fund a verification wallet: erase it, then start again with fresh, unrecorded rolls
Dice-only seed reproduced on an independent tool (COLDCARD, SeedSigner, Krux)The device hashes your rolls exactly as documented, so the seed depends only on your diceWhether your dice and rolling were fair and private — that is on you
Statistics on your own input (Krux)Warnings if face counts look uneven or rolls follow arithmetic patternsKrux itself says it cannot ensure rolls have good cryptographic entropy

Sources: Trezor: entropy check (firmware 2.8.7+ on Safe 3/Safe 5/Model T, 1.13.1+ on Model One) · Trezor firmware: entropy check workflow · COLDCARD: verifying seed mixing · SeedSigner · Krux

Offline, air-gapped practice — the ground rules

  • Verify with throwaway material only. Every maker's guide says the same: prove the maths with disposable rolls, never fund that wallet, then create the real seed with fresh rolls that never leave the device.
  • Use an amnesic, offline computer (for example a live system booted without networking or storage) and download the verification script beforehand. Terminal history, clipboards, logs and photos can all keep secrets.
  • Roll sheets and "TRNG words" are as sensitive as the seed. Destroy them by burning or cross-cut shredding once the backup is checked.
  • Privacy of the room: no phones, smart speakers or cameras that can see the dice or the screen.
  • Record fingerprints, not secrets: note the wallet fingerprint and a receive address so you can later confirm a restore produced the same wallet.

Dice and coin-flip methods (offline, done properly) Expert

Generating entropy yourself removes the need to trust a device's RNG at the cost of more work and more room for human error. The safest pattern is "dice in, device computes": you roll; an air-gapped signer turns your rolls into a seed and calculates the checksum.

How many rolls?

SourceBits per eventFor 128 bits (12 words)For 256 bits (24 words)
Fair six-sided die (hashed)log26 ≈ 2.585≥ 50 rolls≥ 99 rolls
Fair coin flip1128 flips256 flips
Die used as coin (odd/even)1128 rolls256 rolls
Fair 16-sided die / hex432 rolls64 rolls
Fair 20-sided die (hashed)log220 ≈ 4.32≥ 30 rolls≥ 60 rolls

50 / 99 d6 rolls are the figures documented by COLDCARD and SeedSigner, which hash the roll string with SHA-256; the d20 figures are from Krux. These minimums assume fair dice — see bias for why many people roll well beyond them.

Bits-per-roll maths, step by step Beginner Intermediate

"Bits" are just a way of counting possibilities. Each extra bit doubles the number of possibilities, so n bits means 2n equally likely outcomes. The figures below need no calculator: they are worked out for you.

  1. One coin flip has 2 outcomes = 1 bit.
  2. One fair six-sided die has 6 outcomes. 22 = 4 is too few and 23 = 8 too many, so a roll is worth between 2 and 3 bits: about 2.585 bits.
  3. 50 rolls give 650 ≈ 8.1 × 1038 possible sequences, a little more than 2128 ≈ 3.4 × 1038. That is why 50 is the documented minimum for a 12-word (128-bit) seed: 50 × 2.585 ≈ 129 bits.
  4. 99 rolls give about 255.9 bits, a fraction of one bit short of 256. Makers use 99 for 24-word seeds because the hash output is 256 bits and the shortfall makes no practical difference; Foundation's guide simply says about 100.
  5. Hashing does not add entropy. SHA-256 turns any number of rolls into exactly 256 bits that look random, but 20 rolls hashed are still only about 52 bits of unpredictability.
A rule decided in advance is not "re-rolling"Some manual methods turn a die into bits by keeping only some faces, for example 1–4 as two bits each and re-throwing 5 and 6. That is a fixed rule applied to every roll, so it keeps every kept outcome equally likely. What breaks randomness is re-rolling or discarding results because you did not like them. Hashed methods on a signer avoid the question altogether, because every face is used.

Dice quality, bias and how to test it Intermediate

No real die is perfectly fair. Drilled pips remove different amounts of material from each face, rounded corners and soft edges let a die favour some faces, and the way you throw matters. The good news is that when rolls are hashed (as COLDCARD, SeedSigner and Krux do), a small bias costs only a little entropy per roll, and you can compensate by rolling more.

  • Casino (precision) dice are machined to tight tolerances with sharp edges and flush-filled pips, so they are generally considered closer to fair. They are a common community recommendation, but they are not magic: throwing technique and independence still matter.
  • Ordinary rounded dice are acceptable for hashed methods if you add a generous margin of extra rolls; they are a poor choice for manual binary methods where each roll maps directly to bits.
  • Rolling technique: shake in a cup, throw against a backstop onto a hard surface, and read in a fixed order. Never "place" a die or nudge one that is cocked — re-throw cocked dice only, by a rule decided in advance.

Testing a die (conceptually): roll it many times, count how often each face appears, and compare with an even spread using a chi-squared goodness-of-fit test (NIST/SEMATECH e-Handbook). Two cautions: detecting a bias of about one percentage point takes thousands of rolls, so a short test proves little; and passing the test shows the faces are even, not that the sequence is unpredictable. Do this with a separate practice session — never with the rolls you will use for a seed. The printable dice entropy worksheet has a tally table for this, and records only counts.

Worked example: how much does bias cost?Suppose a poor die shows a six 20% of the time instead of 16.7%. Its worst-case unpredictability per roll (min-entropy, explained below) is −log2(0.20) ≈ 2.32 bits instead of 2.585. Reaching 128 bits would then need about 56 rolls instead of 50, and 99 rolls would still deliver roughly 230 bits. This is why community advice for hashed dice methods is simply "roll more than the minimum", for example 99 rolls even for a 12-word seed.

Coin flips and von Neumann debiasing Intermediate

A coin gives at most one bit per flip. A 2023 study of 350,757 flips found that ordinary coins land on the same side they started about 50.8% of the time, with large differences between people (Bartoš et al., arXiv 2310.04153). That is a small bias, but it shows that "fair coin" is an assumption, not a fact.

The von Neumann trick (1951): flip in pairs. Heads-then-tails counts as one output bit, tails-then-heads as the other, and pairs that match (HH, TT) are discarded. If flips are independent with any fixed bias, the two kept outcomes are exactly equally likely (von Neumann, "Various techniques used in connection with random digits").

Pros

  • Removes a constant bias exactly, without any computer
  • Easy to understand and audit

Cons

  • Wasteful: at least four flips per output bit on average, so roughly 1,000+ flips for 256 bits
  • Does nothing about dependence between flips (for example a habit that makes the next flip resemble the last)

Common pitfalls

  • Overlapping pairs (flips 1–2, then 2–3) — pairs must not share flips
  • Miscounting over hundreds of flips
  • Always starting with the same side up, which turns the same-side effect into a heads/tails bias

Expert & community advice

  • For practical seed generation, hashing many flips or rolls on an air-gapped signer is simpler and tolerates bias; von Neumann is mainly valuable for understanding
  • Prefer dice (2.585 bits each) over coins if you are doing it by hand

Playing cards: shuffles and draws Intermediate

A well-shuffled deck is a large store of randomness: a 52-card deck can be in 52! ≈ 8.07 × 1067 orders, about 225.6 bits. That is more than a 12-word seed needs but less than 256 bits. How you use the cards matters:

  • Full deck order: how much of those 225.6 bits you get depends on how well the deck was shuffled. Under the standard mathematical model of riffle shuffling, Bayer and Diaconis showed that about seven riffle shuffles are needed before a 52-card deck is reasonably close to random, and fewer leave it far from random (Bayer & Diaconis, Annals of Applied Probability, 1992). Real human shuffles are less regular than the model, and other shuffling styles can need many more passes.
  • Draws with replacement: draw a card, record it, put it back, reshuffle well. Each draw is worth log252 ≈ 5.7 bits, so 23 draws give about 131 bits and 45 draws about 256 bits. Drawing without replacement gives a little less each time, because the deck shrinks.

Pros

  • Cards are everywhere and do not look like bitcoin equipment
  • A fully shuffled deck holds a lot of entropy
  • Bias in individual cards is less of an issue than with worn dice

Cons

  • Few signing devices accept card input directly, so cards usually have to be converted to dice-style numbers or words by hand
  • Shuffle quality is hard to judge; a few lazy shuffles leave a lot of order behind
  • Fewer bits than 256 from one full deck

Common pitfalls

  • Starting from a new, sorted deck and shuffling only two or three times
  • Forgetting to replace cards when the method assumes replacement
  • Leaving the recorded order lying around: it is as sensitive as the seed
  • Typing card values into a website "converter"

Expert & community advice

  • Treat cards as an educational or supplementary source; dice on a device that hashes them are simpler
  • If you use cards, shuffle well beyond seven times, mix methods (riffle, cut, spread and stir), and decide the procedure before you start

Method A — Dice into an air-gapped signer (recommended)

  1. Use casino-grade (precision, sharp-edged) dice if possible; ordinary rounded dice have small biases that hashing tolerates but you should still prefer good dice.
  2. Roll in a cup or tray, one die at a time or several in a fixed left-to-right order. Record every roll; never re-roll because a result "looks non-random".
  3. Enter the rolls directly on the device's dice-entry screen (COLDCARD, SeedSigner, Krux and others offer this), running current firmware. Do not type them into any computer or phone.
  4. The device hashes the rolls and shows the resulting words, including a valid checksum word.
  5. Write the words down; destroy the roll record (it is equivalent to your seed) by burning or cross-cut shredding.
  6. Optional verification: repeat the exact process with a throwaway set of rolls on the device and on a second independent tool (e.g. the maker's offline verification script on an air-gapped computer) and confirm they match. Never verify your real rolls on a networked computer.

Method B — Fully manual binary, last word computed offline

  1. Produce 128 (or 256) bits by coin flips or odd/even die rolls. Write them in rows of 11.
  2. Convert each complete 11-bit row to a number (0–2047) and look it up in a printed BIP39 English wordlist (from the official BIP39 repository, printed in advance, offline).
  3. You now have 11 words + 7 leftover bits (12-word) or 23 words + 3 bits (24-word). The final word needs the SHA-256 checksum, which cannot reasonably be done by hand.
  4. Compute the final word on an air-gapped device: several signers let you enter the first 11/23 words and display the valid final-word options (e.g. SeedSigner's "calculate final word" from your remaining bits, COLDCARD's import flow). Choose the one matching your leftover bits — not a "nice-looking" one.
  5. Restore the full phrase on your hardware wallet and test recovery as usual.

Pros

  • No reliance on device RNG
  • Auditable: you can prove where entropy came from
  • Defends against backdoored or faulty RNG

Cons

  • Slow; transcription errors are common
  • Roll sheets are as sensitive as the seed
  • Still requires trusting the device for hashing/checksum and key use

Common pitfalls

  • Too few rolls (e.g. 24 rolls ≈ 62 bits)
  • Discarding "ugly" results
  • Using a phone dice app or online dice
  • Doing the checksum on an online computer or website
  • Hidden cameras or a phone in the room

Expert & community advice

  • Prefer "dice + device mixing" over dice-only where supported
  • Follow the maker's verification doc exactly (COLDCARD, SeedSigner)
  • Practise the whole process with a throwaway seed first

Verifiable entropy features Expert

FeatureWhat it provesExamples (verify current support)
Dice-only seed with published hashing algorithmSeed derives only from your rolls; reproducible on another toolCOLDCARD, SeedSigner, Krux
User entropy mixed with device entropyNeither party alone controls the seedCOLDCARD (add dice to TRNG), Trezor (host + device, with entropy check), BitBox02 (host + password + device)
Camera-image entropyFresh physical noise from an image, hashedSeedSigner
Stateless operationDevice holds nothing after power-off; nothing to extract laterSeedSigner, Krux, Jade (stateless mode)
Open-source, reproducible firmware buildsReleased binary matches public sourceTrezor, COLDCARD, Jade, Keystone, BitBox02, SeedSigner OS and others — see reproducible builds in practice

Passphrases, BIP85 child seeds and SLIP-39: where their entropy comes from Intermediate Expert

Three popular features add secrets on top of a seed or split one up. Each has its own randomness rule, and getting it wrong can quietly undo a well-generated seed.

BIP39 passphrase entropy

BIP39 stretches a passphrase with PBKDF2-HMAC-SHA512 using only 2,048 iterations (BIP39 specification). That slows guessing only slightly, so a passphrase is roughly as strong as the randomness you put into it. A remembered quotation or a pet's name is a brain wallet in disguise; a randomly generated passphrase is not.

Random words from a 7,776-word dice list (EFF)Approximate entropyWhat it protects against
4 words≈ 51.7 bitsCasual discovery of a seed backup; not a determined, well-funded attacker
6 words (EFF's suggestion)≈ 77.5 bitsA thief who finds the seed backup and runs a large guessing campaign
8 words≈ 103.4 bitsA comfortable margin for high-value holdings
10 words≈ 129.2 bitsComparable to a 12-word seed on its own

Each word from the EFF long list is worth about 12.9 bits because 7,776 = 65 (five dice per word) (EFF dice-generated passphrases · EFF wordlists). Use the list offline and roll physical dice; the BIP39 word list works too, at 11 bits per word.

  • Why it mattered in 2026: in the COLDCARD weak-generator case, Coinkite said a strong, unique passphrase reduced immediate exposure for affected seeds (Coinkite advisory). A passphrase cannot fix a weak seed for ever, but random ones buy time.
  • Pitfalls: exact spelling, capitals and spaces all matter, and there is no "wrong passphrase" error. Losing a strong passphrase means losing the funds. Store it separately from the seed and include it in your inheritance plan. See the passphrase.

BIP85 child seeds: only as random as the master

BIP85 derives a key from the master seed on a fully hardened path such as m/83696968'/39'/0'/12'/0' (BIP39, English, 12 words, index 0), runs it through HMAC-SHA512 with the fixed key "bip-entropy-from-k", and keeps the first 128 or 256 bits as the child's entropy (BIP85 specification).

  • No new randomness is created. A child seed is unpredictable only because the master is. If the master came from a weak generator, every child is weak too.
  • One-way: a child phrase does not reveal the master or its siblings, so a leaked hot-wallet child does not expose the rest.
  • Verifiable: the specification publishes test vectors, so experts can check a tool's output with the published test master key, never with a real one.
  • Record the recipe: application, language, length and index. Without the index, rebuilding a child means trial and error. See BIP85 child seeds.

SLIP-39 shares need randomness twice

SLIP-39 (Shamir shares as words) needs good randomness when the master secret is created and again when it is split. The specification requires that the random values used to build shares "MUST be suitable for generating cryptographic keys", and that the master secret is at least 128 bits (SLIP-39 specification).

  • Why at least 128 bits: each split stores a 4-byte digest so a wrong set of shares can be detected. The specification notes that someone holding one share fewer than the threshold could use that digest to cut the secret's effective entropy by 32 bits, which is why 128 bits is the floor.
  • Split-time randomness: the "fewer than the threshold reveal nothing" promise assumes the share values were random. Splitting on a device with a broken generator would, in principle, weaken that promise even if the master secret was strong.
  • Dice for shares: Keystone documents dice rolls for Shamir wallets as well as standard ones (Keystone). See SLIP-39.

Pros

  • A random passphrase adds a second, separately stored factor
  • BIP85 cuts the number of independent seeds you must back up
  • SLIP-39 removes the single point of failure of one written phrase

Cons

  • None of them repairs a weak master seed
  • Each adds something else that must be recorded and inherited

Common pitfalls

  • Memorable passphrases with little entropy
  • Treating BIP85 children as independent backups of the master: they are not
  • Splitting shares on an untrusted computer

Expert & community advice

  • Generate passphrases with physical dice, like seeds
  • Do every derivation and split on the signing device, offline
  • If a maker announces an entropy flaw, review passphrases, children and shares as well as the master

Comparing generation methods Beginner Intermediate

A side-by-side summary of the main ways seeds are created. "Trust" means who could, in principle, know or influence your seed.

MethodYou must trustProsCons & pitfallsCommunity view
Hardware wallet, single device RNGMaker's chip, firmware, supply chainSimplest; certified TRNG; seed never leaves deviceUnverifiable by you; a firmware bug affects every user (COLDCARD 2026); counterfeitsFine for most people; buy direct
Hardware wallet mixing device + host entropy, with a verification checkThat device and host are not both compromisedOne bad source is not fatal; checks can catch a cheating deviceStill mostly opaque to non-experts; the host must be reasonably healthyGood default where available
Device RNG + your dice mixed inThat either your dice or the device is goodProtects against a bad device RNG and sloppy dice; verifiable on some devicesRoll records are secret; too few rolls adds littleWidely recommended for larger sums
Dice-only on an air-gapped signerYour dice, your privacy, the hashing codeIndependent of any RNG; reproducibleBias and too few rolls are on you; observers; transcription errorsGood for experienced users; practise first
Manual coin/dice binary, final word on a deviceYour counting; the device for the checksumFully transparentSlow; easy to miscount; the checksum still needs a trusted deviceEducational; error-prone for real funds
Words drawn from a hat (with replacement), final word on a deviceYour slips and mixingNo electronics for the first wordsUneven slips and poor mixing bias draws; drawing without replacement is wrongSupported by some makers (Passport); advanced
Software wallet on a phone or computerApp, OS RNG, the whole deviceConvenient; modern OS CSPRNGs are strongHistory of app bugs (Cake Wallet, Trust Wallet, Blockchain.info); malwareFor spending amounts only
Website or browser "generator"Site, browser, extensions, networkNone that justify the riskPages can be swapped or logged; Randstorm-era browser RNGs were weakAvoid
Your own chosen words, phrases or AI-chatbot outputYour imagination; the chatbot providerNonePredictable; brain wallets drained in seconds; prompts may be loggedNever

Entropy sources compared: bits, effort and pitfalls Beginner Intermediate

The table above compares who you must trust. This one compares the raw sources of randomness. Bits assume a fair source; real sources are a little worse, which is why the advice is to go beyond the minimum.

SourceBits per event (fair)Events for 128 / 256 bitsProsCons & pitfallsCommunity advice
Device TRNG (secure element or chip)n/aAutomaticNo effort; health-testedCannot be checked by you; firmware can bypass it (COLDCARD 2026)Fine for most; prefer multi-source designs
Six-sided die, hashed on a signer≈ 2.58550 / 99Cheap; tolerant of small bias; widely supportedRoll record is secret; too few rolls; observersCommon choice for larger sums
Casino (precision) die≈ 2.58550 / 99Closer to fair than rounded diceStill needs good throwing; costs a little moreOften recommended for manual and hashed methods
Twenty-sided die, hashed≈ 4.3230 / 60Fewer rolls (Krux supports d20)Cheap d20s are often poorly balancedUse precision dice and add rolls
Coin flip1128 / 256Very simpleSlow; same-side bias around 50.8%Prefer dice
Coin pairs with von Neumann debiasing≈ 0.25 per flip≈ 512+ / 1,024+ flipsRemoves a constant bias exactlyVery slow; does not fix dependent flipsMainly educational
Full shuffled deck (52 cards)≈ 225.6 per deck1 deck / not enough aloneLots of entropy from one itemShuffle quality hard to judge; little device supportShuffle well beyond seven times
Card draws with replacement≈ 5.723 / 45Each draw independent if reshuffledTedious; easy to forget to replaceSupplementary source
BIP39 words drawn from a hat1111 or 23 draws, last word computedDirectly gives words; supported by Passport and SeedSignerUneven slips, poor mixing, drawing without replacementAdvanced; follow Foundation's method
Camera image (SeedSigner)Not countableOne photoFast; physical noiseRelies most on the device's code; dark or covered lensConvenient; dice are more auditable
Diceware words (passphrase only)≈ 12.96–10 words for a passphraseMemorable yet randomNot a seed format; a typo means a different walletGood way to make a passphrase
BIP85 childInherits the mastern/aNo new backup per childWeak master means weak childrenOnly from a well-generated master
Your own choice, a phrase or an AI chatbotFar below the figures aboveNever enoughNonePredictable; cracked in secondsNever

Bits per event: log2 of the number of equally likely outcomes. Sources: COLDCARD, SeedSigner, Krux, Foundation, Bayer & Diaconis (1992), EFF, and the coin-flip study above. Hand-drawn words: if a device fills the last word's few random bits by a fixed rule, a 12-word phrase from 11 drawn words holds about 121 bits and a 24-word phrase from 23 words about 253 bits, both still far beyond brute force.

Measuring entropy: min-entropy and the NIST SP 800-90 series Expert

Shannon entropy vs min-entropy

Shannon entropy is the average surprise of a source. Min-entropy, Hmin = −log2(pmax), measures the attacker's best single guess, which is what matters for keys. A fair d6 has 2.585 bits of both; a biased die can keep a high Shannon figure while its min-entropy drops. Security standards use min-entropy and count it conservatively.

Why you cannot measure entropy from the output

A good pseudo-random generator seeded with 32 bits produces output that passes statistical test suites; only its source reveals the weakness. In the 2026 COLDCARD case, the health check that rejected repeated values was passed easily by a deterministic generator, and hashing made the output look uniform without adding a single possible seed (Block Engineering). Entropy has to be argued from a model of the physical source, then checked continuously.

How the NIST series fits together

DocumentCoversKey ideas for seed generation
SP 800-90B (2018)Entropy sourcesModel of noise source + optional conditioning + health tests; IID and non-IID estimation tracks giving a conservative min-entropy estimate; continuous health tests such as the Repetition Count Test and Adaptive Proportion Test to catch a source that fails in the field. NIST publishes an entropy-assessment tool (it needs about a million samples, which is why it is for designers, not dice users)
SP 800-90A Rev. 1 (2015)Deterministic random bit generators (DRBGs)Hash_DRBG, HMAC_DRBG and CTR_DRBG: approved ways to stretch a well-seeded secret; Rev. 1 removed the discredited Dual_EC_DRBG
SP 800-90C (September 2025)Complete random bit generator constructionsHow to combine 90B entropy sources with 90A DRBGs (RBG1, RBG2, RBG3 and chained RBGC constructions), including seeding and reseeding
BSI AIS 20 / AIS 31 (Germany)Evaluation of deterministic and physical RNGs in Common Criteria certificationsClasses of RNG with stochastic-model and online-test requirements; often cited by secure-element makers

Practical expert checklist

  • Know which code path actually produces your seed, not just which RNG exists in the device. The COLDCARD bug was a link-time substitution: the intended TRNG code was present in the binary but not used for seeds (Coinkite technical backgrounder).
  • XOR or hashing of two deterministic streams is still deterministic; combining only helps if at least one input is truly unpredictable and independent.
  • Reseeding with a 32-bit value caps the seed space at about 232, however strong the source behind it.
  • Count user entropy conservatively (min-entropy, not face count) and add a wide margin.
  • Seeds outlive firmware: record which device and firmware version created each seed so you can act on future advisories.

Verifying entropy claims and reproducible builds Expert

Marketing says "true randomness" and "certified TRNG". Each claim, even when true, proves something narrower than it sounds. This table separates what each kind of evidence shows from what it leaves open.

ClaimEvidence that supports itWhat it does not prove
"Certified TRNG" / "EAL5+ secure element"A Common Criteria or AIS 31 certificate for the chipThat the firmware actually uses that generator for seeds. In 2026 COLDCARD's TRNG code was present but not used (Coinkite backgrounder)
"Open source"Readable code for the seed-generation pathThat your device runs that code, or that the code is correct; the COLDCARD bug sat in published source for five years
"Reproducible builds"Anyone can rebuild the release from tagged source and get the same binary, apart from signatures (reproducible-builds.org definition)That the source has no bugs. It links the binary to the code, not the code to good randomness
"Mixes in your dice"A published algorithm you can recompute with throwaway rollsThat the device's own share was good, or that your dice were fair
"Entropy check" (commit-and-reveal)A cheating device risks being caught on test rounds it cannot predictThe quality of the device entropy in your final seed, which is never revealed
"Passes randomness tests" (for example the NIST statistical suite)Output has no obvious statistical patternAnything about unpredictability: a 32-bit-seeded generator passes too (Block Engineering)
"Independently audited"A published report for a named version and scopeLater versions, or parts outside the scope

Reproducible builds in practice

Conceptually, every maker's process is the same: fetch the source at the release tag, build it in the documented container, strip or zero the signature area, and compare the hash with the published or installed firmware. The device-side firmware hash check then ties the result to the device in your hand.

Questions to ask before trusting a generator

  1. Which code path creates the seed, and is it the one that calls the hardware generator? (Not just "does a TRNG exist?")
  2. How many independent sources are combined, and can one source see the others before choosing its value?
  3. Can I add my own entropy, and can I verify with throwaway input that it was used?
  4. Is the firmware build reproducible for the version on my device, and has anyone independent checked it?
  5. Has the maker had an entropy advisory before, and how quickly and openly was it disclosed?
  6. Which device and firmware made each of my seeds? (Record it, so you can act on a future advisory.)

Known weak-randomness incidents Intermediate

Sourced case notes, starting with the most recent hardware-wallet case. Every one produced seeds, keys or signatures with valid formats that looked random. Summary versions are also in the Case files.

COLDCARD firmware: weak software generator used for seeds (2021–2026)

Disclosed 30 July 2026 · active thefts reported · Coinkite and Block Engineering analyses

A build-configuration error meant that, from firmware released in March 2021, COLDCARD's seed generation drew on MicroPython's non-cryptographic "Yasmarang" generator instead of the hardware TRNG. Coinkite estimated the effective search space at about 40 bits for Mk2/Mk3 (firmware 4.0.1–4.1.9) and about 72 bits for Mk4, Q and Mk5, where some secure-element entropy was mixed in. Attackers regenerated affected seeds offline and stole funds; the devices themselves were not hacked. Fixed firmware was released for every model, but updating does not repair an existing seed. Coinkite said seeds created with at least 50 private, independent dice rolls added were not at risk from this bug alone, and a strong, unique BIP39 passphrase reduced immediate exposure.

Sources: Coinkite security advisory · Coinkite technical backgrounder · Block Engineering analysis

Case file: summary and patterns

Lesson: even well-regarded, source-available hardware can ship a broken RNG for years. Independent entropy (dice mixed in), vendor diversity and recording which firmware made each seed are what turned a catastrophe into a non-event for some users. If your maker announces an entropy flaw: update, generate a new seed, and move funds calmly with a test transaction first.

Milk Sad — Libbitcoin Explorer bx seed (CVE-2023-39910)

Disclosed August 2023 · thefts from at least 12 July 2023

bx seed in version 3.x used the Mersenne Twister PRNG seeded with 32 bits of system time, so every seed it produced could be recomputed. Attackers drained wallets in a coordinated sweep. The team named it after the phrase produced when the clock reads zero.

Sources: milksad.info · NVD CVE-2023-39910

Case file: summary and patterns

Lesson: command-line tools and libraries are not automatically safe; general-purpose PRNGs must never generate keys.

Trust Wallet browser extension (CVE-2023-31290)

Exploited December 2022 and March 2023 · found by Ledger Donjon

The WebAssembly build of Trust Wallet Core seeded mt19937 from a single 32-bit value, giving only ~4.3 billion possible mnemonics for wallets created in extension versions 0.0.172–0.0.182.

Sources: Ledger Donjon write-up · CVE record

Case file: summary and patterns

Lesson: if a wallet you used announces an entropy bug, upgrading is not enough — move funds to a newly generated seed.

Randstorm — BitcoinJS / JSBN SecureRandom (2011–2015 wallets)

Disclosed November 2023 by Unciphered

Browser wallets built on early BitcoinJS silently fell back to Math.random(), which in browsers of the time offered far less than 48 bits of entropy. Wallets created in that era on affected services may be crackable.

Sources: Unciphered disclosure · Kaspersky explainer

Case file: summary and patterns

Lesson: old browser-generated wallets and paper wallets should be swept into modern hardware-generated seeds.

Profanity vanity addresses — Wintermute (~$160m)

September 2022

The Profanity tool for Ethereum "vanity" addresses expanded a 32-bit seed into keys. After 1inch disclosed the flaw, attackers recovered the key of a Wintermute admin address and drained its DeFi vault.

Sources: 1inch disclosure · Reuters

Case file: summary and patterns

Lesson: "fun" key generators (vanity addresses) trade security for looks.

Android SecureRandom flaw (2013)

August 2013

Google confirmed that applications using the Java Cryptography Architecture on Android could receive weak values from SecureRandom because the underlying generator was not properly initialised. This caused repeated signature nonces, letting attackers derive private keys from wallets on Android. Bitcoin wallet apps issued urgent updates and users had to rotate keys.

Sources: Bitcoin.org alert · Android Developers Blog: "Some SecureRandom thoughts"

Case file: summary and patterns

Lesson: randomness also matters at signing time, not only at seed creation — another reason to sign on dedicated hardware.

Brain wallets cracked at scale

Research presented at DEF CON 23, 2015

Ryan Castellucci showed that wallets derived from memorable phrases (quotes, lyrics, passwords) were being emptied within seconds by automated crackers, and released a cracking tool to make the danger undeniable.

Sources: Paper (PDF) · author's post

Case file: summary and patterns

Lesson: anything a human can think of, a computer can guess.

Cake Wallet Bitcoin seeds (2020–2021)

Vendor disclosure May 2021 · technical analysis 2024

Bitcoin wallets created by affected Cake Wallet versions used Dart's non-secure Random() generator. Cake Wallet urged users to create new wallets and move funds in May 2021. The Milk Sad team later found a shortcut that makes the weak wallets recomputable from about 20 bits, identified 8,757 weak wallets, and found some funds still sitting in them more than two years after the warning.

Sources: Milk Sad update #9 (technical) · Milk Sad update #10 (impact)

Case file: summary and patterns

Lesson: a disclosure only protects users who act on it. Migrating to a new seed is the only fix.

Trust Wallet iOS (2018, CVE-2024-23660)

Vulnerable in 2018 · linked to thefts on 12 July 2023 · disclosed January 2024

Early Trust Wallet iOS builds generated wallets with test-only random functions from the trezor-crypto library, giving a weak generator with a 31-bit initial state seeded from time values. Researchers linked it to the same July 2023 thefts that began the Milk Sad investigation, and Milk Sad found at least 6,572 weak mnemonics.

Sources: Milk Sad update #5 · NVD CVE-2024-23660

Case file: summary and patterns

Lesson: "for testing only" code reaching production is a recurring root cause; old wallets from any app with an entropy advisory should be retired.

Blockchain.info web wallet repeated R-values (2014)

December 2014

A randomness fault in Blockchain.info's web wallet caused signatures with recycled "R-values", which let private keys be calculated from public data. A white-hat hacker known as "johoe" swept about 255 BTC from vulnerable addresses before thieves could, and published a list of 1,019 compromised addresses; Blockchain.info said it would compensate users.

Source: Finance Magnates (December 2014)

Case file: summary and patterns

Lesson: signing needs good randomness too (or deterministic nonces); browser-based wallets add many places for it to go wrong.

Ethercombing: 732 guessable Ethereum keys and a "blockchain bandit" (2019)

Research published 23 April 2019 · Independent Security Evaluators (ISE)

Researchers searched small, predictable corners of Ethereum's private-key space, such as keys where all but 32 bits are zero, and found 732 private keys that had been used in 49,060 transactions. They suspected truncated keys, coding errors and poor entropy in wallet software. They also found an account they called the "blockchain bandit", which held 37,926 ETH (about $54m) on 13 January 2018 after sweeping weak-key wallets. A dollar's worth of ETH the researchers sent to a weak key was taken within seconds.

Sources: ISE: Ethercombing paper · Wired (April 2019)

Case file: summary and patterns

Lesson: attackers watch for weak keys continuously and automatically. Any key from a home-made script, a "brain" phrase or a buggy tool can be emptied the moment funds arrive.

Biased signature nonces: hundreds of Bitcoin keys computed (2019)

Breitner & Heninger, "Biased Nonce Sense", Financial Cryptography 2019

Every ECDSA signature needs a fresh secret random number (a nonce). The researchers showed that even partly predictable nonces, for example ones that are too short or share leading bits, let an attacker compute the private key with lattice techniques once enough signatures are public. Scanning public blockchains, they computed hundreds of Bitcoin private keys and dozens of Ethereum and Ripple keys, many apparently already exploited.

Source: Breitner & Heninger, IACR ePrint 2019/023

Case file: summary and patterns

Lesson: randomness matters every time you sign, not only when the seed is made. Modern wallets use deterministic nonces (RFC 6979) or anti-exfil signing; old or home-made signing code is a risk even with a perfect seed.

Debian OpenSSL predictable RNG (2006–2008, CVE-2008-0166)

Disclosed May 2008 · not a crypto-wallet incident, but the classic entropy failure

A change to Debian's OpenSSL package removed most of the entropy fed into its generator, so keys made on Debian and Ubuntu systems for nearly two years came from a tiny, enumerable set. Upgrading was not enough: every affected key had to be regenerated.

Sources: Debian advisory DSA-1571-1 · CERT/CC VU#925211 · NVD CVE-2008-0166

Case file: summary and patterns

Lesson: the same pattern repeats in every case on this page — a small code change, output that still looks random, and keys that must be replaced rather than patched.

More incidents: the Milk Sad team's ongoing research catalogues further weak-PRNG wallet families. See also our Case files.

What to avoid Beginner

❌ Brain wallets

Seeds derived from a phrase you remember. Cracked routinely.

❌ Choosing your own words

Favourite words, names, lyrics or "random-looking" picks. Humans are predictable and the checksum will usually fail anyway.

❌ Online generators

Any website, browser extension or web page that creates seeds, even one that "runs locally". You cannot verify what it does, and pages can be swapped.

❌ Asking an AI chatbot for a seed

Language models are not random number generators, and the request and response may be logged.

❌ Phone dice / random apps

Unverifiable software on an internet-connected device.

❌ Pre-printed seed cards

A device that arrives with words already filled in is a scam — the seller knows them.

❌ Too little entropy

A handful of dice rolls, a 6-word "seed", or rerolling until it "looks right".

❌ Trusting a firmware update to fix an old seed

Updates fix future generation only. A seed made by a flawed generator stays weak until you replace it.

❌ Re-rolling "ugly" results

Discarding results you dislike — runs of sixes, repeated words — removes entropy and adds your bias.

❌ Vanity / "lucky" addresses

Grinding tools have repeatedly used weak seeds (see Profanity).

Not advice: this page is educational. Methods, firmware and vendor features change; follow your device maker's current documentation and consider professional help for large or complex holdings.

Last reviewed: · Educational information only — verify current details with official sources.