# Galatic Summary — Chain 138 Ecosystem, Routing, and Integrations **Audience:** Galatic **Last Updated:** 2026-03-01 **Purpose:** Single reference for what is built, all available routing (DEX and aggregators), On-Ramp/Off-Ramp, Fireblocks, and other integrations. --- ## 1. What Is Built Here ### 1.1 Core Network: Chain 138 (DeFi Oracle Meta Mainnet) - **Chain ID:** 138 - **Name:** Defi Oracle Meta Mainnet (D-BIS) - **Consensus:** Besu (EVM); validator set and RPC nodes on Proxmox/LAN. - **Public RPCs:** - `https://rpc-http-pub.d-bis.org`, `https://rpc.d-bis.org`, `https://rpc2.d-bis.org` - `https://rpc.defi-oracle.io`, `https://138.rpc.thirdweb.com` - **Explorer:** **Blockscout** — https://explorer.d-bis.org - **Chainlist:** https://chainlist.org/chain/138 **Protocol/wallet acceptance:** Ledger App-Ethereum (in firmware), Chainlist, thirdweb (chain + bridge), MetaMask (custom network / Chainlist), Blockscout, ethers.js compatible. --- ### 1.2 On-Chain Contracts (Chain 138) | Area | Component | Status | Address / Note | |------|-----------|--------|----------------| | **Compliance & tokens** | ComplianceRegistry, TokenFactory, DebtRegistry, PolicyManager | Deployed | See CONTRACT_ADDRESSES_REFERENCE | | **Stablecoins** | Compliant cUSDT, cUSDC | Deployed | cUSDT, cUSDC; optional cEURC, cEURT, cGBP*, cAUDC, cJPYC, cCHFC, cCADC, cXAU* | | **Bridges** | Bridge Vault (multi-chain stablecoin) | Deployed | `0x31884f84555210FFB36a19D2471b8eBc7372d0A8` | | **CCIP** | CCIP WETH9/WETH10 bridges (138 ↔ Ethereum L2s) | Deployed | Deterministic addresses; LINK-funded | | **PMM / DEX** | DODOPMMIntegration (Mock DVM) | Deployed | `0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D` | | **PMM pools** | cUSDT/cUSDC, cUSDT/USDT, cUSDC/USDC | Created | Pool addresses in LIQUIDITY_POOLS_MASTER_MAP | | **PMM routing** | DODOPMMProvider | Deployed | `0x8EF6657D2a86c569F6ffc337EE6b4260Bd2e59d0`; all three pools registered | | **Registry** | ChainRegistry (UUPS proxy) | Deployed | `0x6949137625CA923A4e9C80D5bc7DF673f9bbb84F`; EVM + non-EVM chain registry | | **Truth Network** | TruthNetworkAdapter (non-EVM) | Deployed | `0x7880Ef14887a0567807AcF785eC92553D014930f`; Truth registered in ChainRegistry | | **Trustless bridge** | Lockbox138 | Deployed | `0xFce6f50B312B3D936Ea9693C5C9531CF92a3324c` | | **Multi-provider DEX router** | EnhancedSwapRouter | Not deployed | For Uniswap/Balancer/Curve/1inch when pools exist on 138 | | **Swap–bridge–swap** | SwapBridgeSwapCoordinator | Script exists | Deploy when E2E swap+bridge+swap flow is needed | **References:** - [CONTRACT_ADDRESSES_REFERENCE](11-references/CONTRACT_ADDRESSES_REFERENCE.md) - [LIQUIDITY_POOLS_MASTER_MAP](11-references/LIQUIDITY_POOLS_MASTER_MAP.md) - [PMM_DEX_ROUTING_STATUS](11-references/PMM_DEX_ROUTING_STATUS.md) --- ### 1.3 Services & APIs | Service | Purpose | API / Location | |---------|---------|----------------| | **Token-aggregation** | Token/pool index; single-hop DEX quotes; bridge routes; token mapping | `GET /api/v1/quote`, `/api/v1/tokens`, `/api/v1/bridge/routes`, `/api/v1/token-mapping`; see REST_API_REFERENCE | | **Bridge quote (orchestration)** | Swap + bridge + swap quotes | `POST /api/bridge/quote` (source/dest swap optional) | | **Ramp API** (metamask-integration) | On-ramp / off-ramp session creation | `POST /ramps/on-ramp/session`, `POST /ramps/off-ramp/session`, `GET /ramps/quote`, `GET /ramps/providers` | | **Crypto.com OTC** (dbis_core) | Institutional OTC, RFQ, settle-later | `/api/v1/crypto-com-otc` (dbis-api.d-bis.org) | | **Exchange Registry** (dbis_core) | Multi-exchange price aggregation | `/api/v1/exchange` (Binance, Kraken, Oanda, FXCM) | | **Explorer backend** | Bridge aggregator (Li.Fi, Socket, Squid, etc.) | Bridge routes; not on-chain DEX on 138 | --- ## 2. DEX and Aggregator Routing — What’s Available ### 2.1 On-Chain Routing (Chain 138) - **Live today:** - **DODO-style PMM** via **DODOPMMIntegration** and **DODOPMMProvider**. - **Three pools:** cUSDT/cUSDC, cUSDT/USDT, cUSDC/USDC. - Swaps: use pool address + `swapCUSDTForUSDC`, `swapCUSDTForUSDT`, `swapCUSDCForUSDC`, etc., with approval on the integration contract. - **Designed, not deployed:** - **EnhancedSwapRouter** — size/slippage/liquidity-based routing across Uniswap V3, Dodoex PMM, Balancer, Curve, 1inch. To be used when Uniswap/Balancer/Curve pools exist on 138. **Routing logic (when EnhancedSwapRouter is deployed):** - By size: small (<$10k) → Uniswap V3 / Dodoex; medium ($10k–$100k) → Dodoex → Balancer → Uniswap V3; large (>$100k) → Dodoex → Curve → Balancer. - By slippage/liquidity: low slippage → Dodoex (PMM); medium → Balancer; high → Curve. **References:** - [PMM_DEX_ROUTING_STATUS](11-references/PMM_DEX_ROUTING_STATUS.md) - [DEX_AND_AGGREGATORS_CHAIN138_EXPLAINER](04-configuration/DEX_AND_AGGREGATORS_CHAIN138_EXPLAINER.md) --- ### 2.2 Token-Aggregation API (Off-Chain Quotes) - **Single-hop quote:** `GET /api/v1/quote?chainId=138&tokenIn=&tokenOut=&amountIn=` → best direct-pool quote from indexed DODO (and Uniswap if configured). - **Token/pool discovery:** `GET /api/v1/tokens?chainId=138`, `/api/v1/tokens/:address/pools`, `/api/v1/report/token-list`. - **Bridge:** `GET /api/v1/bridge/routes`, `/api/v1/token-mapping?fromChain=138&toChain=1`. - **Limitation:** Single-hop only; no N-hop pathfinding. --- ### 2.3 Swap–Bridge–Swap (Cross-Chain) - **Orchestration:** `POST /api/bridge/quote` — can return optional **sourceSwapQuote** and **destinationSwapQuote** in addition to bridge route. - **On-chain (optional):** **SwapBridgeSwapCoordinator** — deploy when a single tx “swap (source) → bridge → swap (destination)” is required. --- ### 2.4 External DEX Aggregators (1inch, ParaSwap, 0x, Li.Fi) - **1inch, ParaSwap, 0x:** Integrated in **alltra-lifi-settlement** for quotes on supported chains. **Chain 138 is not supported** by these aggregators unless they add it; to use them with 138, they would need to add the chain and index DODO PMM (and any other DEX on 138). - **Li.Fi:** Cross-chain routing; **Chain 138 not supported**. Use **CCIP** for 138 ↔ Ethereum/L2. - **Explorer bridge aggregator:** Uses Li.Fi, Socket, Squid, Symbiosis, Relay, Stargate for **bridge routes**, not for on-chain DEX on 138. **Practical today:** Use **token-aggregation** for quotes and **DODOPMMIntegration** (or DODOPMMProvider) for execution on Chain 138. --- ### 2.5 Routing Summary Table | Capability | Available | Where | |------------|------------|--------| | Single-hop quote (API) | Yes | `GET /api/v1/quote` | | DODO PMM on-chain swaps | Yes | DODOPMMIntegration + three pools; DODOPMMProvider | | Multi-provider one-leg routing | No (router not deployed) | Would be EnhancedSwapRouter | | N-hop path (A→B→C on one chain) | No | No graph-based multi-hop API | | Swap–bridge–swap (cross-chain) | Yes (orchestration) | QuoteService + optional SwapBridgeSwapCoordinator | | 1inch / ParaSwap / 0x on 138 | No | Aggregators do not support Chain 138 yet | --- ## 3. On-Ramp and Off-Ramp ### 3.1 Ramp Providers (Implemented) - **MoonPay** — On-ramp + Off-ramp - **Ramp Network** — On-ramp + Off-ramp - **Onramper** — Aggregator (on-ramp + quotes) - **Transak** — On-ramp + Off-ramp - **Banxa** — On-ramp + Off-ramp - **Coinbase Ramps** — On-ramp + Off-ramp - **Stripe Crypto** — On-ramp - **Cybrid** — On-ramp + Off-ramp - **Sardine** — On-ramp - **HoneyCoin** — Off-ramp **API:** `POST /ramps/on-ramp/session`, `POST /ramps/off-ramp/session`, `GET /ramps/quote`, `GET /ramps/providers` (metamask-integration). **API keys:** See MASTER_SECRETS_INVENTORY, API_KEYS_REQUIRED (e.g. MOONPAY_API_KEY, RAMP_NETWORK_API_KEY, ONRAMPER_API_KEY). --- ### 3.2 User Flows (Chain 138) - **On-ramp (fiat → crypto on 138):** 1. User chooses **Buy** in companion/dApp. 2. Selects a ramp-supported chain (e.g. **Ethereum Mainnet**). 3. Completes purchase via ramp (MoonPay, Ramp, etc.) → funds on mainnet. 4. Uses **Bridge** to send assets **Mainnet → Chain 138**. 5. Assets on 138 for gas, swaps, dApps. - **Off-ramp (crypto on 138 → fiat):** 1. User uses **Bridge** to send **Chain 138 → Ethereum Mainnet**. 2. After confirmation, opens companion/dApp **Sell** (off-ramp). 3. Selects **Ethereum Mainnet** and completes sale via ramp provider. 4. Fiat to linked bank/payment per provider terms. **Note:** Ramps today target supported public chains (e.g. mainnet). Chain 138 native on-ramp/off-ramp would require ramp providers to add 138 (see ON_RAMP_INTEGRATION_GUIDE, CONSENSYS_OUTREACH_PACKAGE). **References:** - [MAINNET_RAMP_USER_FLOWS](04-configuration/MAINNET_RAMP_USER_FLOWS.md) - [MAINNET_LIQUIDITY_AND_RAMPS_PRIORITY](00-meta/MAINNET_LIQUIDITY_AND_RAMPS_PRIORITY.md) - [METAMASK_BRIDGE_SWAP](../../smom-dbis-138/docs/operations/integrations/METAMASK_BRIDGE_SWAP.md) --- ## 4. Fireblocks - **Purpose:** Institutional custody and Web3 operations on Chain 138. - **Dedicated RPC (Chain 138):** One node is reserved for Fireblocks so traffic is isolated from public and other tenant RPCs. - **VMID:** 2301 (besu-rpc-private-1). - **LAN:** `http://192.168.11.232:8545`, `ws://192.168.11.232:8546`. - **Public:** `https://rpc-fireblocks.d-bis.org`, `wss://ws.rpc-fireblocks.d-bis.org`. - **Fireblocks Console:** Add custom network with RPC URL above, Chain ID **138**, optional WebSocket URL. - **Fireblocks Web3 Provider (SDK):** Use `rpcUrl: "https://rpc-fireblocks.d-bis.org"` (or env `RPC_URL_138_FIREBLOCKS`) with `@fireblocks/fireblocks-web3-provider`. - **REST API:** Use Chain ID **138** for Create Transaction etc.; backend uses custom network config for 138. - **Optional:** Fireblocks Network Link / IP allowlisting — restrict to the Fireblocks-dedicated node (2301) only. **References:** - [FIREBLOCKS_WEB3_INTEGRATION](04-configuration/FIREBLOCKS_WEB3_INTEGRATION.md) - [RPC_ENDPOINTS_MASTER](04-configuration/RPC_ENDPOINTS_MASTER.md) - fireblocks-integration submodule (Gitea: d-bis/fireblocks-integration) --- ## 5. Other Integrations ### 5.1 Bridges | Bridge | Scope | Tokens | Notes | |--------|--------|--------|--------| | **CCIP** | 138 ↔ Ethereum, Optimism, Polygon, Arbitrum, Base, BSC, Avalanche; Gnosis, Celo, Wemix config-ready | WETH, WETH10, cUSDT, cUSDC, LINK | Fees in LINK; deterministic receiver addresses | | **Bridge Vault** | Multi-chain stablecoin (Ethereum, Polygon, BNB) | cUSDT, cUSDC | Vault: `0x31884f84555210FFB36a19D2471b8eBc7372d0A8` | | **Truth Network** | Ethereum ↔ Truth (Substrate); adapter on 138 | TRUU (lift/burn) | TruthNetworkAdapter on 138; Truth registered in ChainRegistry | | **AlltraAdapter** | ALL Mainnet (651940) | Custom | CCIP/Li.Fi not supported on 651940 | **References:** - [CHAINS_AND_PROTOCOLS_BRIDGE_INTEGRATION](11-references/CHAINS_AND_PROTOCOLS_BRIDGE_INTEGRATION.md) - [CCIP_CHAIN_SELECTORS](11-references/CCIP_CHAIN_SELECTORS.md) - docs/07-ccip (Truth, config-ready chains, runbooks) --- ### 5.2 Wallets & Discovery - **Ledger:** Chain 138 in App-Ethereum (Defi Oracle Meta, ticker ETH). - **MetaMask:** Add via Chainlist or custom RPC; defi-oracle-metamask-sdk for `addOrSwitchNetwork()`. Native Swaps/Bridge do not support 138 yet. - **thirdweb:** Chain 138 listed; bridge to/from Defi Oracle Meta; RPC and explorer (blockscout.defi-oracle.io). - **Token list:** Dual-chain token list (e.g. DUAL_CHAIN_TOKEN_LIST) for MetaMask; token-aggregation report endpoint for Chain 138. --- ### 5.3 Infrastructure & Ops - **Blockscout:** https://explorer.d-bis.org (verification, contracts, txs). - **Cloudflare:** DNS, SSL, Tunnels. - **Proxmox:** Host and VM/container management for validators, RPC, explorer, services. - **NPMplus:** Reverse proxy (e.g. rpc-fireblocks.d-bis.org, explorer). --- ## 6. Quick Reference | Need | Where | |------|--------| | Contract addresses (138) | CONTRACT_ADDRESSES_REFERENCE, LIQUIDITY_POOLS_MASTER_MAP | | DEX routing status | PMM_DEX_ROUTING_STATUS, DEX_AND_AGGREGATORS_CHAIN138_EXPLAINER | | Quote API | token-aggregation: GET /api/v1/quote, POST /api/bridge/quote | | On/off-ramp | MAINNET_RAMP_USER_FLOWS, INTEGRATIONS_QUICK_REFERENCE | | Fireblocks | FIREBLOCKS_WEB3_INTEGRATION, RPC_ENDPOINTS_MASTER | | Bridges & chains | CHAINS_AND_PROTOCOLS_BRIDGE_INTEGRATION, CCIP_CHAIN_SELECTORS | | Integrations list | INTEGRATIONS_QUICK_REFERENCE (root) | --- *This summary is maintained in the proxmox/docs repo. For contract addresses and deployment details, always confirm against CONTRACT_ADDRESSES_REFERENCE and runbooks.*