Post

Rolling Dice for Your Bitcoin Wallet: The Simple Guide

No maths, no jargon. Buy dice, roll them 100 times, write the numbers down correctly, and you have a Bitcoin wallet nobody can guess. Here's exactly how.

A bug in a popular hardware wallet just cost people a lot of money because the wallet picked bad random numbers. You can sidestep that whole problem by picking the numbers yourself, with dice. It takes about fifteen minutes and costs about ten dollars. This guide assumes you know nothing.


🎲 Why dice?

Your Bitcoin wallet is protected by one very large random number. Everything else comes from it: your seed words, your addresses.

Normally your wallet device picks that number for you, in secret, and you simply have to trust that it did a good job. In July 2026 a lot of people found out the hard way that their device had not done a good job. It had been picking predictable numbers for five years, and thieves worked them out and emptied the wallets. Nobody had to touch the physical devices.

Dice fix this completely. When you roll dice, you make the random number. The device just does arithmetic on what you gave it. There is no secret step left to trust.

This isn’t a workaround or a hack. It’s a built-in feature of most serious hardware wallets, and it’s the one part of your setup you can check yourself.

🛒 What you need

  • One or more six-sided dice. Casino dice (the sharp-edged translucent ones) are about $10 for a set and are made to be fair. A cheap board-game die is probably fine but is slightly weighted by its scooped-out dots. If you’re securing real money, buy the good ones.
  • Pen and paper. Not your phone. Not a notes app.
  • Something that turns dice into words. SeedSigner and Keystone both do this on the device, and so does an offline copy of a tool called iancoleman’s BIP39 page. A Coldcard can too, if you already have one. It does not have to be the wallet you plan to keep your Bitcoin in (see below).
  • A hard, flat surface, ideally with something to bounce the dice off.

🎯 Step 1: Roll 100 times

That’s the whole rule. Roll 100 times. Not 20, not 50 if you want to keep it simple. 100 is enough for every wallet and every setting, so you never have to think about it again.

You can roll one die 100 times, or roll 20 dice five times. Both work.

Use this to keep count so you don’t lose your place. Tap once per roll:

0/ 100

Tap the button once for each roll.

This only counts how many times you've rolled. It never asks what you rolled, and nothing leaves your device.

A few things that matter while you roll:

  • Roll properly. Shake them, let them bounce and tumble. Don’t gently place them down.
  • Take whatever comes up. If you roll six 6s in a row, that is a perfectly normal result. Write it down. Re-rolling things that “look wrong” is the single most common way people accidentally weaken their wallet.
  • Don’t arrange the dice into a nicer order after they land.
  • Decide before you start how you’ll read multiple dice: left to right, top to bottom. Then stick to it.

📝 Step 2: Write them down (people get this wrong)

Write your rolls as one unbroken line of digits. No spaces. No dashes. No grouping.

Right:

1
3141592653589793238462643383279502884197169399375105820974944592

Wrong:

1
2
3
31415 92653 58979 32384 62643 38327 95028 84197 16939 93751
3-1-4-1-5-9-2-6-5-3
314 159 265 358 979

This looks like fussiness. It is not.

Your wallet takes everything you type and scrambles it into your secret number. A space is a character, so it gets scrambled in too. Typing 1 2 3 instead of 123 produces a completely different wallet.

Here’s how this ruins someone’s week: you write your rolls in neat groups of five so they’re easy to read. You type them into your wallet without the spaces. Months later you check your backup and type them in with the spaces, and get different words. You conclude your hardware wallet has been hacked. It hasn’t. You just typed something different.

Worse, the wallets don’t agree with each other about this. Some quietly ignore your spaces; some don’t. If you never use spaces in the first place, you never have to know which is which.

One long line of digits. That’s it.

📲 Step 3: Type them into your wallet

Look for “dice” in your device’s menu when creating a new seed. On a SeedSigner: Tools → New Seed (the dice icon) → 24 words (99 rolls). Keystone has the same option when you create a wallet. If you’re using a Coldcard you already own: New Seed Words → Advanced → 24 Word Dice Roll. In each case you just press the numbers as you read them off your paper.

Type them all in. Some devices ask for exactly 99 rolls; use your first 99 and ignore the spare, it makes no difference. The device will then show you your seed words.

What if my wallet has no dice option? Trezor and Ledger don’t have one, and it doesn’t matter. Generate the words on something that does, write them down, and then type those words into your Trezor or Ledger using its normal “restore from recovery phrase” option. The words work in any wallet. Full instructions: How to Use Dice With a Trezor, a Ledger, or Any Other Wallet.

Do this on the device itself, or on a computer that is switched off from the internet. Never type your dice rolls into a website. Not even a good one. If a page is open in your browser, anything else on that computer can potentially read it.

🔒 Step 4: Keep the words, destroy the numbers

Your device now shows you 24 words. Those words are your wallet.

  • Write the words down on paper or stamped metal. Store them somewhere safe and dry.
  • Do not photograph them. Phone photos sync to the cloud.
  • Do not type them into a computer, a password manager, or a notes app.
  • Keep the paper with your dice rolls, for now. You’ll want it for one last check in Step 5. Once that check passes, destroy it. The rolls are just as dangerous as the words. Anyone with them can recreate your wallet.

Save the words, not the numbers. The numbers were scaffolding; the words are the wallet.

✅ Step 5: Test it before you put money in

Do not skip this.

First, check the conversion. Enter your dice rolls into a second tool that works the same way (any of the ones listed in “What you need”) and confirm it shows the exact same words. This is the check that catches a broken or dishonest device, and it’s the reason you kept the rolls. Restoring the words alone can never catch that, because it only proves the words make a wallet, not that your dice made those words.

Then, test the backup. Wipe the device and restore it from the words you wrote down. Check that it shows the same first receiving address as before.

A backup you have never tested is not a backup. Find out now, with an empty wallet, rather than in five years with your savings in it.

Once both checks pass: destroy the rolls, send a small amount first, confirm it arrives, then move the rest.

🚫 Five things that will ruin this

  1. Typing your rolls into a website. Any website. This is the big one.
  2. Using spaces or grouping when you write the numbers down.
  3. Re-rolling results you don’t like. Take what the dice give you.
  4. Photographing the dice or the words. Cloud backup will helpfully copy your wallet to someone else’s computer.
  5. Keeping the dice rolls after you’re done. Keep the words instead.

That’s the whole thing

Buy dice. Roll 100 times. Write the numbers in one long line with no spaces. Type them into your wallet. Save the words, burn the numbers, test the backup.

Fifteen minutes, and the most important number in your Bitcoin setup is one you made yourself on a table, instead of one you had to take on faith.


Want to know exactly why 100 rolls, what the wallet does with your numbers, and how to check its work with a hash you can verify yourself? That’s all in the technical version: How to Safely Roll Dice for Your Bitcoin Seed.

This post is licensed under CC BY 4.0 by the author.