- Institutional / JVMTM / reserve-provenance / GRU transport + standards JSON - Validation and verify scripts (Blockscout labels, x402, GRU preflight, P1 local path) - Wormhole wiring in AGENTS, MCP_SETUP, MASTER_INDEX, 04-configuration README - Meta docs, integration gaps, live verification log, architecture updates - CI validate-config workflow updates Operator/LAN items, submodule working trees, and public token-aggregation edge routes remain follow-up (see TODOS_CONSOLIDATED P1). Made-with: Cursor
14 KiB
Routes: Deployer Wallet → Public-Network Stablecoins
Historical note (2026-03-26): this route map originally captured a pre-correction PMM phase. The current canonical Chain 138 PMM stack is
DODOPMMIntegration=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72dandDODOPMMProvider=0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381.
Last Updated: 2026-03-31
Purpose: Single reference for all possible routes from the deployer wallet as source (minted/held tokens on all blockchains) to public-network stablecoins (USDT, USDC, DAI, AUSDT, etc.) on each chain. Uses Master Documentation and verifiable sources only.
Deployer address (source): 0x4A666F96fC8764181194447A7dFdb7d471b301C8
Sources: MASTER_INDEX, EXPLORER_TOKEN_LIST_CROSSCHECK §5/§8, CONTRACT_ADDRESSES_REFERENCE, ADDRESS_MATRIX_AND_STATUS, DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS, TOKENS_AND_NETWORKS_MINTABLE_TO_DEPLOYER, DEPLOYER_WALLET_FUNDING_PLAN_PMM_POOLS, LIQUIDITY_POOLS_MASTER_MAP, 07-ccip/NON_PREFUNDED_AVAX_MIGRATION_RUNBOOK.
1. Deployer-held / mintable tokens by chain
Tokens the deployer can hold as source (mintable to deployer on 138/Cronos, or acquirable on other chains):
| Chain ID | Chain name | Source tokens (deployer as holder) |
|---|---|---|
| 138 | DeFi Oracle (SMOM-DBIS-138) | cUSDT, cUSDC, cEURC, cEURT, cGBPC, cGBPT, cAUDC, cJPYC, cCHFC, cCADC, cXAUC, cXAUT, WETH, WETH10, LINK, native ETH |
| 1 | Ethereum Mainnet | WETH (via CCIP from 138), USDT, USDC, DAI (acquire) |
| 651940 | ALL Mainnet (Alltra) | AUSDT, USDC (AUSDC), WETH, WALL (via AlltraAdapter from 138 or acquire) |
| 25 | Cronos | USDW, EURW, GBPW, AUDW, JPYW, CHFW, CADW (D-WIN W; mintable if MINTER_ROLE), WETH9, WETH10, LINK |
| 56 | BSC | cWUSDT, cWUSDC (deployed; broader routing partial), USDT, USDC (acquire) |
| 100 | Gnosis | cW* (deployed; broader routing partial), xDAI, USDC (acquire) |
| 137 | Polygon | cW* (deployed; broader routing partial), USDT, USDC (acquire) |
| 10 | Optimism | cW* (deployed; broader routing partial), USDT, USDC (acquire) |
| 42161 | Arbitrum One | cW* (deployed; broader routing partial), USDT, USDC (acquire) |
| 8453 | Base | cW* (deployed; broader routing partial), USDT, USDC (acquire) |
| 43114 | Avalanche C-Chain | cW* (deployed; non-prefunded cUSDT -> cWUSDT corridor proven), USDT, USDC (acquire) |
| 42220 | Celo | (CCIP config 2026-03-04); USDC, cEUR (acquire) |
| 1111 | Wemix | (pending 0.4 WEMIX); WEMIX, USDT/USDC (acquire) |
2. Public-network stablecoins (destination) by chain
| Chain ID | Chain name | Public stablecoins (destination) |
|---|---|---|
| 138 | DeFi Oracle | cUSDT, cUSDC (compliant stables; no native USDT/USDC contract on 138) |
| 1 | Ethereum | USDT 0xdAC17F958D2ee523a2206206994597C13D831ec7, USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, DAI 0x6B175474E89094C44Da98b954EedeAC495271d0F |
| 651940 | ALL Mainnet | AUSDT 0x015B1897Ed5279930bC2Be46F661894d219292A6, USDC (AUSDC) 0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881 |
| 25 | Cronos | USDW, EURW, GBPW, etc. (D-WIN W); native CRO; USDT/USDC if bridged |
| 56 | BSC | USDT, USDC, BUSD (native) |
| 100 | Gnosis | USDC, xDAI |
| 137 | Polygon | USDT, USDC (native) |
| 10 | Optimism | USDT, USDC (native) |
| 42161 | Arbitrum | USDT, USDC (native) |
| 8453 | Base | USDT, USDC (native) |
| 43114 | Avalanche | USDT, USDC (native) |
| 42220 | Celo | USDC, cEUR |
| 1111 | Wemix | USDT, USDC (if listed) |
3. Routes: deployer source token → public stablecoin
3.1 Chain 138 (same-chain)
| From (deployer holds) | To (public stable on 138) | Route | Status |
|---|---|---|---|
| cUSDT | cUSDC | DODOPMMIntegration / pool 0xff8d3b8fDF7B112759F076B69f4271D4209C0849 |
✅ Live |
| cUSDC | cUSDT | Same pool | ✅ Live |
| cUSDT | “USDT (official)” | Pool 0x6fc60DEDc92a2047062294488539992710b99D71 is the funded intended canonical route; official USDT mirror is deployed on 138 |
✅ Live |
| cUSDC | “USDC (official)” | Pool 0x9f74Be42725f2Aa072a9E0CdCce0E7203C510263 exists; official USDC mirror is deployed on 138 |
✅ Live |
Note: On 138 the only “public” stablecoin destinations that exist are cUSDT and cUSDC. There is no native USDT/USDC contract on 138.
3.2 Chain 138 → Ethereum Mainnet (1)
Prerequisite: The route 138 WETH → CCIP → Ethereum requires that the Mainnet bridge be funded first. CCIPRelayBridge on chain 1 (0xF9A32F37099c582D28b4dE7Fca6eaC1e5259f939) releases WETH to recipients when relay messages are delivered; it does not mint WETH. So Mainnet WETH must be sent to CCIPRelayBridge (or the relay/release mechanism) before 138→Mainnet transfers can complete. Flow: fund bridge with Mainnet WETH → then 138 WETH can be locked/sent via CCIP → relay delivers message → bridge releases pre-funded Mainnet WETH to recipient.
| From (138, deployer holds) | To (Mainnet public stable) | Route | Status |
|---|---|---|---|
| WETH9 | WETH (then DEX) → USDT / USDC / DAI | CCIP WETH9 bridge 0xcacfd227A040002e49e2e01626363071324f820a → Mainnet → swap via native DEX |
✅ Live (bridge); requires Mainnet WETH funding of CCIPRelayBridge; swap via DEX |
| WETH10 | Same | CCIP WETH10 bridge 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 → Mainnet → DEX |
✅ Live; same prerequisite |
| cUSDT | USDT / USDC / DAI | No direct bridge. Swap 138: cUSDT→cUSDC or cUSDT→WETH (no cUSDT→WETH pool documented); or cUSDT→cUSDC then no bridge for cUSDC. Indirect: cUSDT→cUSDC (DODO) then no 138→mainnet bridge for compliant stables. Use: cUSDT/cUSDC → swap to WETH on 138 (no pool today) then CCIP WETH→mainnet→DEX→USDT/USDC/DAI. | ⚠️ Swap leg on 138 to WETH not documented; bridge leg ✅ |
| cUSDC | USDT / USDC / DAI | Same as cUSDT; need 138 cUSDC→WETH path (not in docs). Then CCIP WETH→mainnet→DEX. | ⚠️ Same |
Mainnet relay: CCIP messages to chain 1 go via CCIPRelayRouter 0xAd9A228CcEB4cbB612cD165FFB72fE090ff10Afb and CCIPRelayBridge 0xF9A32F37099c582D28b4dE7Fca6eaC1e5259f939 (releases WETH; must be funded with Mainnet WETH — see CONTRACT_ADDRESSES_REFERENCE).
3.3 Chain 138 → ALL Mainnet (651940)
| From (138, deployer holds) | To (651940 public stable) | Route | Status |
|---|---|---|---|
| Any (cUSDT, cUSDC, WETH, etc.) | AUSDT, USDC (AUSDC) | AlltraAdapter 0x66FEBA2fC9a0B47F26DD4284DAd24F970436B8Dc (138↔651940) → then DEX on 651940 (env placeholders; HYDX present) |
✅ Bridge live; destination swap via ALL Mainnet DEX |
3.4 Chain 138 → other public chains (56, 100, 137, 10, 42161, 8453, 43114, 25, 42220, 1111)
| From (138) | To (destination chain public stable) | Bridge | Status |
|---|---|---|---|
| WETH9 / WETH10 | BSC WETH → USDT/USDC via DEX | Relay-backed first hop to BSC relay bridge 0x886C6A4ABC064dbf74E7caEc460b7eeC31F1b78C |
✅ Live; requires BSC relay WETH inventory |
| WETH9 / WETH10 | Avalanche WETH → USDT/USDC via DEX | Relay-backed first hop to AVAX relay bridge 0x3f8C409C6072a2B6a4Ff17071927bA70F80c725F |
✅ Tiny-send live; requires AVAX relay WETH inventory. Native Avalanche bridge path failed on 2026-03-30. |
| WETH9 / WETH10 | Gnosis, Polygon, Arbitrum, Optimism, Base, Cronos, Celo WETH → USDT/USDC via DEX | Bootstrap Mainnet first, then send Mainnet → destination | ⚠️ Use Mainnet hub, not a direct first hop from Chain 138 |
| WETH9 / WETH10 | Wemix USDT/USDC | Deploy bridge and seed gas first (deployer needs 0.4 WEMIX) | ⏳ Pending |
| cUSDT / cUSDC | Any dest public stable | No direct bridge for compliant stables; must swap to WETH on 138 then CCIP (see 3.2). | ⚠️ Same as 3.2 |
Live routing note (2026-03-30): The current Chain 138 router emits MessageSent but does not natively deliver into public-chain CCIPWETH9Bridge / CCIPWETH10Bridge contracts. That is why direct first-hop guidance is limited to the relay-backed lanes and the Mainnet hub.
Avalanche cW correction: Separately from the public-stable routes above, the repo now proves a non-prefunded cUSDT -> cWUSDT corridor on Avalanche. That is a live lock/mint route to project cWUSDT, not a direct route to native Avalanche USDT / USDC, so it is tracked in ROUTES_NO_PREFUNDED_BRIDGE_REQUIRED instead of being listed here as a public-stable destination.
3.5 Destination chain → public stable (when deployer holds asset on that chain)
| Chain | Deployer holds there | To public stable (same chain) | Route | Status |
|---|---|---|---|---|
| 1 | WETH (after CCIP), USDT, USDC, DAI | USDT, USDC, DAI | Native DEX (Uniswap, etc.) | ✅ Standard |
| 651940 | AUSDT, USDC, WETH, WALL | AUSDT, USDC | HYDX / Uniswap (env placeholders) | ✅ DEX present |
| 25 | USDW, EURW, … (D-WIN W) | USDW, EURW, etc. | Same-chain swap / DEX | ✅ If DEX exists |
| 56, 100, 137, 10, 42161, 8453 | cW* (deployed) | USDT, USDC | cW*/USDC, cW*/USDT edge pools (pool-matrix) | ❌ Pools not deployed |
| 43114 | cW* (deployed; cUSDT -> cWUSDT corridor proven) |
USDT, USDC | cW*/USDC, cW*/USDT edge pools (pool-matrix) | ❌ Pools not deployed |
| 42220, 1111 | — | USDC, cEUR / USDT, USDC | Acquire then DEX | ✅ Standard (acquire + DEX) |
4. Summary: deployer → public stablecoin route matrix
| Source chain | Deployer source token | Destination chain | Destination public stable | Route | Live? |
|---|---|---|---|---|---|
| 138 | cUSDT | 138 | cUSDC | DODO PMM pool cUSDT/cUSDC | ✅ |
| 138 | cUSDC | 138 | cUSDT | Same pool | ✅ |
| 138 | WETH9 | 1 | USDT, USDC, DAI | CCIP WETH9 → Mainnet → DEX; requires Mainnet WETH funding of CCIPRelayBridge first | ✅ |
| 138 | WETH10 | 1 | USDT, USDC, DAI | Same; CCIPRelayBridge must be funded with Mainnet WETH | ✅ |
| 138 | WETH9/10 | 56 | WETH → USDT/USDC via DEX | Relay-backed 138 → BSC → DEX; requires BSC relay inventory | ✅ |
| 138 | WETH9/10 | 43114 | WETH → USDT/USDC via DEX | Relay-backed 138 → AVAX → DEX; requires AVAX relay inventory | ✅ Tiny-send only unless re-funded |
| 138 | WETH9/10 | 100, 137, 10, 42161, 8453, 25, 42220 | WETH → USDT/USDC via DEX | Bootstrap Mainnet first, then Mainnet → dest → DEX | ⚠️ |
| 138 | Any | 651940 | AUSDT, USDC | AlltraAdapter → 651940 DEX | ✅ |
| 138 | cUSDT, cUSDC | Any | USDT, USDC (any chain) | Swap to WETH on 138 (no c*→WETH pool in docs) + CCIP WETH → dest DEX | ⚠️ Bridge leg ✅; 138 swap leg not documented |
| Dest (1, 651940, 25, …) | Deployer-held token on that chain | Same | Public stable | Native DEX | ✅ |
| Dest (56, 100, 137, …) | cW* | Same | USDT, USDC | cW* edge pools | ❌ Not deployed |
5. Reverse: public stablecoin → deployer (inbound)
| From (chain, public stable) | To (deployer on 138) | Route | Status |
|---|---|---|---|
| Mainnet (1) USDT, USDC, DAI | 138 | No direct bridge for stables; WETH via CCIP receiver on 138 | ✅ WETH only |
| 651940 AUSDT, USDC | 138 | AlltraAdapter 651940→138 | ✅ |
| Other chains WETH | 138 | CCIP receiver bridge on 138 → WETH9/WETH10 | ✅ |
| Any chain USDT/USDC | 138 cUSDT/cUSDC | No canonical bridge; would require lock-mint or third-party bridge | ❌ Not in docs |
6. Related: routes without pre-funded bridge
For routes where pre-funding a destination bridge is not required (same-chain, AlltraAdapter lock-mint, the proven AVAX cUSDT -> cWUSDT corridor, and broader cW mint paths), see ROUTES_NO_PREFUNDED_BRIDGE_REQUIRED.
7. References
| Document | Use |
|---|---|
| ROUTES_NO_PREFUNDED_BRIDGE_REQUIRED | Routes that do not require bridge pre-funding |
| DEPLOYED_TOKENS_BRIDGES_LPS_AND_ROUTING_STATUS | Full routing map, bridges, DODO/Uniswap LPs |
| EXPLORER_TOKEN_LIST_CROSSCHECK | Canonical token addresses (§5), on-chain verification (§8) |
| CONTRACT_ADDRESSES_REFERENCE | Deployer, DODOPMMIntegration, CCIP bridges, relay |
| TOKENS_AND_NETWORKS_MINTABLE_TO_DEPLOYER | Mintable-to-deployer tokens (138, Cronos); acquire elsewhere |
| DEPLOYER_WALLET_FUNDING_PLAN_PMM_POOLS | Deployer address, balances, tokens on all networks |
| LIQUIDITY_POOLS_MASTER_MAP | Pool addresses (138, 651940) |
| MASTER_INDEX | Master documentation entry point |