Skip to content

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)

  1. Enumerate every message sent by the bridge OApp via the LayerZeroScan APIGET scan.layerzero-api.com/v1/messages/oapp/184/<bridge> — split by direction: srcEid 184 = Base→Etherlink (IN), srcEid 292 = Etherlink→Base (OUT).
  2. For each source tx, read the on-chain value by RPC — Base for IN (ETH), Etherlink for OUT (XTZ) — plus receipt gas. For an ERC-20 bridge() the token moves via transferFrom, so value = the LayerZero nativeFee.
  3. Convert at spot price. Refund nuance: gross msg.value is an upper bound — LayerZero refunds over-payment to refundAddress, so the median equals the true nativeFee (most callers send the quote; the high tail is refunded).

Results — 2026-06-14 (ETH $1,674, XTZ $0.23)

Legnmedian fee+ gasrange
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):

FieldBase ↔ Etherlink
Protocol versionLayerZero V1 (UltraLightNodeV2)
Verification modelOracle + Relayerno DVNs
Oracle0x1e02…785F (inbound) / 0x6b34…593F (outbound)
Relayer0xcb56…aaAa (LayerZero default)
Block confirmations10
Receive library0xfe7c…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.transactions to the contract + refund-netting base.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 nativeFee scales 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.

Verifluence Documentation