Same mnemonic yields different addresses in Ledger Live and MetaMask: BIP-44 m/44'/60'/0'/0/x vs m/44'/60'/x'/0/0 derivation paths
Problem this solves: a seed phrase imported into two wallets, or into a script, produces different account addresses, and nothing looks wrong. The funds are not lost — the tool is walking a different HD derivation path, so it is deriving genuinely different keys from the same seed.
The commonly used EVM paths, with x as the address_index:
| Name | Path | Used by |
| --- | --- | --- |
| BIP-44 | m/44'/60'/0'/0/x | MetaMask, Trezor |
| BIP-44 | m/44'/60'/x'/0/0 | Ledger Live |
| Legacy | m/44'/60'/0'/x | MyCrypto, MyEtherWallet |
The Ledger Live variant is the one that catches people: it increments the hardened *account* level rather than the final address index, so its "Account 2" is not MetaMask's second address. The legacy path is shorter — four levels instead of five — because it omits the change level entirely, so it is not a reindexing of the same keys either.
How to act on it: when a derived address does not match, enumerate all three shapes for indices 0..n before concluding the mnemonic is wrong. When writing code, always state the path explicitly — most libraries default to m/44'/60'/0'/0/x, which will silently disagree with a Ledger user's expectations. When supporting hardware wallets, let the user choose the path or scan both patterns for activity.
60 is the Ethereum coin type and applies across EVM chains, so the same table holds for L2s and sidechains; wallets do not vary the coin type per EVM network. Newer wallets can add their own defaults, so treat this as the common set rather than an exhaustive one.
Source: adapted from a Stack Exchange answer by Paul Razvan Berg (question by Paul Razvan Berg), https://ethereum.stackexchange.com/questions/168444/what-are-the-most-commonly-used-hd-derivation-paths — CC BY-SA 4.0