The Fee Refunder module implements a mechanism to reimburse IBC relayers for their costs when submitting acknowledgement and timeout packets. It solves a critical economic challenge in the IBC ecosystem by ensuring relayers are compensated for their services.
The Fee Refunder module operates through the following workflow:
Fee Specification: Smart contracts specify fees for acknowledgement and timeout processing when making interchain transactions
Automatic Fee Locking: The Fee Refunder module automatically locks the specified fees in an escrow account when the interchain transaction is executed, holding them until the packet is resolved
Fee Distribution:
When an acknowledgement is received, the relayer is paid the acknowledgement fee, and the timeout fee is refunded to the contract
When a timeout occurs, the relayer is paid the timeout fee, and the acknowledgement fee is refunded to the contract
This mechanism provides an economic incentive for relayers to deliver IBC packets and prevents spam attacks by requiring pre-payment of fees.