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?
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.