- Fast: Relayers can fill orders optimistically, even before payment is confirmed. Small payments can confirm in seconds.
- Cheap: As much logic as possible is performed off of expensive chains to reduce costs.
- Lightweight: Can operate on any chain with just a single relayer
How does it work?
Relay is powered by Relayers. When a user wishes to bridge, they receive a quote from the Relay API. When the quote is accepted, the user deposits into the Relay Depository Contracts, either by submitting a tx or signing a gasless permission. The user is then filled on the destination chain by a Relayer. At this point the users order has been successfully completed. The last step of the Relay involves the Relayer claiming deposited funds, mediated by the Relay Protocol. Today Relay is powered by the Reservoir Relayer. With a live deposit flow in production, Users no longer need to trust Relayers in our system and we are currently finalizing how additional Relayers may be added.How is it so fast?
In traditional message-based bridges (LayerZero, Axelar, Wormhole, etc), there needs to be consensus amongst a group of actors that something happened on Chain A, before it can be acted upon on Chain B. This is because there are often shared liquidity pools on either side, and so you need to be certain that the action on Chain A was completed. For safety, this usually takes at least a couple of minutes. By contrast, when using a relayer model (Relay, Across, etc), a single relayer executes the order on Chain B using their own funds. This means they don’t need to wait for the action on Chain A to be fully confirmed, or to get consensus. When a user submits an order, the relayer fills as soon as possible, at which point the user’s desired intent is complete. This can happen in as little as a few seconds for low cost actions, like NFT mints and gas sponsorship.How is it so cheap?
When bridging or swapping, there are typically three cost components:- Asset transfer: Moving assets from one wallet to another
- Order validation: Ensuring that the user’s order was fulfilled correctly
- Fee collection: Paying fees to actors such as a protocol, wallet or relayer