- Pays for CCTP transfers on slow finality chains upfront and earns a fee against assuming the risk of loosing the “slow transfer” due to a chain re-org. (Needs to have a higher usdc liquidity on the chains it pays for relays)
- Uses a fast finality chain as a transfer router called “hub” (avalanche). All transfers are routed through this Hub, which in turn distributes the different payments
- Competes on an auction against other providers for the relay (Needs to be able to react to the auction result)
- When a fast transfer is requested, there are x possible outcomes:
- No relayer bids on the opportunity to do a fast transfer and a normal “slow” transfer is executed instead
- Our relayer bids on the opportunity to do a fast transfer but doesn’t win the auction. (nothing else to do? what happens if the relayer that won the bid never finishes the relay? how do we get the slow transfer to still?)
- might be worth to close the auction if the winning relayer failed to close the auction
- Our relayer bids on the opportunity to do a fast transfer and wins the auction:
- it completes the relay in time (grace period?) and gets the full reward
- it completes the relay later than expected but before the slow transfer and gets (its compensation?) slashed
- the slow transfer kicks in before the relayer finished the transfer. The slow transfer is executed and the fast transfer cannot be executed any longer