# Ledger live XPUB Mismatch

## Recovering BTC Sent to Legacy Address Due to Ledger XPUB Mismatch

#### Overview

Some users may encounter an issue where BTC received via Paymento does not appear in their Ledger wallet. This is often caused by a mismatch between the XPUB derivation path and the address type expected by Ledger Live. This article explains what causes the issue, how to identify it, and how to recover your funds.

***

#### The Root Cause: Ledger XPUB Mismatch

When you add a Bitcoin account in **Ledger Live**, it generates the account using **BIP84** (Native SegWit: `bc1...`) but exports an **XPUB** with the **`xpub...` prefix**, which traditionally indicates a **BIP44 (Legacy)** wallet.

> **This is a design mistake in Ledger Live.** The wallet operates using **BIP84**, but provides an XPUB formatted as `xpub`, misleading external platforms into treating it as **BIP44**.

Platforms like **Paymento interpret `xpub` as BIP44** (Legacy: `1...`), and therefore generate addresses under the BIP44 tree.

> **Result:** BTC is sent to a Legacy address derived from a BIP84 XPUB, which Ledger Live does not recognize — creating the appearance that the funds are missing.

***

#### How to Identify the Issue

* You used **Ledger Live** to export an XPUB.
* You added that XPUB to **Paymento**.
* Paymento generated a **Legacy `1...` address**.
* You received BTC at that address.
* The address and transaction **do not show up in Ledger Live**.

***

#### Why Ledger Can’t See It

Ledger Live expects all transactions for a Native SegWit account to appear under BIP84 (path: `m/84'/0'/0'`). It does not scan or track BIP44 legacy addresses unless you explicitly create a legacy account.

Even though the **seed is the same**, the **XPUB and derived addresses are completely different** between BIP44 and BIP84.

This issue occurs **because Ledger provided an XPUB format (`xpub`) that misrepresents the actual path and address format**. Ideally, Ledger should export a proper `zpub` for BIP84, or indicate the derivation path more clearly.

***

#### How to Recover Your Funds (Using Ledger)

1. Open **Ledger Wallet.**
2. Go to **Accounts**.
3. Click **+ Add account**.
4. Select **Bitcoin** and click **Continue**.
5. Connect and unlock your Ledger device to your PC.
6. Open the Bitcoin app on your Ledger device.
7. Wait until all accounts will be scanned.
8. Click on a toggle next to **Show all address types and select Legacy.**
9. Select accounts with the address format you need.
10. Click Add account.

<figure><img src="/files/6ZuOxiS8YCXiP143LyxU" alt=""><figcaption></figcaption></figure>

#### How to Recover Your Funds (Using Electrum)

You can recover your funds safely using your **Ledger hardware wallet** and **Electrum**, as Electrum allows custom script types and derivation paths.

**Step-by-Step Recovery:**

1. Open **Electrum** and choose **Standard Wallet**
2. Select **Use a hardware device**
3. Connect and unlock your **Ledger device**
4. Choose your Ledger from the device list
5. On the next screen:
   * **Select "Legacy (p2pkh)"** as the address type
   * **Manually set the derivation path** to:\
     `m/84'/0'/0'`
6. Click **Next**, and Electrum will generate addresses
7. You should now see your Legacy address with the funds (e.g., `1A...`)
8. Transfer the funds to a properly configured account if needed

> ⚠️ This mismatch (Legacy address type + BIP84 derivation path) is required **only because of how Ledger exported the XPUB**.

***

#### Best Practices Going Forward

* If you're using **Paymento**, make sure the wallet you use can:
  * Export an XPUB in the correct format
  * Match the address type expected by the XPUB
* Use **Sparrow Wallet** or **Electrum** with Ledger if you need full control over derivation paths and address formats
* Avoid pasting XPUBs from Ledger Live without knowing the path they were derived from

***

#### Recommendation for Ledger Team

We recommend that **Ledger addresses this inconsistency** in their platform by:

* Exporting **correct XPUB prefixes** (`zpub`, `ypub`, etc.) according to the derivation path used
* Clearly labeling which BIP standard the account is using when displaying or exporting XPUBs

This small change would greatly improve compatibility with external non-custodial tools like Paymento and prevent users from unknowingly misrouting funds.

***

#### Summary

If you received BTC on a legacy address that your Ledger Live account doesn’t recognize, it’s likely due to a **derivation mismatch** caused by Ledger exporting a misleading XPUB. By connecting your Ledger to **Electrum** with the right script type and path, you can safely recover your funds.

Always double-check derivation paths and address types when integrating with non-custodial platforms like Paymento.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paymento.io/help-and-troubleshooting/ledger-live-xpub-mismatch.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
