Etherlink Relay Service
Custom relay for Etherlink (chain 42793) when CCIP does not support Etherlink. Receives messages (e.g. from source chain bridge events) and calls EtherlinkRelayReceiver.relayMintOrUnlock(messageId, token, recipient, amount) on Etherlink.
Env
ETHERLINK_RELAY_BRIDGE– EtherlinkRelayReceiver contract on EtherlinkETHERLINK_RPC_URL– Etherlink RPCETHERLINK_RELAY_PRIVATE_KEYorPRIVATE_KEY– relayer key (RELAYER_ROLE on receiver)ETHERLINK_RELAY_MAX_CONCURRENT– max in-flight submissions (default 5)ETHERLINK_RELAY_QUEUE_DEPTH– max queue depth (default 100)POLL_INTERVAL_MS– queue process interval (default 5000)
Run
npm install && npm start
Messages are pushed via service.pushMessage(messageId, token, recipient, amount); wire this to your source-chain event monitor.
Metrics
In-memory metrics: etherlink_relay_messages_detected_total, etherlink_relay_submissions_success_total, etherlink_relay_submissions_failed_total, etherlink_relay_queue_depth.