BIP-32 — Bitcoin Improvement Proposal 32, authored by Pieter Wuille in 2012 — defines the hierarchical deterministic (HD) wallet structure. From a single master seed, BIP-32 lets a wallet derive an unlimited tree of child keys, each of which can in turn derive its own children. The result is a deterministic mapping: same seed, same tree, every time, on any wallet that follows the standard.

Why HD wallets exist

Before BIP-32, Bitcoin wallets generated each private key independently and stored every key in a database file (the famous wallet.dat). Backing up a Bitcoin Core wallet in 2011 meant backing up the file every time you generated a new address. Lose the file, lose every key generated after the last backup.

BIP-32 collapsed that into a single backup: the master seed. Every key the wallet has generated or will generate is reachable from the seed. The mnemonic phrase you write down once on day one stays valid forever.

The tree shape

The master seed produces a master extended private key (xprv) and its corresponding extended public key (xpub). From those, the wallet derives child keys via numbered indices. A path like m/44'/0'/0'/0/5 says: from the master, take child 44' (hardened), then child 0' (hardened), then 0', then 0, then index 5. The apostrophe marks "hardened" derivation, which prevents anyone holding only the xpub from computing private keys.

The xpub feature

BIP-32 lets you share an extended public key (xpub) without exposing the matching private keys. Watch-only wallets and audit tools use this: import the xpub into a clean device, see every address and every balance, and never expose the ability to sign. This is the mechanism behind Sparrow Wallet's watch-only mode and behind most accounting tools (Koinly, CoinTracker) that read on-chain history without holding spending keys.

What this means for a US-resident holder

You usually never touch BIP-32 paths directly. The wallet abstracts it away. What you do need to understand is the compatibility implication: if you migrate from Ledger Live to Sparrow, or from MetaMask to Rabby, the new wallet will surface the same addresses only if it follows the same derivation path. The wallet's "import" UI usually handles this, but if you ever see an unexpected zero balance after migration, the cause is almost always a derivation-path mismatch — not a lost key.

Further reading: BIP-39, BIP-44, Derivation path.