# L2 Transactions

The flow for a Via Network L2 transaction (contract call, contract deployment, or user-to-user transfer) begins when a user submits a transaction through RPC calls to the Sequencer’s mempool. The Sequencer’s State Keeper component is then responsible for constructing a new L2 block and an associated L1 batch based on various sealing criteria.

{% hint style="info" %}
For a detailed explanation of the sealing conditions, refer to [ZKsync’s L2 Block Sealing](https://github.com/vianetwork/via-core/blob/devnet-2/docs/specs/blocks_batches.md). \
To understand how **EraVM** operates and how transactions are processed, see the [transaction workflow overview](https://blog.quarkslab.com/zksync-transaction-workflow.html) or check [ZKsync's official documentation](https://docs.zksync.io/). This aspect of the protocol is fully inherited in the Via Network Protocol.
{% endhint %}
