# Pathway: Chain 138 Only → Canonical Tokens on Other Networks (User Does Not Prefund; Operator Prefunds Destination) **Prefunding** = Mainnet or an L2 being funded — i.e. someone holds or sends ETH/tokens there so that transfers can complete. If Mainnet or L2 must be funded, that is prefunding (whether the user or the operator does it). **Question:** Is there a route where you **only use ChainID 138 tokens** and **receive canonical tokens on other networks**, without **you** having to fund Mainnet or L2? **Answer: Yes — but the destination is still prefunded.** In both pathways below, **you** (the end-user) never fund Mainnet or L2. The **operator** does: they prefund the destination (relayer + LiquidityPool, or Relay Bridge) so you can receive there. So **prefunding is required**; it is done by the operator, not by you. If you deployed the contracts and fund that destination side, you are the operator doing the prefunding. **Who is the operator?** The party that runs and funds the destination-side infrastructure: for **Trustless**, the relayer and the liquidity providers who fund **LiquidityPoolETH** on Mainnet/L2; for **Relay**, the party that runs the relay service and prefunds the **Relay Bridge** with WETH9 on Mainnet. If you deployed these contracts and you fund the relayer/LP or the Relay Bridge, **you are the operator** (and you are doing the prefunding). --- ## 1. Trustless Bridge (138 → Ethereum Mainnet or L2) **User experience: Chain 138 only; user does not prefund destination (operator does).** | Step | Where | Who pays | |------|--------|----------| | 1. Deposit | Chain 138 | User: native ETH or WETH into **Lockbox138** | | 2. Claim | Ethereum (or L2) | **Relayer** (operator): gas + bond on destination | | 3. Payout | Ethereum (or L2) | **LiquidityPoolETH**: WETH/ETH on destination (operator-funded) | | 4. Optional swap | Ethereum (or L2) | User can swap to canonical USDC/USDT via DApp “Bridge & Swap” | - **User** never needs ETH or tokens on mainnet/L2; they only sign on Chain 138. - **Operator** must fund: relayer (ETH for gas + bonds on destination), LiquidityPool (WETH/ETH on destination). - **Canonical tokens:** User receives WETH on destination; optionally canonical USDC/USDT via in-app swap. **References:** [Trustless Integration](trustless/INTEGRATION.md), [Bridge User Guide](../user/BRIDGE_USER_GUIDE.md), [Trustless Architecture](trustless/ARCHITECTURE.md). --- ## 2. Custom CCIP Relay (138 → Ethereum Mainnet) **User experience: Chain 138 only; user does not prefund mainnet (operator does).** | Step | Where | Who pays | |------|--------|----------| | 1. Send | Chain 138 | User: WETH9 via bridge + fee on 138 | | 2. Relay | Off-chain | **Relay service** (operator): gas on mainnet | | 3. Delivery | Mainnet | **Relay Bridge** must hold WETH9 on mainnet (operator-funded) | - **User** only interacts on Chain 138; no mainnet balance required. - **Operator** must prefund the **Relay Bridge** with WETH9 on mainnet so it can complete transfers. - **Canonical tokens:** User receives canonical WETH9 on mainnet (`0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`). **References:** [Relay Architecture](../relay/ARCHITECTURE.md) — “Bridge Funding: The relay bridge MUST be funded with WETH9 tokens.” --- ## 3. Official CCIP (138 → other chains) **Not a pathway today.** - CCIP returns **“chain not supported”** when using Chain 138 as source (or as a hop). No repo change can fix this until Chainlink supports 138. - When/if supported: user would pay fees **on Chain 138** (LINK or native); destination bridges would still need to be configured and funded by the operator. --- ## Summary | Pathway | Prefunding of Mainnet/L2? | Who prefunds? | Canonical tokens on destination? | |--------|---------------------------|---------------|----------------------------------| | **Trustless** (Lockbox138 → Mainnet/L2) | **Yes** | Operator (LP + relayer on destination) | Yes (WETH; optional swap to USDC/USDT) | | **Relay** (138 → Mainnet) | **Yes** | Operator (Relay Bridge on mainnet) | Yes (WETH9) | | **CCIP** (138 → other) | N/A | N/A | Not supported for 138 today | **Bottom line:** The destination (Mainnet/L2) **is** prefunded — by the operator. You (as end-user) use only Chain 138 and never fund the destination yourself; the operator’s prefunding is what allows you to receive canonical tokens there. If you deployed and fund the contracts, you are the operator and you are doing that prefunding. --- ## Estimated costs (pathway) Rough cost breakdown for the two pathways. Gas is variable; assume ~30 gwei on mainnet and chain-specific gas on 138 for illustration. ### User (Chain 138 only) | Item | Trustless (138 → Mainnet/L2) | Relay (138 → Mainnet) | |------|------------------------------|-------------------------| | **On Chain 138** | Deposit: Lockbox138 gas (~72k) | Send WETH9 via bridge + fee (bridge-dependent) | | **LP / bridge fee** | 0.05% of bridge amount (deducted from received amount) | Per-bridge fee on 138 (if any) | | **On destination** | None | None | ### Operator (destination side) | Item | Trustless (138 → Mainnet/L2) | Relay (138 → Mainnet) | |------|------------------------------|-------------------------| | **Relayer / service** | Gas on destination: submitClaim ~380k, finalize ~50–100k, release ~100–150k; bond 110% of deposit (min 1 ETH), returned after finalization | Relay tx gas on mainnet (e.g. up to ~1M gas per message) | | **Liquidity / bridge** | LiquidityPool: WETH/ETH to cover payouts; min liquidity ratio 110% of pending claims | Relay Bridge: WETH9 balance to cover all transferred amounts | | **One-time / setup** | Deployment ~5–10 ETH (gas); initial LP funding | Relay Bridge prefund with expected WETH9 volume | ### Example (Trustless, 10 ETH bridge at 30 gwei mainnet) | Party | Cost | |-------|------| | **User (138 only)** | Chain 138 gas (~72k) + 0.05% × 10 ETH = 0.005 ETH deducted from receive → receives 9.995 ETH (equiv.) on destination | | **Operator** | Relayer: bond 11 ETH (110% of 10 ETH), returned after finalization; gas ~0.02–0.05 ETH per claim+finalize+release; LP must hold ≥ 11 ETH (110% of 10) for this claim |