Wallet Derivation Paths: Why One Seed Shows Different Addresses

Restore the same twelve words in two wallets and the first address can differ. The seed is not the reason; the path is. This guide reads the path structure BIP44 defines, the purpose value BIP84 assigns to native segwit, the hardened levels marked with an apostrophe, and the test vectors that show one seed producing a specific set of addresses.

CoinSoso EditorialPublished Article #00093Updated

Cover artwork: CoinSoso · AI-generated, not a photograph of a real venue, product or market capture.

Key takeaways

  • A derivation path is a series of child-key indexes, written like m / 44' / 0' / 0' / 0 / 0, applied to one seed.
  • BIP44 defines five levels: purpose, coin type, account, change and address index.
  • An apostrophe marks hardened derivation, which BIP44 requires at the purpose, coin type and account levels.
  • BIP84 uses the same structure with purpose 84' for native segwit P2WPKH addresses, so its first receiving address sits at m/84'/0'/0'/0/0.
  • BIP84 states that it is not backwards compatible by design and that an incompatible wallet will not discover the accounts at all.

The seed is the root, the path is the branch

A seed phrase does not contain addresses. It contains the entropy from which a root key is produced, and every address a wallet shows is derived from that root by following a path. Two wallets given the same seed and asked for the same script type will produce the same sequence of addresses. Two wallets given the same seed and pointed at different purposes will produce different ones.

BIP32 introduced the notation. A path is written as a sequence of indexes separated by slashes, starting from m for the master key, and BIP32 gives the example m/3H/2/5 as shorthand for three nested derivations. The H marks a hardened index. In most wallets the same idea is written with an apostrophe, so m/84'/0'/0' and m/84H/0H/0H describe the same node.

The five levels BIP44 defines

BIP44 takes that notation and assigns meaning to five levels:

m / purpose' / coin_type' / account' / change / address_index
Level BIP44 definition
Purpose A constant set to 44’, following the BIP43 recommendation, indicating the subtree follows this specification. Hardened.
Coin type A separate subtree for every cryptocurrency, so addresses are not reused across coins. Hardened.
Account Splits the key space into independent identities so the wallet never mixes coins across accounts. Hardened.
Change Constant 0 for the external chain, constant 1 for the internal chain used for change. Public derivation.
Address index Numbers the addresses within the chain, starting at 0.

The allocation of work across the levels is deliberate. The first three levels are hardened, which means public derivation cannot cross them; the last two are not, which is what lets an account-level extended public key generate receiving and change addresses without any private key. That is the same property a watch-only wallet depends on.

BIP44’s examples for Bitcoin make the structure concrete: the first external address is m / 44' / 0' / 0' / 0 / 0 and the second is m / 44' / 0' / 0' / 0 / 1. Coin type 0 is Bitcoin in the specification’s registered list, which is why the second level is 0' throughout the Bitcoin examples.

Why 84’ produces a different address

BIP84 reuses BIP44’s account structure and changes one level. It defines the derivation scheme for P2WPKH — native segwit — addresses, and states that it uses the same account structure as BIP44 and BIP49 but with a different purpose value to indicate the different transaction serialization method.

The purpose value it uses is 84’. Everything else follows BIP44’s definitions. In BIP84’s own words:

// Account 0, first receiving address = m/84’/0’/0’/0/0

Because the purpose level is the first child index after the master key, changing 44’ to 84’ selects an entirely different subtree. Every subsequent derivation happens from a different node, so every resulting address is different. The seed has not changed; the branch has.

This is the answer to the common confusion. A wallet that shows a different first address after a restore is not necessarily deriving from a different seed. It may be deriving from a different purpose, because it defaults to a different script type.

The test vector, checked line by line

BIP84 publishes test vectors, which is the cleanest way to see the relationship between a path and an address. Using the mnemonic abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about, the specification lists:

Path Address
m/84'/0'/0'/0/0 bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu
m/84'/0'/0'/0/1 bc1qnjg0jd8228aq7egyzacy8cys3knf9xvrerkf9g
m/84'/0'/0'/1/0 bc1q8c6fshw2dlwun7ekn9qwf37cu2rn755upcp6el

Three details are visible in the table. The addresses start with bc1q, which is the segwit v0 bech32 form BIP84 targets. The external chain (the 0 before the last index) produces the receiving addresses. The internal chain (the 1) produces the first change address, and it is a different address from either receiving address even at the same final index.

The test vectors also serialize the account-level keys with zprv and zpub prefixes, which is a detail worth noticing when comparing exports: the same underlying key material can appear under different textual prefixes depending on the script type a tool expects.

Why restoration sometimes finds nothing

BIP84 is direct about the failure mode. It states that the specification is not backwards compatible by design: an incompatible wallet will not discover accounts at all, and the user will notice that something is wrong.

“Something is wrong” usually looks like a zero balance after a restore. A wallet that supports only the older purpose will not scan the 84' subtree, so it will not see the addresses the other wallet was using. The seed is correct; the search was in the wrong place. Some wallets offer to scan several purposes or script types for exactly this reason, and the resulting list of candidate first addresses is a list of branches, not a list of seeds.

Reading a path

A path is readable if you take it one level at a time:

Segment Question it answers
m The master key derived from the seed
84' Which script type and standard the account follows
0' Which coin
0' Which account
0 or 1 Receiving or change
Final index Which address within that chain

Two practical rules follow. First, a restore needs the right path as well as the right words; a backup that records the seed but not the script type is an incomplete backup. Second, when a wallet offers to import an extended key, the derivation path is the field that decides which addresses appear, which is why a wrong path shows an empty account rather than an error.

The path is part of the backup

The seed phrase is the part of a wallet backup that cannot be reconstructed. The path is the part that can, if it is written down; without it, the restore becomes a search across purposes and script types until the right branch is found. Recording both — the words and the path, or at least the script type — turns a restore from an investigation into a procedure.

Risk note. The path structures, hardened levels and test vectors in this article were read from BIP32, BIP44 and BIP84 on 2026-10-26. Wallet software may add levels or default to a different purpose. Nothing here is investment advice.

Sources

How this was researched. Wallet guides describe how key management works in general. Where an article describes a specific product's behaviour, its sources are listed below.

Primary sources for the factual claims on this page. A date appears only where a human has actually read the source; where it is missing, the check is still outstanding.

  1. BIP32 — Hierarchical Deterministic Wallets (path notation, hardened derivation)(read 2026-10-26)
  2. BIP44 — Multi-Account Hierarchy for Deterministic Wallets(read 2026-10-26)
  3. BIP84 — Derivation scheme for P2WPKH based accounts(read 2026-10-26)

Frequently asked questions

Why does the same seed produce a different first address in another wallet?

Because the wallet is deriving from a different path. The seed is the root; the path selects which branch of the tree becomes the wallet's addresses. BIP84 uses purpose 84' for native segwit, while BIP44 uses 44' for the older P2PKH addresses, so the two produce different first addresses from the same seed.

What does the apostrophe in m/84'/0'/0' mean?

It marks hardened derivation. BIP32 defines hardened child keys with indexes at or above 2^31, and BIP44 writes them with an apostrophe. BIP44 requires hardened derivation at the purpose, coin type and account levels.

Is m/84'/0'/0'/0/0 the first address in every wallet?

No. It is the first receiving address for a native segwit account in the BIP84 scheme. A wallet using BIP44's purpose 44' will show a different first address, and a wallet that does not support the purpose will not find the account at all.

What are the change and address index levels for?

BIP44 assigns constant 0 to the external chain, used for addresses meant to be visible outside the wallet, and constant 1 to the internal chain, used for change. The last level numbers the addresses within the chosen chain, starting at 0.

Does one seed hold only one wallet?

No. One seed is the root of a tree, and each path selects a subtree. BIP44's account level exists to split the key space into independent identities so that the wallet never mixes coins across accounts.

Where to go next

Independent research. Each card shows the platform’s invite code, and its Create Account button is a referral link that may earn us a commission at no extra cost to you. Whether an account can be opened is decided by the platform at sign-up.

Binance

One of the largest global exchanges by traded volume, with a very broad product range.

20% Trading Fee Rebate

Use invite code con888 when signing up to enjoy trading fee benefits.

Download Android App

Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.

Do not install an APK from an unknown source, or one that has been modified or cannot be checked.

Read review →

OKX

A large global exchange offering spot, derivatives and a self-custody wallet.

20% Trading Fee Rebate

Enter invite code con888 when signing up to check available trading fee benefits.

Download Android App

Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.

Do not install an APK from an unknown source, or one that has been modified or cannot be checked.

Read review →