Relayers deliver interchain messages to their recipients
Relayers are responsible for ensuring messages are delivered to their recipients. Relayers are a permissionless but integral part of the Hyperlane protocol. Anyone can run a relayer.
Relayers are configured to relay messages from one or more origin chains to one or more destination chains. A relayer observes the Mailbox on the origin chain, watching for new messages. When a new message is detected, the relayer queries the destination chain to determine the message recipient's Interface.
The relayer is then responsible for aggregating the metadata needed by that ISM. This will vary by ISM, and may include signatures from one or more Validators, merkle proofs, zero knowledge proofs, and more!
Finally, relayers deliver the message to its recipient by calling
Mailbox.process()on the destination chain with the aforementioned metadata.
Relayers do not receive direct token incentives from the protocol, but relayers can configure their fee structure for the messages they process, enabling them to earn revenue streams for providing their critical service.
Relayers can easily configure the messages that they wish to process. Currently, the relayer will support:
Eventually, we envision a robust marketplace of relayers, each providing unique transaction processing services with different fee structures. Additionally, it is possible that relayers will eventually receive token incentives from the protocol for the services they provide.
The relayer may be configured to retry messages when processing fails. Messages that fail to process on the first attempt will cause the relayer to retry with exponential backoff. After a maximum amount of retries, the relayer will no longer attempt to process the message.