Concurrency Considerations for OpenZepplin Defender Relay

we want to use a single relay to cover gas costs on our dapp for all users. What are the concurrency considerations we need to keep in mind when doing this? Would 1 relay be enough? What happens when two users execute a tx and it hits the relay at the same time? Are there any race conditions we need to be aware of where the relay tx would fail?

Hi @EPY,

Thanks for reaching out!

Relayers are able to handle concurrent transactions since nonces are atomically allocated. One thing to bear in mind is there are limits around transactions/hour. If you are on the free tier, that limit is 120 transactions/hour across all relayers in your account. There is also a limit to the number of relayers (5 on the free tier).

Please let us know if you have any other questions.

One other limit re: concurrency is we do rate limit requests as follows: