- 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>
7.8 KiB
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 repo’s 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 Live’s 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 repo’s 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 repo’s 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
vin 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 Live’s 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. Recommended path: Ledger + MetaMask + Chain 138
3.1 Add Chain 138 via Chainlist
- Go to chainlist.org and connect MetaMask (with Ledger connected and selected as account).
- Search for “Defi Oracle Meta Mainnet” or Chain ID 138.
- 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 repo’s chain data:
pr-workspace/chains/_data/chains/eip155-138.jsonincludes:- 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.
- RPCs:
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
- ADD_CHAIN138_TO_LEDGER_LIVE.md — How to request adding Chain 138 to Ledger Live (official form, materials, checklist).
- PUBLIC_RPC_CHAIN138_LEDGER.md — Public RPCs, NPMplus mapping, Ledger access.
- CHAIN138_WALLET_CONFIG_VALIDATION.md — Validated MetaMask, ethers.js, and Ledger config.
- CHAINS_AND_PROTOCOLS_BRIDGE_INTEGRATION.md — Ledger App-Ethereum and Chainlist status.
- TASK9_LEDGER_RPC_VERIFICATION.md — Verification of Chain 138 in app-ethereum.
- Ledger: Use Chainlist to connect MetaMask to any EVM network.
- Ledger: How to add a custom network to MetaMask.