Files
proxmox/docs/11-references/DEPLOYER_TO_PUBLIC_STABLECOIN_ROUTES.md
defiQUG 2a6d3cfc7f
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Update submodule references and improve CI workflow
- Update submodule references for explorer-monorepo and smom-dbis-138 to latest commits.
- Modify CI workflow to include shellcheck installation and enforce error severity for script checks.
- Update contract addresses in configuration and documentation to reflect the new canonical addresses for CCIPWETH9Bridge and CCIP Router.
- Revise integration test documentation to align with updated contract addresses and deployment statuses.

Made-with: Cursor
2026-03-24 22:50:52 -07:00

12 KiB

Routes: Deployer Wallet → Public-Network Stablecoins

Last Updated: 2026-03-04
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.


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 (design; deployment-status empty), USDT, USDC (acquire)
100 Gnosis cW* (design), xDAI, USDC (acquire)
137 Polygon cW* (design), USDT, USDC (acquire)
10 Optimism cW* (design), USDT, USDC (acquire)
42161 Arbitrum One cW* (design), USDT, USDC (acquire)
8453 Base cW* (design), USDT, USDC (acquire)
43114 Avalanche C-Chain cW* (design), 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 0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8 Live
cUSDC cUSDT Same pool Live
cUSDT “USDT (official)” Pool 0xa3Ee6091696B28e5497b6F491fA1e99047250c59 exists; not usable — no official USDT contract on 138
cUSDC “USDC (official)” Pool 0x90bd9Bf18Daa26Af3e814ea224032d015db58Ea5 exists; not usable — no official USDC on 138

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 WETH on dest → USDT/USDC via DEX CCIP WETH9/WETH10 to BSC, Polygon, Arbitrum, Optimism, Avalanche, Cronos, Celo, Gnosis Live (Celo + Gnosis 2026-03-04)
WETH9 / WETH10 Wemix USDT/USDC CCIP when Wemix bridges deployed (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

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, 43114 cW* (design only; deployment-status empty) 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, 137, 10, 42161, 43114, 25, 100, 42220 WETH → USDT/USDC via DEX CCIP → 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

For routes where pre-funding a destination bridge is not required (same-chain, AlltraAdapter lock-mint, CCIP to chains other than Mainnet with mint-on-receive), 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