Skip to content

QR connection to Keycard Shell: "Ledger Legacy" option produces identical address to standard Ethereum option #21

@afool41

Description

@afool41

Summary

When importing a Keycard Shell account into Ambire via QR code, the "Ledger Legacy" option in Shell's Connect to software wallet → Others menu produces the same Ethereum address as the standard "Ethereum" option. These should be different addresses, and MetaMask handles this case correctly.

Background

Per the Keycard documentation, the three Ethereum-related Shell options export the same parent xpub but specify different child derivation patterns via the QR's crypto-keypath metadata:

Shell option Parent xpub in QR Children pattern First address
Ethereum m/44'/60'/0' /x/x m/44'/60'/0'/0/0
Others → Ledger Live (N) m/44'/60'/N' /x/x m/44'/60'/N'/0/0
Others → Ledger Legacy m/44'/60'/0' /x (single-level) m/44'/60'/0'/0

Expected behavior

Scanning the "Ledger Legacy" QR should result in Ambire deriving m/44'/60'/0'/0, yielding a different first address than the "Ethereum" QR (m/44'/60'/0'/0/0).

Actual behavior

Ambire returns the same address for both QRs, suggesting it ignores the single-level child keypath in the BC-UR crypto-keypath and defaults to standard BIP44 two-level derivation regardless of what the QR specifies.

Steps to reproduce

  1. On Keycard Shell, go to Connect to software wallet → Ethereum. Scan the QR with Ambire and note the imported address.
  2. On Shell, go to Connect to software wallet → Others → Ledger Legacy. Scan the QR with Ambire.
  3. Observed: same address as step 1. Expected: different address.

Evidence the issue is specific to Ledger Legacy

I tested Others → Ledger Live with account N=2 (parent xpub m/44'/60'/2'). Ambire correctly produced a different address from the Ethereum standard option. This confirms Ambire correctly parses the parent xpub and derives addresses when the xpub differs — the bug is specifically that Ambire does not honor the single-level children pattern declared by the Ledger Legacy QR, where the parent xpub is the same as the standard case.

Comparison with MetaMask

MetaMask, given the same Ledger Legacy QR from Keycard Shell, correctly derives m/44'/60'/0'/0 and shows a different address from the Ethereum option.

Impact

Users with existing Ledger Legacy-path accounts cannot access them through Ambire when connecting via Keycard Shell QR. The current workaround is to import via MetaMask instead.

Environment

  • Ambire Wallet version: 6.4.2
  • Keycard Shell firmware: 1.2.1
  • Browser / OS: Brave 1.89.141 / MacOS Tahoe 26.3.1 (a)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions