Files
proxmox/docs/04-configuration/CHAIN138_WALLET_ECOSYSTEM_AND_RATIONALE.md
defiQUG bea1903ac9
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Sync all local changes: docs, config, scripts, submodule refs, verification evidence
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:46:06 -08:00

9.8 KiB
Raw Permalink Blame History

Chain 138 Wallet Ecosystem — Overview and Rationale

Last Updated: 2026-02-12
Status: Single reference for wallet support and why we built or request each piece


Purpose

This document ties together all wallet-related work for Defi Oracle Meta Mainnet (Chain ID 138) and answers:

  1. Why we created the MetaMask Snap when basic Chain 138 connectivity already works in MetaMask.
  2. Why we need Ledger Live when we already use Ledgers App-Ethereum (and have Chain 138 in our app-ethereum fork).
  3. What we do for Trust Wallet (user workaround + official Wallet Core path).
  4. Where each piece lives (docs, repos, runbooks).

1. Wallet support at a glance

Wallet / component Basic Chain 138 support Full / native support (our goal) Doc / action
MetaMask Add network via RPC; send/receive; dApps No native Swaps/Bridge/USD pricing for 138 Custom Snap for swap quotes, bridge routes, market data
Ledger device (App-Ethereum) ⚠️ Our fork has 138; official app may not Device can sign; does not provide RPC or UI LEDGER_CHAIN138_ISSUES_AND_WORKAROUNDS.md, ADD_CHAIN138_TO_LEDGER_LIVE.md
Ledger Live No custom EVM networks Request Chain 138 in Ledgers list ADD_CHAIN138_TO_LEDGER_LIVE.md
Trust Wallet Users can add 138 manually (Chainlist) Official support via Wallet Core PR ADD_CHAIN138_TO_TRUST_WALLET.md

Chainlist: Chain 138 is listed at chainlist.org/chain/138; any wallet that supports “add custom network” (e.g. MetaMask, Trust Wallet) can use it today with our public RPCs.


2. Why we created the MetaMask Snap

What already works without a Snap

  • Add Chain 138 via wallet_addEthereumChain or Chainlist.
  • Connect wallet, send/receive ETH and tokens, view balances, use dApps.
  • On-chain oracle (ETH/USD) is deployed; dApps can read it.

What does not work for Chain 138 in standard MetaMask

  • MetaMask Swaps — Supports a fixed list of chains (Ethereum, BNB, Polygon, Arbitrum, Base, etc.). Chain 138 is not in that list. Users cannot swap on 138 from the native Swaps UI.
  • Portfolio Bridge — Same: curated set of chains only; Chain 138 is not included. Bridging today is via CCIP or third-party UIs; LiFi does not support Chain 138.
  • Native USD prices — MetaMask uses CoinGecko for USD. Chain 138 tokens are not listed there for 138, so the wallet does not show USD values for Chain 138 assets.
  • No public Snap — Interoperability Snaps target non-EVM chains (Starknet, Solana, etc.). No existing Snap adds swap/bridge/pricing for an EVM chain like 138. Consensys controls native Swaps/Bridge; we cannot add 138 there without their support.

So: basic connectivity is solved; full feature parity (in-wallet swap, bridge, pricing) is not.

Why we built a custom MetaMask Snap

We built the Chain 138 Snap so users get in-MetaMask swap quotes, bridge routes, and market data without waiting for Consensys to add Chain 138 to native Swaps/Bridge and price feeds.

Feature What the Snap does Backend
Swap quotes User gets quotes for Chain 138 (and ALL Mainnet) inside MetaMask Our swap/quote API (token-aggregation or compatible)
Bridge routes Show CCIP routes (e.g. WETH9/WETH10 → Ethereum Mainnet); user signs in MetaMask Bridge API (CCIP + custom routes)
Market data / pricing Token list and USD prices in Snap UI Token-aggregation REST API
Network params Chain 138 and ALL Mainnet EIP-3085 params Same API

The Snap does not add Chain 138 to MetaMasks native Swaps or Portfolio Bridge; those remain Consensys-controlled. It does provide a supported way to offer swap, bridge, and pricing inside the wallet by calling our APIs. We continue Consensys outreach for native support in parallel (see metamask-integration/docs/CONSENSYS_OUTREACH_PACKAGE.md).

References:


3. Why we need Ledger Live when we already use App-Ethereum

App-Ethereum vs Ledger Live — different roles

Component What it is What it does for Chain 138
Ledger App-Ethereum Firmware app on the Ledger device Knows chain IDs and display names. When signing a tx for chain 138, the device can show “Defi Oracle Meta” and “ETH” if that chain is in the apps config. It does not provide RPC URLs, balances, or any account UI.
Ledger Live Desktop and mobile app (wallet UI) Shows balances, history, send/receive UI. Supports only a fixed list of networks (Ethereum, Polygon, Arbitrum, Base, etc.). There is no “Add custom network” for arbitrary EVM chains.

So:

  • App-Ethereum = “device can sign for chain 138 and display the right name” (we have this in our fork: pr-workspace/app-ethereum with network.c and defi_oracle.mk).
  • Ledger Live = “user can see Chain 138 and use it in the Ledger app.” Without Chain 138 in Ledger Lives list, users cannot add the network, see 138 balances, or send/receive on 138 from Ledger Live.

RPC is always supplied by the host (Ledger Live, MetaMask, or another wallet), not by the device. So even with App-Ethereum supporting 138 on the device, Ledger Live itself must list Chain 138 to use it there.

Why we request Ledger Live integration

  • Users who prefer Ledger Live (no MetaMask) today have no way to use Chain 138 in Ledger Live; they must use “Ledger device + MetaMask” and add 138 in MetaMask.
  • Adding Chain 138 to Ledger Live (via Ledgers official process) gives those users native Chain 138 support: add network, see balances, send/receive, all inside Ledger Live.
  • App-Ethereum remains necessary on the device so the hardware correctly identifies and signs for chain 138; Ledger Live is necessary so the wallet app exposes Chain 138 to the user. We need both.

References:


4. Trust Wallet — what we do

  • Today: Users can add Chain 138 manually in Trust Wallet using Chainlist; no official Trust support required.
  • Goal: Have Chain 138 in Trust Wallets built-in chain list via a PR to Trust Wallet Core (registry.json, codegen, tests).

Details, user steps, and Wallet Core PR steps: ADD_CHAIN138_TO_TRUST_WALLET.md.


5. Where repositories live (all in ~/projects/)

All four wallet repositories are separate and live individually in the projects directory (sibling to proxmox):

Repo Path Status
metamask-integration ~/projects/metamask-integration Yes / Completed
LedgerLive ~/projects/LedgerLive Yes / Completed
app-ethereum ~/projects/app-ethereum Yes / Completed
TrustWallet-Integration ~/projects/TrustWallet-Integration Yes / Completed

Clone commands and checklist: CHAIN138_WALLET_REPOSITORIES.md.


Topic Document
This overview CHAIN138_WALLET_ECOSYSTEM_AND_RATIONALE.md (this file)
MetaMask Snap — why & what METAMASK_CHAIN138_FEATURE_PARITY_ANALYSIS.md, SNAP_IMPLEMENTATION_ROADMAP.md
Snap — build, deploy, test metamask-integration/chain138-snap/RUNBOOK.md, DEPLOY_VMID5000.md
Ledger — device vs Live, workarounds LEDGER_CHAIN138_ISSUES_AND_WORKAROUNDS.md
Ledger Live — add Chain 138 ADD_CHAIN138_TO_LEDGER_LIVE.md
Trust Wallet — add Chain 138 ADD_CHAIN138_TO_TRUST_WALLET.md
Validated wallet config (RPC, explorer) CHAIN138_WALLET_CONFIG_VALIDATION.md
All wallet repos (canonical ~/projects/ layout) CHAIN138_WALLET_REPOSITORIES.md
Consensys outreach (native Swaps/Bridge) metamask-integration/docs/CONSENSYS_OUTREACH_PACKAGE.md