10. Appendix — measured LZ bridge fees
The cost figures in this set assume a cheap LayerZero crossing. This appendix replaces that assumption with measured on-chain data from the live Etherlink bridge — both directions, real transactions.
What was measured
The Etherlink official bridge (OriginalTokenBridge 0x1f8E…26c7 on Base) takes 0% on the token; the only cost at a crossing is the LayerZero nativeFee + gas. Measured on both legs.
Method (reproducible)
- Enumerate every message sent by the bridge OApp via the LayerZeroScan API —
GET scan.layerzero-api.com/v1/messages/oapp/184/<bridge>— split by direction:srcEid 184= Base→Etherlink (IN),srcEid 292= Etherlink→Base (OUT). - For each source tx, read the on-chain
valueby RPC — Base for IN (ETH), Etherlink for OUT (XTZ) — plus receipt gas. For an ERC-20bridge()the token moves viatransferFrom, sovalue= the LayerZeronativeFee. - Convert at spot price. Refund nuance: gross
msg.valueis an upper bound — LayerZero refunds over-payment torefundAddress, so the median equals the truenativeFee(most callers send the quote; the high tail is refunded).
Results — 2026-06-14 (ETH $1,674, XTZ $0.23)
| Leg | n | median fee | + gas | range |
|---|---|---|---|---|
| IN Base→Etherlink (ETH) | 46 | ~$0.010 | $0.002 | $0.0096 – $0.84* |
| OUT Etherlink→Base (XTZ) | 54 | ~$0.032 | — | $0.026 – $0.052 |
* IN tail = over-payments refunded by LayerZero; the true fee ≈ the median.
Blended ≈ $0.025 / crossing (5 IN + 11 OUT per campaign) → ~$0.38 / campaign for all 16 crossings.
What it means
- The real bridging cost is ~20× below the model's €0.5/crossing default and far below the earlier ~$0.25–0.85 estimate. Chain fees are economically negligible — the BC cost is ~100% engineering + audit (the 6. Interactive model "chain" bar is essentially a rounding line).
- The model deliberately keeps €0.5/crossing as a ~20× conservative buffer for the 9. Risks "fee / liquidity could rise" scenario. Set Bridge / debridge to 0.03 in the model to see the measured case (total BC €1.02M → ~€0.95M).
Bridge verification config (verified on-chain, 2026-06-14)
Read directly from the bridge's LayerZero pathway config (the config object mirrors the on-chain ULN settings):
| Field | Base ↔ Etherlink |
|---|---|
| Protocol version | LayerZero V1 (UltraLightNodeV2) |
| Verification model | Oracle + Relayer — no DVNs |
| Oracle | 0x1e02…785F (inbound) / 0x6b34…593F (outbound) |
| Relayer | 0xcb56…aaAa (LayerZero default) |
| Block confirmations | 10 |
| Receive library | 0xfe7c…a098 |
So the lane runs the legacy V1 Oracle + Relayer model with LayerZero's default operators — not a V2 multi-DVN setup, so the post-Kelp "2-of-3 DVN" hardening doesn't apply. The config is public and on-chain (anyone can read it; VF can monitor it for owner changes) but not VF-controlled — see 9. Risks #6.
Caveats
- Sample = the most recent ~100 messages. A full Dune query (
base.transactionsto the contract + refund-nettingbase.traces+prices.usd) would give the 15-year time series and the exact refund-netted distribution. - Only bridge crossings were measured; the model's separate "messages" line (€0.3/msg) is unmeasured and likely also conservative.
- The
nativeFeescales with destination gas — a sustained rise is the early-warning signal for the page-9 cost risk, which is exactly why the base model stays conservative.
Measured 2026-06-14 from LayerZeroScan + Base/Etherlink RPC (n=46 IN, 54 OUT). Reproducible; not a quote.