Keplr Wallet Account Derivation Paths: Why Your Ledger Shows Different Addresses Than Your Browser Extension

A user connects their Ledger hardware wallet to the Keplr browser extension and imports their recovery phrase, expecting to see the same addresses on both devices. Instead, the Cosmos Hub address shown in the extension differs from the one displayed on the Ledger’s screen. The same twelve words generate different account addresses, even though both wallets are non-custodial and claim to derive keys from the same seed. This discrepancy is not a bug or a security failure. It is the result of how different wallets interpret the BIP44 standard for account derivation, a specification that allows variation in exactly which address each keystroke produces from a master seed phrase.

Understanding derivation paths is essential for anyone managing cryptocurrency across multiple devices or applications. A Ledger hardware wallet, a Keplr extension on Chrome, and a Keplr mobile app on iOS may all control the same funds, but they might show different receiving addresses by default. This matters because sending to the wrong address path can create confusion about which private key controls a balance, whether a transaction was successful, and whether a recovery process will bring funds back into view. The technical explanation involves mathematics, but the practical stakes are ownership and access.

A diagram showing how BIP44 derivation paths create separate addresses from a single seed phrase, with examples from Cosmos ecosystem wallets

The BIP44 standard and its interpretation

BIP44, or Bitcoin Improvement Proposal 44, establishes a hierarchical deterministic structure that allows a single seed phrase to generate a theoretically unlimited number of addresses. The path follows a specific pattern: m / purpose / coin_type / account / change / address_index. Each level represents a choice about which child keys to derive. For Bitcoin, the purpose is always 44. For different coins, the coin_type differs. Cosmos uses coin_type 118, while Ethereum uses 60. This means a seed phrase that produces Bitcoin addresses under one path will produce completely different Cosmos addresses under another path, all mathematically derived from the same master secret.

The standard itself leaves room for interpretation at each level. Most wallets use the convention that account 0 is the default account, change 0 is external (receiving) addresses, and change 1 is internal (change) addresses. However, some applications use different conventions. A Ledger hardware wallet running its official Cosmos app might derive addresses using one interpretation, while a Keplr extension on the same computer might apply a slightly different rule. Neither is wrong within the broader standard, but they produce different results from the same seed.

The confusion often emerges because users assume that importing a recovery phrase into different wallets will always show identical addresses. That assumption holds true for Bitcoin wallets because Bitcoin’s ecosystem converged on a single standard interpretation decades ago. Cosmos, a younger ecosystem, has allowed more variation. Keplr itself has changed its default derivation logic over time, which means a wallet created in version 0.12 might show different addresses than the same seed phrase in version 0.14 or later. These changes were designed to improve compatibility with Ledger and other hardware wallets, but they created a historical fragmentation problem.

Why Ledger integration complicates the picture

Ledger devices run application-specific firmware that controls how keys are derived. The Cosmos app on a Ledger device uses its own interpretation of BIP44, separate from the interpretation used by a Keplr extension running on a computer connected to the same Ledger. When the Keplr extension communicates with the Ledger over USB or Bluetooth, it does not instruct the Ledger which derivation path to use. Instead, the extension sends a request for a public key at a specific path, and the Ledger independently derives and returns that key.

The problem arises when Keplr and Ledger have historically disagreed on which path should be the default. Keplr might request the public key at path m/44’/118’/0’/0/0 (the first address of account 0, external change). Ledger might derive keys using m/44’/118’/0’/0’/0 (with an apostrophe in the change field, indicating a hardened derivation). The apostrophe means the derivation is hardened, requiring knowledge of the private key and preventing derivation of the public key from a public-key-only path. This architectural choice affects every address downstream.

Recent updates to Keplr have improved this alignment, particularly through the Ledger integration work that brought the extension’s derivation logic closer to Ledger’s own standard. However, users who created wallets before these updates may still see legacy addresses when they connect a Ledger, because Keplr may need to check multiple paths to locate funds. This backward compatibility is necessary to avoid locking users out of earlier balances, but it also means that the “default” address shown on the extension may not match the first address shown on the Ledger’s screen.

The implications for multi-chain and multi-device management

Keplr’s design as a non-custodial wallet means that users retain absolute control over private keys, but this control comes with responsibility for tracking which key controls which address. When a user has a Ledger connected to both a Keplr extension on Chrome and a Keplr mobile app on iOS, the situation becomes more complex. The Ledger device can only interact with one application at a time, and the derivation path used depends on which application is requesting the key.

The Cosmos Hub, Osmosis, Juno, and other IBC-enabled blockchains all share the same coin_type value in the BIP44 path. This means that a single Ledger device with a single seed phrase can have one address on Cosmos Hub and a completely different address on Osmosis, even though the coin_type is identical. The distinguishing factor is the account number. Most users have only one account (account 0), but an advanced user might create account 1, account 2, or higher accounts, each with its own address on each chain.

The practical consequence is that a user must be extremely careful about which address is shown in the Keplr extension when they approve a transaction. If the extension shows a different address than the one visible on the Ledger’s physical screen, the transaction might be signed by a key that does not control the intended balance. This is why hardware wallet integration requires a final verification step: the user should see and confirm the destination and amount on the Ledger’s display before pressing the button to sign, not just rely on the Keplr interface.

Account indices and why account 0 is not always the same

The BIP44 path includes an account field that allows a user to create multiple independent accounts from the same seed phrase. Account 0, account 1, account 2, and so on are all valid, and each produces a completely different address. Keplr allows users to create multiple accounts, and the Ledger can support the same. However, the account number that appears in the path can be confusing.

When a user adds a new account in Keplr, the interface might show “Account 2,” suggesting the path m/44’/118’/2’/0/0. However, if the user has only ever used the Ledger hardware wallet and never created accounts in the Keplr extension, the Ledger might not know about account 2. Conversely, if a user created account 2 in the Keplr extension without a Ledger, then later connected the Ledger, the extension would need to re-derive keys from the Ledger at the same path to access those same funds.

This situation creates a risk of accidental fund fragmentation. A user might send funds to “their Cosmos address” without realizing they have sent it to the first address of account 3, while their hardware wallet is configured to show account 0. The funds are not lost; they are simply controlled by a different key in the hierarchical tree. However, recovering them requires remembering which account was used when the address was generated. A user can mitigate this by keeping careful notes of which account each address corresponds to, or by using the address book feature in Keplr to label each address explicitly.

Reconciling addresses across Keplr versions and platforms

Keplr is available as a Chrome extension, iOS app, Android app, and web access. Each platform can potentially use a different version of the derivation logic, especially if the user does not keep all applications updated. A Chrome extension updated to the latest version might derive addresses differently from an iOS app running an older version. This creates a scenario where the same recovery phrase produces different addresses on different devices, even before considering hardware wallet integration.

Users who need to synchronize across multiple Keplr instances should verify the version number of each application. The Chrome extension shows the version in its settings page. The iOS and Android apps show it in their settings as well. If versions differ significantly, updating all instances to the latest release may cause the wallet to detect and display different addresses, because the newer derivation logic might be more accurate or compatible with Ledger standards.

A safer approach is to test a small transaction before moving significant balances. Send a small amount of a token from one address, wait for confirmation, and verify that the balance appears in the receiving address on all devices. If it does not appear, the receiving address may have been derived with a different path than the sender used. The funds are not lost, but they may require manually importing that address into the receiving wallet, or temporarily using a different derivation path to re-derive and access the balance.

For detailed guidance on managing Keplr across multiple devices and understanding address derivation, users can reference the documentation in this guide, which provides step-by-step instructions for connecting hardware wallets and reconciling addresses.

Advanced derivation: custom paths and expert recovery

For expert users, most hardware wallets and advanced applications allow manual specification of a custom derivation path. Instead of relying on the default m/44’/118’/0’/0/0, a user can derive a key at m/44’/118’/5’/0/0 or any other valid path. This flexibility is powerful for recovery scenarios. If a user’s main address shows no balance but they remember sending funds, they can systematically check different account and address indices to locate the balance.

However, custom derivation should be approached with extreme care. Changing the path changes the address, and sending to a wrong path can make funds appear to vanish. The recovery process involves testing paths methodically and confirming balances on the blockchain using a block explorer before approving any transactions. A user should also avoid changing paths on a wallet that is actively receiving funds, as counterparties who have saved the original address will send to a different location.

Ledger Live, Ledger’s official portfolio management application, includes a feature to search for accounts across multiple derivation paths. This can be helpful for locating funds if the standard path does not show a balance. The same technique can sometimes be applied in Keplr by creating new accounts and checking each one, though this is less streamlined than Ledger’s dedicated search feature.

Practical steps to verify and reconcile addresses

A user who suspects address mismatch between their Ledger and Keplr extension should take the following steps. First, note the address shown in the Keplr extension for the target blockchain (for example, Cosmos Hub). Second, open the Ledger device, navigate to the Cosmos app, and confirm the address displayed on the Ledger’s physical screen. Third, compare the two addresses character by character. If they differ, the Keplr extension is deriving the key at a different path than the Ledger’s firmware.

To align them, the user can disconnect and reconnect the Ledger to the Keplr extension, which sometimes triggers the extension to re-scan and find the correct path. Alternatively, if the extension has a settings option to select which account to use, the user can try switching accounts. If neither approach works, the user should check whether Keplr and Ledger are both fully updated, as version mismatches are a common source of derivation disagreement.

For funds that were already sent to an address derived with an old path, the recovery process involves knowing or finding the correct path used at the time. If the user has a backup of their Keplr settings or can remember the version number they were using, they may be able to temporarily downgrade and see the original address. Alternatively, they can manually specify the custom path in an advanced wallet recovery tool that supports BIP44 path selection.

The future of standardization in the Cosmos ecosystem

As the Cosmos ecosystem matures, standardization around derivation paths is gradually improving. Keplr’s continued refinement of its derivation logic and its improved alignment with Ledger have reduced the frequency of address mismatches for new users. However, the historical fragmentation ensures that some users will encounter legacy addresses for years to come.

The broader lesson is that non-custodial control requires engagement with the underlying mechanics. A user who relies solely on the wallet interface and assumes that all instances of their seed phrase will show identical addresses will eventually face surprises. The more practical approach is to understand that derivation paths exist, that different wallets can interpret them differently, and that verification—especially when using hardware wallets—is a necessary step before approving any transaction. Keplr’s support for multi-chain assets, staking, NFT management, and Web3 dApp integration makes it a capable tool, but its power comes with the responsibility to verify that the address shown is the address intended.

Frequently asked questions

Why does my Ledger show a different address than my Keplr extension for the same seed phrase?

Keplr and Ledger may use different interpretations of the BIP44 derivation standard. The path difference might involve hardened vs. non-hardened derivation, different account indices, or historical changes in Keplr’s derivation logic across versions. Updating both applications to the latest version often resolves the mismatch, but older wallets may show legacy addresses for backward compatibility.

Will my funds be lost if I send to a different address than the one shown on my Ledger?

No, the funds will not be lost. They will be controlled by the key associated with that address. However, you may not see them if you are looking at a different derivation path or account. Recovery requires knowing or finding the correct path and re-deriving your wallet at that path to regain visibility and control of the balance.

How do I reconcile my Keplr addresses across my phone and desktop?

First, ensure both devices are running the latest version of Keplr. Then, test sending a small amount to each address and verify the balance appears on the receiving device. If addresses differ and balances do not appear, check your account indices and derivation paths. For hardware wallet users, verify that the Ledger firmware is up to date and that the derivation path matches on both devices before sending significant amounts.

At YLM, we believe acts of kindness change lives.

That’s why part of our mission includes coming alongside families facing physical and spiritual needs –both in El Paso and in communities across the border in Mexico. By partnering with local organizations, cross-border churches, and ministries, we can bring God’s tangible love, mercy, and grace through Word and Deed.