How does a sequencer validate a specific transaction in order to generate a proof?

Created by Deepanshu Rathor, Modified on Mon, 19 Feb at 4:18 PM by Deepanshu Rathor


The sequencer retrieves the transaction from the transaction pool and verifies that it is properly formatted and contains all the necessary information.

The sequencer does the following checks:

1- Check that the transaction is valid by checking that the sender has enough funds to cover the gas costs of the transaction and that the smart contract called, if any, is valid and has the correct bytecode.

2- Check that the transaction is not a duplicate by checking the transaction nonce of the sender to ensure that it is one greater than the last nonce used.

3- Check that the transaction is not a double-spend by checking that the sender's account balance has not been already spent in another transaction.

Once the transaction is deemed valid, the sequencer applies the transaction to the current state of the Polygon zkEVM, updating the state of the smart contract and the account balances as necessary. Duration and cost vary depending on traffic and prevailing gas prices.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article