Bitcoin Wallet Address Generation Explorer
Interactive walkthrough from random entropy to mnemonic, wallet seed, and hierarchical child/grand-child addresses (BIP39 + BIP32 + Bech32 P2WPKH).
Step 1: Generate Entropy (128-bit or 256-bit) and Mnemonic Words
Choose 128-bit (16 bytes) or 256-bit (32 bytes) entropy, append checksum bits, split into 11-bit groups, and map each group to BIP39 words (12 or 24 words).
Step 2: Generate 512-bit Wallet Seed with PBKDF2-HMAC-SHA512
Use password = mnemonic (NFKD) and salt = "mnemonic" + passphrase (NFKD). NFKD is Unicode normalization so equivalent text maps to consistent bytes; c is the PBKDF2 iteration count (2048); dkLen is the derived-key output length (64 bytes). HMAC_SHA512(key,m) is a Message Authentication Code (MAC) constructed using the cryptographic hash function SHA-512 together with a secret key.
Step 3: Derive Three Child Addresses and Paths
From the seed, derive BIP84 external chain paths m/84'/0'/0'/0/0..2 and encode each compressed pubkey as a mainnet P2WPKH address.
Step 4: Derive Three Grand-child Addresses (Next Level)
For each child path from Step 3, derive one deeper path by appending /0, then compute three grand-child addresses.
Step 5: Create Wallet Public Key (xpub/zpub)
Derive account node m/84'/0'/0', choose version format (xpub or zpub), serialize fields, append checksum, and Base58Check-encode.
Step 6: Derive Addresses from Wallet Public Key (xpub/zpub)
Copy the wallet public key from Step 5 into the editable box (supports xpub/zpub), then derive addresses using public derivation only. Step-by-step details are shown for the first address, followed by the first three addresses table.