Files
proxmox/docs/04-configuration/LEDGER_CHAIN138_ISSUES_AND_WORKAROUNDS.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

7.8 KiB
Raw Permalink Blame History

Ledger Ethereum App & Ledger Live — Defi Oracle Meta Mainnet (Chain ID 138) Issues and Workarounds

Last Updated: 2026-02-12
Status: Active reference for support and integration


Summary

Area Status Notes
Ledger Ethereum App (device) ⚠️ Depends on build Chain 138 is in this repos app-ethereum config; official Ledger app may not include it.
Ledger Live (desktop/mobile) No native support Cannot add custom EVM networks; Chain 138 not in Ledger Lives list.
Workaround Supported Use Ledger device + MetaMask (or other wallet); add Chain 138 in the wallet via Chainlist or manually.
Chainlist Listed Defi Oracle Meta Mainnet (138) is on chainlist.org; RPCs and explorer configured.

1. Ledger Ethereum App (firmware on device)

1.1 Chain 138 in this repo

In this workspace, Chain ID 138 is configured for the Ledger Ethereum App in:

  • pr-workspace/app-ethereum/src/network.c (line 42):
    {.chain_id = 138, .name = "Defi Oracle Meta", .ticker = "ETH"}
    
  • pr-workspace/app-ethereum/makefile_conf/chain/defi_oracle.mk:
    • CHAIN_ID = 138, APPNAME = "Defi Oracle Meta", TICKER = "ETH"
    • Derivation: 44'/60' (standard EVM)

So any build produced from this repos app-ethereum can show “Defi Oracle Meta” and sign for Chain 138.

1.2 Official Ledger app vs this repo

  • Official Ledger Ethereum App (from LedgerHQ) may not include Chain 138 in its built-in list.
  • If the user is on the official app (no custom build):
    • The device may show an unknown or generic network when signing Chain 138 transactions.
    • Signing can still work (chain ID is in the transaction), but UX (name/ticker) may be wrong.
  • Implication: For “Defi Oracle Meta” to appear on device, users need either:
    • An official Ledger app update that adds Chain 138, or
    • A build from this repos app-ethereum (custom/fork).

1.3 RPC and backend

  • The Ledger Ethereum App does not store RPC URLs. It only knows chain ID and display name/ticker.
  • RPC is always provided by the host (Ledger Live, MetaMask, etc.). So RPC configuration for 138 is only relevant in the wallet app, not on the device.

1.4 Historical ChainID / signing bugs (for context)

  • Ledger Live (Aug 2021): Fix for invalid ChainID when EIP-155 data crossed an APDU packet boundary. Affects how the host sends transaction data to the device; the fix is in Ledger Live, not in the device app.
  • ledgerjs: Fix for wrong v in EIP-155 signatures for high chain IDs. Chain ID 138 is not in the “high” range where this typically matters.
  • Conclusion: No known remaining generic Ledger/ChainID 138 bugs; main limitations are Ledger Live not supporting custom networks and official app possibly not listing 138.

2. Ledger Live (desktop/mobile)

2.1 No custom EVM network support

  • Ledger Live only supports a fixed list of networks (Ethereum, Polygon, Arbitrum, Base, etc.).
  • Defi Oracle Meta Mainnet (Chain ID 138) is not in that list.
  • There is no in-app “Add custom network” for arbitrary EVM chains in Ledger Live.

2.2 What users cannot do in Ledger Live

  • Add Chain 138 as a network.
  • See Chain 138 balances or history in Ledger Live.
  • Use Ledger Lives UI to send/receive on Chain 138.

2.3 What users can do

  • Use MetaMask (or another EVM wallet) with their Ledger device connected.
  • In MetaMask: add Chain 138 manually or via Chainlist (see below).
  • Sign Chain 138 transactions on the Ledger device while MetaMask (or the dApp) provides the RPC and chain context.

Official Ledger support also recommends using Chainlist to connect MetaMask to any EVM network when the network is not in Ledger Live.


3.1 Add Chain 138 via Chainlist

  1. Go to chainlist.org and connect MetaMask (with Ledger connected and selected as account).
  2. Search for “Defi Oracle Meta Mainnet” or Chain ID 138.
  3. Click “Add to MetaMask” (or equivalent) and approve in MetaMask.

Chain 138 is listed with RPCs and explorer; Chainlist will inject the correct RPC URL and chain ID.

3.2 Add Chain 138 manually in MetaMask

If not using Chainlist, use Settings → Networks → Add network with:

Field Value
Network name Defi Oracle Meta Mainnet
RPC URL https://rpc-http-pub.d-bis.org or https://rpc.d-bis.org or https://rpc.defi-oracle.io
Chain ID 138
Currency symbol ETH
Block explorer https://explorer.d-bis.org

See also: CHAIN138_WALLET_CONFIG_VALIDATION.md, PUBLIC_RPC_CHAIN138_LEDGER.md.

3.3 Signing on Ledger

  • When the user signs a Chain 138 transaction in MetaMask, the Ledger device will be asked to sign.
  • If the official app is used and does not list 138: the device may show a generic/unknown network; the signature is still valid for Chain 138.
  • If contract/smart contract interactions are involved, “Blind signing” (or “Contract data”) may need to be enabled in the Ethereum app on the device (same as on other EVM chains).

4. Chainlist and discovery

  • Chain 138 is registered as Defi Oracle Meta Mainnet on Chainlist (e.g. https://chainlist.org/chain/138).
  • This repos chain data: pr-workspace/chains/_data/chains/eip155-138.json includes:
    • RPCs: rpc-http-pub.d-bis.org, rpc.d-bis.org, rpc2.d-bis.org, rpc.public-0138.defi-oracle.io, rpc.defi-oracle.io, thirdweb (with API key placeholder), and matching WSS URLs.
    • Explorer: https://explorer.d-bis.org.
    • slip44: 60 (ETH derivation); chainId: 138, networkId: 1.

Ledger Live does not use Chainlist to add new networks; it only supports its own list. So Chainlist is relevant for MetaMask (or other wallets) when used with Ledger.


5. Issue checklist (quick reference)

Issue Severity Workaround
Ledger Live has no “Add custom network” for Chain 138 High Use MetaMask (or other wallet) + Ledger; add 138 in the wallet.
Official Ledger Ethereum App may not list “Defi Oracle Meta” Medium Signing still works; device may show unknown network. For correct name, need app build that includes 138 (e.g. from this repo) or future official support.
RPC not in Ledger app N/A By design; configure RPC in MetaMask (or host app).
Chain 138 not discoverable in Ledger Live High Use Chainlist in MetaMask to add Chain 138; Ledger Live cannot add it.
Blind signing for contracts Low Enable “Contract data” / “Blind signing” in Ethereum app on device if needed for dApps.

6. References