BIP Standards Published Updated

BIP 44 – Multi-Account Hierarchy for Deterministic Wallets

#bip39#seed phrase#mnemonic#bitcoin#ethereum
BIP 44 – Multi-Account Hierarchy for Deterministic Wallets

BIP 44 is the standard that fixes the layout of an HD wallet’s key tree: every address sits at a path of the form m/44'/coin_type'/account'/change/address_index, so any compatible wallet rebuilds the same coins, accounts and addresses from the same seed phrase. Marek Palatinus and Pavol Rusnak of SatoshiLabs wrote it in 2014 on top of BIP 32, which derives the keys, and BIP 43, which reserves the first level of the path for a purpose number.

BIP 44 at a Glance

QuestionAnswer
Full nameMulti-Account Hierarchy for Deterministic Wallets (specification)
AuthorsMarek Palatinus and Pavol Rusnak; number assigned April 24, 2014
StatusDeployed, Specification BIP; requires BIP 32 and BIP 43
Pathm / purpose' / coin_type' / account' / change / address_index
Network numbersCoin types from the SLIP-44 registry: 0 for Bitcoin, 60 for Ethereum, 1 for every testnet
RestoringAccounts are found in order, with a gap limit of 20 unused addresses
Bitcoin addressesLegacy (P2PKH), starting with 1

What Does Each Level of the Path Mean?

BIP 44 gives each of the five levels below the master key m a fixed meaning. An apostrophe marks hardened derivation:

LevelExampleHardenedMeaning
purpose44'YesConstant 44’, so wallets know the subtree follows BIP 44
coin_type0'YesA separate subtree for each network
account0'YesIndependent accounts, numbered from 0
change0No0 for receiving (external) addresses, 1 for change (internal) addresses
address_index0NoAddresses numbered from 0 in each chain
Tree diagram of the derivation path m/44'/0'/0'/0/0: master key m, purpose 44', coin type 0', account 0', change 0 and address index 0, with sibling branches and hardened levels marked by an apostrophe.
Derivation path m/44'/0'/0'/0/0 as a key tree: each level picks one child key, and an apostrophe marks a hardened index (i + 2³¹). Addresses are for the test phrase “abandon ×11 about”.

The split between hardened and normal levels is deliberate. With normal derivation, an account’s extended public key can compute every receiving and change address on its own, which is how watch-only wallets and payment servers work. With hardened derivation above it, a leaked key inside one account cannot expose the master key or the other accounts: as BIP 32 warns, an xpub plus a private key from a normal branch below it reveals the parent’s private key. The account level is therefore the highest one a wallet normally exports as an xpub.

Accounts work like separate bank accounts under one seed: one for spending, one for savings, one for donations whose addresses are public. BIP 44 asks wallets not to create a new account until the previous one has a transaction, which is what makes account discovery possible.

BIP-44 Multi-Account Hierarchy for Deterministic Wallets

Example: The First Addresses of a Bitcoin Account

For the public test phrase abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about with no passphrase, the first BIP 44 paths give these Bitcoin addresses:

PathPositionAddress
m/44'/0'/0'/0/0Account 0, first receiving address1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA
m/44'/0'/0'/0/1Account 0, second receiving address1Ak8PffB2meyfYnbXZR9EGfLfFZVpzJvQP
m/44'/0'/0'/1/0Account 0, first change address1J3J6EvPrv8q6AC3VCjWV45Uf3nssNMRtH
m/44'/0'/1'/0/0Account 1, first receiving address15qucUWKf95Fo58FdCBhUTSAtsm22HHE2Q

The first address and the account xpub xpub6BosfCnifzxcFwrSzQiqu2DBVTshkCXacvNsWGYJVVhhawA7d4R5WSWGFNbi8Aw6ZRc1brxMyWMzG3DSSSSoekkudhUd9yLb6qx39T9nMdj are official SLIP-132 test vectors; we computed the other rows with @scure/bip32 1.7. The phrase is public, so never send coins to these addresses. To reproduce the table, paste the phrase into the seed phrase to private key converter and keep the BIP44 tab: the Account Extended Public Key field shows the xpub above, External / Internal switches the change level, and Account moves to the next account.

How Do Coin Types Work?

BIP 44 itself registers only Bitcoin (0) and Bitcoin Testnet (1) and points to SLIP-44, a registry SatoshiLabs maintains, for everything else. It now lists more than 1,300 named coins; to get a number, a project needs an existing wallet that implements the standard and a pull request to that file. Some common entries, with the hardened value a wallet actually uses:

NetworkCoin typeHardened value
Bitcoin00x80000000
All testnets10x80000001
Litecoin20x80000002
Dogecoin30x80000003
Ethereum600x8000003C
Cosmos Hub (ATOM)1180x80000076
TRON1950x800000C3
Solana5010x800001F5
Cardano18150x80000717

The coin type gives each network its own subtree, which BIP 44 introduced to avoid reusing addresses across coins. EVM chains are the usual exception: wallets such as MetaMask use Ethereum’s coin type 60 for all of them, so one address works on every EVM chain. Wallets also read the rest of the path in different ways. Ethereum apps disagree about which level to count: MetaMask raises the address index (m/44'/60'/0'/0/x), while Ledger Wallet raises the account (m/44'/60'/x'/0/0), as our derivation path guide shows. Shelley-era Cardano wallets use m/1852'/1815'/account'/role/index from CIP-1852 and derive keys with BIP32-Ed25519, an ed25519 variant of BIP32, while m/44'/1815'/… was the path of Byron-era wallets such as Yoroi. Solana and other ed25519 networks harden every level; see seed phrase formats by network.

How Does a Wallet Find Your Accounts?

When you restore a seed phrase, the wallet has no record of which accounts and addresses you used. The BIP 44 specification defines how it searches:

  1. Derive account 0.
  2. Derive its external (receiving) chain.
  3. Scan the addresses on that chain until it finds 20 unused addresses in a row, the gap limit.
  4. If the account has no transactions, stop.
  5. Otherwise, move on to the next account and repeat.

Discovery looks at transaction history, not balances, so an emptied account still counts as used. Only external chains are scanned, because change addresses receive coins only from the same account’s own transactions. Two practical consequences follow:

  • Coins after a gap. If someone paid to an address more than 20 places after the last used one, a wallet that stops at the gap limit will not see the payment. BIP 44 asks wallets to warn before handing out an address beyond the limit.
  • Accounts after an empty one. A wallet that lets you create account 2 while account 1 is unused breaks the rule, and a standard wallet restoring the phrase stops searching at account 1.

These two, along with a different address type or passphrase, are the usual reasons a restored wallet shows a zero balance; our guide to restoring a wallet from a seed phrase walks through the fixes.

BIP 44 vs BIP 49, BIP 84 and BIP 86

BIP 44 was written for legacy addresses. Later standards reuse its five-level layout with a different purpose number, one per address type:

StandardPathAddress typeStarts with
BIP 44m/44'/0'/0'/0/0Legacy (P2PKH)1
BIP 49m/49'/0'/0'/0/0Nested SegWit (P2WPKH in P2SH)3
BIP 84m/84'/0'/0'/0/0Native SegWit (P2WPKH)bc1q
BIP 86m/86'/0'/0'/0/0Taproot (P2TR)bc1p

Because the purpose differs, each standard has its own accounts: a wallet that scans only BIP 84 never finds coins on the BIP 44 addresses of the same phrase. Most other networks kept purpose 44’ and differ in the coin type instead.

Frequently Asked Questions

What is the BIP 44 derivation path for Bitcoin?

m/44'/0'/0'/0/0 for the first receiving address of the first account; the last number counts up for further addresses. Many current wallets default to native SegWit (BIP 84) or Taproot (BIP 86) paths instead.

Is BIP 44 only for Bitcoin?

No. The coin type level gives every network its own branch, and Ethereum, TRON, Litecoin and many other networks use BIP 44 paths with their SLIP-44 numbers.

What is the gap limit?

The number of unused addresses in a row after which a wallet stops scanning a chain: 20 in BIP 44. Payments to addresses beyond it are still on the blockchain, but a wallet shows them only once it scans further.

How is a BIP 44 account different from a BIP85 child seed?

An account is another branch of the same seed and restores only with the original phrase. A BIP85 child is a separate seed phrase that works on its own in any wallet.

Explore the BIP series: What are Bitcoin Improvement Proposals? · BIP-32: Hierarchical Deterministic Wallets · BIP-85: Child Seeds From One Master Seed · BIP-110 (BIP-444): Reduced Data Temporary Softfork · BIP-157: Client-Side Block Filtering · BIP39 vs BIP32 vs BIP44 compared