# Add Chain 138 (Defi Oracle Meta Mainnet) to Ledger Live **Last Updated:** 2026-02-13 **Status:** Action plan and submission guide --- ## Complete this now (your only required action) — ✅ Submitted 2026-02-13 The form has been submitted. Next: await Ledger’s response and follow their process (agreement + integration steps). For reference, the steps were: 1. **Open:** [Ledger blockchain integration form](https://tally.so/r/mORpv8). 2. **Paste** the text below into the form field *"What are you looking from Ledger?"*, then replace `[your email/Telegram]` with your contact. 3. **Submit** the form. Ledger will reply with next steps (and any agreement). **Copy-paste block:** ``` We would like to add Defi Oracle Meta Mainnet (Chain ID 138) to Ledger Live so users can manage ETH and tokens on this EVM chain natively in Ledger Wallet. - Chain name: Defi Oracle Meta Mainnet - Chain ID: 138 (0x8a) - EVM-compatible (EIP-155, EIP-1559), standard derivation 44'/60' - Public RPCs and block explorer are live; chain is listed on Chainlist (chainlist.org/chain/138). - We already have Chain ID 138 configured in a Ledger App-Ethereum fork (network name "Defi Oracle Meta", ticker ETH) and can provide specs or PRs as needed. Preferred contact: [your email/Telegram] ``` --- ## Overview Ledger Live does not support user-added custom EVM networks. To have **Defi Oracle Meta Mainnet (Chain ID 138)** appear and work in Ledger Live (desktop/mobile), the chain must be added to Ledger’s supported list via their **official blockchain integration process**. This doc gives the steps and materials to request and support that integration. --- ## Step 1: Submit the official request (required first) **Do not start code changes** before Ledger has accepted your request. Their developer portal states: > ⚠️ Don't start the development without signing an agreement with our teams. 1. **Open the Ledger blockchain integration request form:** **https://tally.so/r/mORpv8** 2. **Fill in the form** (e.g. “What are you looking from Ledger?”) with a short request to add **Defi Oracle Meta Mainnet (Chain ID 138)** to Ledger Live. Suggested text: ``` We would like to add Defi Oracle Meta Mainnet (Chain ID 138) to Ledger Live so users can manage ETH and tokens on this EVM chain natively in Ledger Wallet. - Chain name: Defi Oracle Meta Mainnet - Chain ID: 138 (0x8a) - EVM-compatible (EIP-155, EIP-1559), standard derivation 44'/60' - Public RPCs and block explorer are live; chain is listed on Chainlist (chainlist.org/chain/138). - We already have Chain ID 138 configured in a Ledger App-Ethereum fork (network name "Defi Oracle Meta", ticker ETH) and can provide specs or PRs as needed. Preferred contact: [your email/Telegram] ``` 3. **Submit** and wait for Ledger to respond. They will guide you through the next steps (and any agreement). --- ## Step 2: What Ledger’s integration involves (after they respond) Ledger’s [Adding your blockchain to Ledger Wallet](https://developers.ledger.com/docs/ledger-live/accounts/getting-started) guide outlines an **8-step process**. For an **EVM chain** like 138, the main touchpoints are: | Step | What it means for Chain 138 | |------|-----------------------------| | **1 – Currency** | Register the chain in Ledger’s crypto-assets (e.g. `@ledgerhq/cryptoassets` in ledger-live), with `ethereumLikeInfo.chainId: 138` and explorerViews. | | **2 – Device app lib** | Ethereum app already supports multiple chain IDs; use `hw-app-eth` with chainId 138 in tx building/signing. Chain 138 may need to be in **official** Ledger app-ethereum (see below). | | **3 – Create module** | EVM chains often use the same “Ethereum” family module with different chain config (RPC, explorer). | | **4 – Derivation / Signer** | Standard EVM: `44'/60'` (already used in our app-ethereum config). | | **5 – API** | Ledger may use their own indexer/RPC or point to your public RPCs and Blockscout. | | **6 – LLD & LLM** | Desktop and mobile Ledger Wallet apps: live-common setup, currency list, i18n; run dev and QA. | | **7 – Wallet API** | wallet-api: Ethereum family extended for chainId 138 (or new family); Ledger Wallet adapter. | | **8 – Manual tests** | Execute send/receive test plan (sync, receive, balance, broadcast, operations, account). | **Full step-by-step (all steps, no gaps):** [LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md](LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md). **Generated code for all 8 steps:** [step-01-currency/](../step-01-currency/) through [step-08-manual-tests/](../step-08-manual-tests/) — drop-in snippets and config for each step. Ledger will tell you exactly which repos (e.g. `ledger-live`, `app-ethereum`, `wallet-api`) and which files to change or which data to provide. --- ## Step 3: Materials to have ready for Ledger When Ledger asks for chain details or integration data, you can point them to or paste the following. **Project description (short/medium/long):** [DEFI_ORACLE_META_MAINNET_PROJECT_DESCRIPTION.md](DEFI_ORACLE_META_MAINNET_PROJECT_DESCRIPTION.md) — use the **medium** paragraph for Ledger or listing forms. ### 3.1 Chain specification (Chainlist-compatible) Our canonical chain spec is in this repo at `pr-workspace/chains/_data/chains/eip155-138.json`. Summary: | Field | Value | |-------|--------| | **name** | Defi Oracle Meta Mainnet | | **chainId** | 138 | | **networkId** | 1 | | **shortName** | dfio-meta-main | | **nativeCurrency** | Ether (ETH), 18 decimals | | **slip44** | 60 (standard EVM) | | **infoURL** | https://d-bis.org | **RPC URLs (public):** - `https://rpc-http-pub.d-bis.org` - `wss://rpc-ws-pub.d-bis.org` - `https://rpc.d-bis.org` - `wss://rpc.d-bis.org` - `https://rpc2.d-bis.org` - `wss://ws.rpc.d-bis.org` - `wss://ws.rpc2.d-bis.org` - `https://rpc.public-0138.defi-oracle.io` - `wss://rpc.public-0138.defi-oracle.io` - `https://rpc.defi-oracle.io` - `wss://wss.defi-oracle.io` **Block explorer:** - Blockscout: `https://explorer.d-bis.org` (EIP3091) **Features:** EIP-155, EIP-1559. ### 3.2 Ledger App-Ethereum (device) configuration We already have Chain 138 in our app-ethereum fork: - **`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'` If Ledger asks for device-app changes, we can either: - Propose a PR to **LedgerHQ/app-ethereum** adding the same entry to `network.c` (and any makefile/chain list they use), or - Provide the exact patch/snippet for them to integrate. ### 3.3 References in this repo - [PUBLIC_RPC_CHAIN138_LEDGER.md](./PUBLIC_RPC_CHAIN138_LEDGER.md) – RPC list, NPMplus mapping, Ledger usage. - [CHAIN138_WALLET_CONFIG_VALIDATION.md](./CHAIN138_WALLET_CONFIG_VALIDATION.md) – Validated wallet config (MetaMask, ethers, Ledger). - [LEDGER_CHAIN138_ISSUES_AND_WORKAROUNDS.md](./LEDGER_CHAIN138_ISSUES_AND_WORKAROUNDS.md) – Current limitations and workarounds (e.g. Ledger + MetaMask). --- ## Public code review repo for the Ledger Live team **All public code, specs, and patches for Ledger team review:** [**https://github.com/bis-innovations/LedgerLive**](https://github.com/bis-innovations/LedgerLive) Use this repo to publish Chain 138 integration materials (cryptoassets entries, config snippets, app-ethereum changes, or full patches) so the Ledger Live team can review before or alongside any PR to LedgerHQ repos. Clone, add your changes, push, and share the repo or specific branches/PRs with Ledger when they ask for code. ### Initialize and push (from GitHub instructions) **New repo (first commit):** ```bash echo "# LedgerLive" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin https://github.com/bis-innovations/LedgerLive.git git push -u origin main ``` **Existing local repo:** ```bash git remote add origin https://github.com/bis-innovations/LedgerLive.git git branch -M main git push -u origin main ``` --- ## Step 4: Optional – prepare for a future PR to Ledger Live If Ledger confirms that adding Chain 138 is done by editing their **ledger-live** monorepo (e.g. `libs/ledgerjs/packages/cryptoassets` or `libs/ledger-live-common`), you can: 1. **Publish for review:** Push your work to [bis-innovations/LedgerLive](https://github.com/bis-innovations/LedgerLive) for Ledger team code review. 2. Clone upstream: `git clone https://github.com/LedgerHQ/ledger-live.git` 3. Follow their [installation and contribution guide](https://github.com/LedgerHQ/ledger-live/blob/develop/CONTRIBUTING.md). 4. Locate where EVM chains are defined (often a data file or config listing chainId, name, RPC, explorer). 5. Add an entry for Chain ID 138 using the spec in **Step 3.1** and any format Ledger requires. Do this **only after** Ledger has accepted the request and indicated where to add the chain; their structure may differ from public guesses. --- ## Summary checklist - [x] Submit the request at **https://tally.so/r/mORpv8** (describe Chain 138 and add preferred contact) — **Done 2026-02-13.** - [ ] Wait for Ledger’s response and follow their process (agreement + integration steps). - [x] **Materials ready:** chain spec ([chains/eip155-138.json](../chains/eip155-138.json)), public RPCs, explorer, app-ethereum config ([app-ethereum/makefile_conf/chain/defi_oracle.mk](../app-ethereum/makefile_conf/chain/defi_oracle.mk)), project description ([DEFI_ORACLE_META_MAINNET_PROJECT_DESCRIPTION.md](DEFI_ORACLE_META_MAINNET_PROJECT_DESCRIPTION.md)) — all present in repo. - [x] **Deployment reference ready:** [LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md](../11-references/LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md) — full 8-step integration with gaps filled, Chain 138 quick reference, and deployment checklist. - [ ] If Ledger asks for a PR or code review: publish code to **[bis-innovations/LedgerLive](https://github.com/bis-innovations/LedgerLive)** for their review; use the materials above and [LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md](../11-references/LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md) with their contribution guidelines. --- ## References - **Public code review for Ledger team:** [**bis-innovations/LedgerLive**](https://github.com/bis-innovations/LedgerLive) — use for all Chain 138 integration code/specs/patches for Ledger Live team review. - **Full 8-step integration (this repo):** [LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md](../11-references/LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md) — all steps, deployment checklist, Chain 138 quick reference. - **Ledger – Adding your blockchain:** https://developers.ledger.com/docs/ledger-live/accounts/getting-started - **Ledger – Blockchain integration form:** https://tally.so/r/mORpv8 - **Ledger Live monorepo:** https://github.com/LedgerHQ/ledger-live - **Ledger App-Ethereum:** https://github.com/LedgerHQ/app-ethereum - **Ledger Wallet API:** https://github.com/LedgerHQ/wallet-api - **Chainlist (Chain 138):** https://chainlist.org/chain/138