A private key is just a very large random number. Everything rests on how that number was chosen.
A 12-word BIP-39 phrase encodes 128 bits of entropy. Guessing one at random is not feasible with any conceivable amount of computing. But that number is only as large as the randomness that produced it. If the generator quietly had 40 bits of real entropy instead of 128, the phrase still looks perfectly normal — twelve ordinary words — and an attacker can enumerate the entire space.
This is the failure mode that matters, because it is invisible. A weak key and a strong key look identical to the person holding them.
Two independent sources, cryptographically blended with a domain-separated hash:
Blending means an attacker must defeat both sources at once. If the hardware source is broken — as it was on Coldcard for five years — your dice still carry the key. If you roll badly, the hardware source still carries it.
At runtime the stick asserts that the entropy source is present, that it is the source we expect, and that its output passes basic behavioural checks. If any of that fails, the stick refuses to generate and tells you why. It never falls back to something weaker.
What we cannot do is prove the silicon is honest. If a CPU’s hardware random instruction is backdoored below the level any software can observe, no amount of checking from inside that machine will reveal it. Nobody who tells you otherwise is being straight with you. This is precisely why your own entropy is mixed in — it is the one input the hardware cannot influence.
| Layer | Standard |
|---|---|
| Seed phrase | BIP-39 |
| Solana derivation | SLIP-0010 over ed25519, path m/44'/501'/0'/0' |
| Bitcoin derivation | BIP-32 / BIP-84 over secp256k1 |
| EVM derivation | BIP-32 / BIP-44, path m/44'/60'/0'/0/0 |
Your seed restores in Phantom, Solflare, the Solana CLI, and any other conformant wallet. We have deliberately invented nothing here.