Like m / purpose' / coin_type' / account' / change / address_index which gives say a value of m/44'/60'/0'/0

What is the meaning of "m", purpose, coin type, etc.

3 Answers 3


Such a great question.


Derivation paths are related to HD Wallets or HD Keys, a type of wallet where you have a single, human readable, seed phrase that unlocks a number of accounts / addresses / private keys across any supported network. These phrases typically look like brain surround have swap horror body response double fire dumb bring hazard.

The technical specification for the most commonly used HD wallets are...

  • BIP-32 - HD wallets specification
  • BIP-39 - the mnemonic phrase / word list / etc. piece of this puzzle.
  • BIP-44 - the derivation path stuff / algorithms.

Typically you have a single private key (e.g. afdfd9c3d2095ef696594f6cedcae59e72dcd697e2a7521b1578140422a4f890) which allows you to access your funds in it's matching address (e.g. 0x06A85356DCb5b307096726FB86A78c59D38e08ee). This is a keypair.

With HD wallets you have a single seed phrase (e.g. brain surround have swap horror body response double fire dumb bring hazard) which, via math and algorithms and code and stuff, derives multiple keypairs. An infinite number of keypairs.

Additionally, there is an insecure format of wallet known as a "brain wallet" where a person can use a single, human-readable phrase and, via math and algorithms and code and stuff, turns into a single keypair.

Okay, but wtf about derivation paths?

Brain wallets allow you to turn dogsarecool12 or brain surround have swap horror body response double fire dumb bring hazard into a single private key which is then used to access your funds and sign your transactions.

For simplicity's sake, lets represent this as

seed phrase => private key

If I were to use catsarecool10 instead of dogsarecool12 as my phrase, I would get a different keypair, different address, different account.

HD wallets are similar, but each phrase has an infinite number of keypairs or accounts that it can access. Because, unlike brain wallets, it does more complex math. For simplicity's sake, let's represent this as

seed phrase + XYZ + 🍎 + ABC + & + 1 => private key

If you change any one of those pieces, the private key that you get (or derive) is is going to be different, just as it was above with catsarecool10 vs dogsarecool12. However, since all the coders follow the same rules, the pieces that get added to the seed phrase are consistent and allow users to access the same accounts across multiple products or blockchains.

These pieces are the "derviation path"

It's the

  • XYZ + 🍎 + ABC + & + 1

part of it.

The actual derivation path pieces

Full path: m/44'/60'/0'/0'/0

What each number represents: m / purpose' / coin_type' / account' / change / address_index


Probably just a random way to start a string so that coders can easily tell if something is a derivation path, not you starting to type "mommy".

44' (purpose)

This is always 44'. However, if it were decided that there were a better evolution of the HD key system, you could change it to be 45' so that, again, coders could tell the difference between an old system and a new system.

60' (coin type)

Which blockchain are you accessing? Each blockchain has a number that represents it. Bitcoin is 0. Ethereum is 60. Aion is 425. When you create a new blockchain, you apply for an unused number. You can see all the chains and their numbers here: https://github.com/satoshilabs/slips/blob/master/slip-0044.md

0' (account)

A number that starts at 0 and increases. A layer of separation or hierarchy. (more on that below)

0 (change)`

Sometimes used in Ethereum, sometimes not. Was created for Bitcoin originally which doesn't really have "accounts", it has "unspent transaction outputs". Basically you never send a part of your bitcoin holdings around—you send all your bitcoin to multiple addresses. If you have 0.75 BTC but only want to send me 0.5 BTC, you would send me 0.5 BTC and then send yourself 0.25 BTC. "Yourself" could be back to the original address or to another address you have access to (for example, the next address on the "list"). This number says "send whatever I don't want to send to my friend to the 10th address on my list. Or the 0th address on the list (aka the address I am sending from).

0' (index)

Another variable to get different accounts, etc.

Seperation and Hierarchy

Some of the variables above are based on external forces, like what chain I am on. Some are chosen by the user or the wallet software, like the change variable. The account and index variables give me (or my wallet) more things to change.

For example, let's say I want to separate my personal ETH holdings from my company's ETH holdings. I could use m/44'/60'/0'/0'/0 for the company and m/44'/60'/1'/0'/0 for my personal.

But let's say I want to have different addresses for...

  • my personal savings
  • where I receive my paycheck each week
  • when I personally getting paid back by friends
  • displaying publicly on my personal github for donations
  • all my personal school expenses

I could use m/44'/60'/1'/0'/0 for savings, m/44'/60'/1'/0'/1 for paychecks, m/44'/60'/1'/0'/2 for getting paid back by my friend, and so forth. I could also do the same with the company accounts. Yay!

  • 12
    What's with the usage of ' character in derivation paths? Commented Apr 24, 2019 at 10:48
  • 2
    Awesome! Just want I needed. Thanks a lot maam...Superb answer from the creator of MyEtherWallet and now founder of MyCrypto.
    – vyap56
    Commented Apr 25, 2019 at 3:44
  • 2
    @MikkoOhtamaa according to this page from Cardano/IOHK, "Paths with a tilde [sic] ' refer to BIP-0032 hardened derivation path (meaning that the private key is required to derive children). This leads to a couple of interesting properties: 1. New addresses (change or not) can[not] be generated from an account's public key alone. 2. The derivation of addresses can be done sequentially / deterministically. 3. If an account private key is compromised, it doesn't compromise other accounts".
    – Myridium
    Commented Jun 22, 2020 at 12:08
  • 2
    So given the public address of m/44'/60', one can generate the public address parts of m/44'/60'/x. However, only the holder of the private key can generate any keys, public or private, of m/44'/60'/x'. BIP-0032 specifies two distinct ways to generate keys, termed "[Non-]Hardened Secret Key Derivation", and the ' character distinguishes between these two. I found this this resource helpful here.
    – Myridium
    Commented Jun 22, 2020 at 12:13
  • Hi! Derivation path determine a wallet or an address? When I register to Copay it optionally ask for derivation path, so it seems it belongs to a wallet, but based on you explanation it seems it belongs to an address. The account and index component imply it.
    – János
    Commented Feb 9, 2021 at 23:46

As long as you have the private key you'll be okay from what I see but the best thing to do is back it up write it down and don't lose your information so it does belong to a wallet but the address also belongs to the wallet which would be the HD bip32 and the address belongs to the bip39 okay so that may not be correct the derivation path pools the HD keys out of the main wallet which creates the bip 39 and 32 and so on

  • O crap I forgot I was on my brother's Facebook woops sorry Terry Commented Jan 28 at 4:45

The sequence "m/44'/60'/0'/0" is a hierarchical deterministic (HD) wallet path commonly used in the BIP (Bitcoin Improvement Proposal) 32 standard for deriving cryptocurrency addresses, including those used in Ethereum.

Each part of the path represents a specific purpose:

  • "m": This denotes that the path is rooted at the master key.
  • "44'": This is the BIP 44 purpose for cryptocurrencies, indicating that the address is intended for use with a specific cryptocurrency (in this case, Ethereum). The apostrophe indicates that this part of the path is "hardened," meaning that it requires additional information beyond just the public key to derive.
  • "60'": This is the Ethereum coin type within the BIP 44 standard.
  • "0'": This represents the account level. The number (in this case, "0") can be incremented for different accounts within the same wallet.
  • "0": This is the address index. It specifies which address within the account is being derived. It can be incremented to generate multiple addresses within the same account.

Overall, "m/44'/60'/0'/0" is a specific derivation path used to generate Ethereum addresses within an HD wallet.

Not the answer you're looking for? Browse other questions tagged or ask your own question.