Files
proxmox/docs/07-ccip/CHAIN138_PUBLIC_CHAIN_UNLOAD_ROUTES.md
defiQUG 7ac74f432b chore: sync docs, config schemas, scripts, and meta task alignment
- 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
2026-03-31 22:31:39 -07:00

4.0 KiB

Chain 138 Public-Chain Unload Routes

Status date: March 29, 2026

This is the reviewed practical route set for unloading WETH from Chain 138 onto public chains using the live WETH9 topology.

What changed in the review

  • WETH9 is still the only funding rail to use. WETH10 remains drifted and is not the basis for route creation.
  • SwapRouter and EnhancedSwapRouter are not liquidity sources. They do not change the unload plan.
  • The Chain 138 router is a custom event emitter, not a native public-CCIP delivery path. A destination mapping on Chain 138 does not by itself make a lane live.
  • The earlier 138 -> Gnosis native-bridge attempt failed for this exact reason, so the practical route graph must be built around the relay-backed lanes and the mainnet hub.
  • The mainnet stuck transfer proved a working recovery pattern:
    • unload from Chain 138 onto a reachable public chain
    • convert or forward that value as needed
    • top up the destination bridge or relay inventory
    • replay the blocked message if required

Current route matrix

Chain Practical route today Current prerequisite Best route today
Mainnet Relay-backed direct Mainnet relay bridge must hold enough WETH Direct 138 -> Mainnet only when relay inventory is seeded
BSC Relay-backed direct BSC relay bridge only covers tiny sends right now Small direct 138 -> BSC, or bootstrap mainnet then fan out
Avalanche Relay-backed direct Avalanche relay bridge only covers tiny sends right now Tiny direct sends only, or top up Avalanche relay inventory
Gnosis Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Gnosis
Cronos Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Cronos
Celo Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Celo
Polygon Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Polygon
Arbitrum Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Arbitrum
Optimism Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Optimism
Base Via mainnet hub Bootstrap mainnet first 138 -> Mainnet, then Mainnet -> Base
WEMIX Not deployed No Deploy and wire the bridge first

Operational meaning

  • The only practical first-hop lanes out of Chain 138 today are the relay-backed ones: Mainnet, BSC, and Avalanche.
  • The native bridge mappings on Gnosis, Cronos, Celo, Polygon, Arbitrum, Optimism, and Base are still useful as destination addresses for the mainnet hub, but they are not themselves proof of a live 138 -> chain delivery path.
  • Mainnet is the real fan-out hub once it has been bootstrapped from Chain 138.
  • WEMIX is still outside the unload set because bridge deployment and seeding are missing.

Exact route helper

Use the live route printer here:

cd /home/intlc/projects/proxmox/smom-dbis-138
./scripts/deployment/print-chain138-public-chain-unload-routes.sh

Useful options:

TARGET_CHAIN=gnosis ./scripts/deployment/print-chain138-public-chain-unload-routes.sh
UNLOAD_AMOUNT_WEI=30000000000000000 ./scripts/deployment/print-chain138-public-chain-unload-routes.sh
RECIPIENT=0x1234... TARGET_CHAIN=polygon ./scripts/deployment/print-chain138-public-chain-unload-routes.sh

The helper prints:

  • the configured Chain 138 mapping and the practical route for each chain
  • the live prerequisite for using that route now
  • exact cast send commands for relay-backed 138 -> chain lanes
  • exact cast send commands for Mainnet -> chain fan-out once mainnet is bootstrapped
  • relay worker commands for Mainnet, BSC, and Avalanche

Relay profiles

Tracked relay profiles now available in smom-dbis-138/services/relay/:

  • .env for mainnet relay
  • .env.bsc for BSC relay
  • .env.avax for Avalanche relay

That means ./start-relay.sh avax is now aligned with the README and no longer depends on a local-only .env.local override.