Idempotency in Relayer SDK

We want to use an Open Zeppelin Relayer SDK to send transactions to a Polygon node.

We are wondering if there is a way to make sure a transaction cannot be duplicated through the Relay SDK.
When the SDK answers with a transaction ID there is a way to track the result afterwards, but there is no way to know when the connection is lost, if the API in the other side processed the request that was just sent or not through the SDK.

Is there a way to have idempotency when using the Relayer SDK?

We found there is a way to read the transactions through the Nonce with the API that would allow us to find out if there is a transaction ID created which we haven't received and based on that data obtain the missing information on our side before sending another transaction to this relayer.

1 Like

Hi @Lisandro_Sebrie

Welcome!

Based on your request we have created a ticket to add support for transaction idempotency in Relayer SDK.

I cannot speak about dates when it will be implemented/deployed but it is part of our roadmap.

Best,
Zeljko