Files
proxmox/docs/07-ccip/TEZOS_ETHERLINK_PRODUCTION_CONFIG.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

3.9 KiB
Raw Blame History

Tezos and Etherlink Production Configuration

Purpose: Feature flags, rate limits, and caps for enabling Tezos and Etherlink in production routing. Use this as the template for go-live.

Related: TEZOS_NETWORK_CONFIG_ENV_MATRIX.md, TEZOS_ETHERLINK_DON_CONFIG.md


1. Feature flags and routing enablement

1.1 Chain enablement

Chain / destination Config key / env Default (pre go-live) Production
Tezos L1 (chainId 1) TEZOS_BRIDGE_ENABLED false true after ops sign-off
Etherlink (42793) ETHERLINK_BRIDGE_ENABLED false true after ops sign-off
  • Settlement / routing layer: Before returning routes that use Tezos or Etherlink, check the corresponding flag. If disabled, exclude those destinations from route options.
  • BridgeRegistry / integrations: Destinations 1 and 42793 are already registered; feature flags control whether the app exposes them to users.

1.2 Routing provider priority

  • Jumper: Enable only when JUMPER_API_KEY is set and TEZOS_JUMPER_SUPPORT_MATRIX confirms support for the chain pair. Until then, Jumper is off for Tezos/Etherlink.
  • LiFi: Use for EVM to EVM (e.g. 138 to 42793) when LiFi supports the pair; Tezos L1 is non-EVM, use TezosAdapter only.
  • Direct: Tezos L1 uses TezosAdapter; Etherlink uses EVMAdapter(42793) or CCIP (if Etherlink is on CCIP).

1.3 Example config (application / env)

# Feature flags  set to true only after Phase 6 approval
TEZOS_BRIDGE_ENABLED=false
ETHERLINK_BRIDGE_ENABLED=false

# Optional: Jumper (set when supported and desired)
JUMPER_API_KEY=

2. Rate limits and caps

Destination Rate limit (per hour) Per-tx cap (USD equiv) Daily cap (USD equiv)
Tezos L1 (1) 50 requests 10,000 100,000
Etherlink (42793) 100 requests 10,000 200,000
  • Rate limit: Max number of bridge initiations (e.g. TezosAdapter.bridge or bridge to 42793) per hour per source chain. Enforce in app or relay to avoid overload and abuse.
  • Per-tx cap: Reject or flag transfers above this amount; can be enforced in UI and/or relay (with RMN for CCIP).
  • Daily cap: Optional circuit breaker per destination; alert when approached.

2.2 Tezos relay

  • confirmTransaction: Relay should process events in order; limit concurrent Tezos submissions (e.g. max 5 in flight) to avoid nonce/load issues.
  • Retries: Max 3 retries per requestId with backoff; then dead-letter and alert.
  • Same pattern as 138 to Mainnet: queue depth limit (e.g. 100), max concurrent submissions (e.g. 5), retry with idempotency (messageId).

3. Production checklist before enabling

  • Tezos L1 relay running and monitored; oracle key secure (see TEZOS_L1_RELAY_RUNBOOK in smom-dbis-138/docs/bridge).
  • Etherlink path live: either CCIP configured and funded, or custom relay running (see ETHERLINK_RELAY_RUNBOOK in smom-dbis-138/docs/bridge).
  • Rate limits and caps configured in app and/or relay.
  • Monitoring and alerts in place (see TEZOS_ETHERLINK_BRIDGE_MONITORING in docs/08-monitoring).
  • Runbooks indexed and known to ops: TEZOS_CCIP_RUNBOOKS_INDEX.
  • Security sign-off (Phase 5) and ops/product approval for go-live.

4. Approval

Phase 6 go-live: Ops and Product sign-off required before setting TEZOS_BRIDGE_ENABLED=true and ETHERLINK_BRIDGE_ENABLED=true.