you can create a random seed phrase (mostly) without software. All you need is the wordlist (with indexes) and a coin. flip the coin 11 times. this will give you 11 bits. transform the bits into decimal number index and lookup the word in the wordlist, boom, first word down repeat 11 times. for the 12th word, flip 7 times. The last 4 bits of the last word are the checksum. Some airgapped signers like jade will provide simplified input, so you don't have to try to find a valid last word 16 times. This is the only step that requires software because it relies on sha256, but this step does nothing to the randomness, so there is no implementation you have to "trust"

Replies (2)

now, do you trust the coin? Maybe your coin has a bias to land on head, because of uneven weight distribution. A bias can have a negative effect on the entropy of the bits produced. studies say average coin bias is 51/49, which is low enough to not be an issue. If you still don't trust the coin, you can use von neumann normalization. For each throw, you do 2 throws instead: if heads, heads => rethrow tails, tails => rethrow heads,tails => heads tails, head => tails this will require more than double the throws, but will give you unbiased entropy
Exactly! What would really be great is if all signers (including hot wallets) would provide an embedded tool to accept a 12th (or 24th) word you generated (likely not checksum-valid), discard the invalid checksum bits, and replace them with a valid checksum and tell you what your new valid last word should be (and force you to reenter your entire seed phrase again for checksum verification) Instead, it would seem most developers are more interested in abstracting away user responsibility for the sake of quick and convenient on-boarding of the naive.