- 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
4.0 KiB
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
WETH9is still the only funding rail to use.WETH10remains drifted and is not the basis for route creation.SwapRouterandEnhancedSwapRouterare 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 -> Gnosisnative-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, andAvalanche. - The native bridge mappings on
Gnosis,Cronos,Celo,Polygon,Arbitrum,Optimism, andBaseare still useful as destination addresses for the mainnet hub, but they are not themselves proof of a live138 -> chaindelivery path. Mainnetis the real fan-out hub once it has been bootstrapped from Chain 138.WEMIXis 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 sendcommands for relay-backed138 -> chainlanes - exact
cast sendcommands forMainnet -> chainfan-out once mainnet is bootstrapped - relay worker commands for
Mainnet,BSC, andAvalanche
Relay profiles
Tracked relay profiles now available in smom-dbis-138/services/relay/:
.envfor mainnet relay.env.bscfor BSC relay.env.avaxfor 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.