Skip to main content

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

Address Derivation Example

Mnemonic:
Import into MetaMask result in:
  • Private Key: a18d5fc426d6f4b72e44c8c0e3e1147508b4a193f901c5dc351c6ca1a5ab52ad
  • Hex Address: 0xb658395C73c592695d8de3DF320a15CE1C8d8252
  • Bech32(init) Address: init1kevrjhrnckfxjhvdu00nyzs4ecwgmqjjufa7z5
Import into Keplr result in:
  • Private Key: f3decd45241fc1a2d4b80f1449140b6cf67faf302b6c0f67f021337470a9c193
  • Hex Address: 0x8d9f8c5d0f68ebd45b2d7cf732e56073a4e009ca
  • Bech32(init) Address: init13k0cchg0dr4agked0nmn9etqwwjwqzw28u97dr
As you can see, the addresses differ and the chain will recognize them as a completely different addresses.

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.
Different wallets use different 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.

How to Derive Addresses

EVM Wallet:
Cosmos Wallet:
or if you have a private key: