Metatransactions & paying a fee to the "relayer"

hey everyone - quick question regarding metatransactions design - specifically for rewarding the relayer. currently in my contract (and most examples online, from what I can tell) use the “sender” (msg.sender) to infer who should be paid the “fee” for gas services behind propagating the metatransaction. however, if this transaction went through Infura, then technically Infura’s hotwallet is the sender & would receive the fee - which makes sense. however this would disallow any other “relayers” from participating, or the transaction signer that signs the transaction before sending it to Infura from being a “relayer” as well. is this just a limitation we must live with when using 3rd party services for transaction propagation/management?


Hey Henry,

The Infura ITX service is used to relay transactions, but you are correct in that you do not have complete over it. It will be challenging/inefficient to add an additional relayer in this case, since your options are limited. We could forward an improvement suggestion to the dev team.

Kind regards,
Alex | Infura Support | ConsenSys

We’re in the process of redesigning the overall flow so this limitation might be addressed.