These tools guide you through offline dice-throwing generation of a 24 word seed for a Bitcoin Wallet. The first 23 words are generated using paper and the glorious randomness of dice. Because the 24th is a checksum word, it must be chosen from a list of 8 valid candidate words are calculated using the Python script 24thword.py.
The PDF file contains both the instructions for making your seed phrase and the BIP39 list.
To get all the files you'll need, clone this repository with the command
git clone https://github.com/veebch/Bip39-Dice.git
You now have a directory called BIP39-Dice
that contains all the required files.
Print this pdf and grab
- a pen,
- a pocket calculator (optional and depending on your mental arithmetic skills),
- some fair dice (Casino Dice are good).
You're now ready to generate the first 23 words. To do so, follow the instructions in the pdf.
To determine the final 24th word, copy the files to an OFFLINE machine, then run:
python3 24thword.py
Enter the 23 words, separated by spaces and hit 'Enter'.
You will be given a list of 8 valid 24th words. Pick one of the 8 words (eg by rolling 3 dice using and using the method above to get a number between 1 and 8 (1+1+2+4)), write your chosen word with the other 23. This is a valid wallet seed, and you can use it with Electrum or some other wallet application.
If you don't have an airgapped (permanently offline) machine, you could use seedsigner.
For more information on how words become seeds, see: https://learnmeabitcoin.com/technical/mnemonic
To receive money to the wallet. You'll need an address (derived from your xpub). To send, you'll need your private key. The keys you'll need to do both of these things can be derived using an offline version of the page https://iancoleman.io/bip39/
The words that you generated need to be stored in a secure way, here's a video of one method:
There's a review of other metal seed storage solutions on Jameson Lopp's page
The Python code for 24th word was taken from avsync/bip39chk
An excellent article on the practical difficulties of 'Don't Trust, Verify': Finding the Bottom Turtle by David Anderson
GPL 3.0