Overview
On Initia, importing the same mnemonic into a Cosmos-based wallet (e.g., Keplr, Leap Wallet) and an Ethereum-based wallet (e.g., MetaMask, Rabby) results in different addresses. Although both wallet types follow HD Wallet standards like BIP32 and BIP44, they use different derivation paths, specifically different coin_type values. This difference leads the wallets to derive distinct private keys and, consequently, different addresses, even when using the same mnemonic.Example Case
Let’s consider an example where the same mnemonic is imported into MetaMask and Keplr.
Address Derivation Example
- Private Key:
a18d5fc426d6f4b72e44c8c0e3e1147508b4a193f901c5dc351c6ca1a5ab52ad
- Hex Address:
0xb658395C73c592695d8de3DF320a15CE1C8d8252
- Bech32(init) Address:
init1kevrjhrnckfxjhvdu00nyzs4ecwgmqjjufa7z5
- Private Key:
f3decd45241fc1a2d4b80f1449140b6cf67faf302b6c0f67f021337470a9c193
- Hex Address:
0x8d9f8c5d0f68ebd45b2d7cf732e56073a4e009ca
- Bech32(init) Address:
init13k0cchg0dr4agked0nmn9etqwwjwqzw28u97dr
Key Reason: Derivation Paths
Derivation paths are the core reason why the same mnemonic yields different addresses in different wallets. BIP44 defines a path structure like this:44'
is the BIP44 purpose field.coin_type'
is a hardened index that identifies the blockchain.account'
,change
,address_index
specify account details, internal/external chains, and the specific address index.
coin_type
values to derive addresses for different blockchains.
For example, Ethereum-based wallets use 60
as the coin_type
value, while Cosmos-based wallets use 118
.