# Sequencing Layer

The sequencing layer is primarily responsible for monitoring on-chain deposits, maintaining L3 state, sequencing transactions and bundling transactions into blocks and batches.

zkLink Nova provides RPC services for users to interact with the network by sending transactions directly to the zkLink Nova sequencer. zkLink Nova also has a operator module responsible for monitoring the on-chain transactions (i.e. priority operations) on the base layers (i.e. Ethereum and connected Layer 2 rollups), and [relaying priority operations to the sequencer](/architecture/settlement-layer/in-detail-multi-chain-state-synchronization.md#on-chain-transaction-synchronization) .

The zkLink Nova sequencer takes a list of incoming transactions, making sure each transaction fits within the constraints required by the proving system, and rejecting transactions as necessary. Valid transactions are placed into small blocks every 2 seconds and executed in the zkEVM of ZK Stack. In order to spread the cost of interacting with settlement layers, transactions in multiple blocks will be packed into a batch, which serve as the fundamental unit for generating proofs and on-chain settlement.

Similar to most rollups, zkLink Nova starts with a centralized sequencer model. While this approach offers certain development efficiencies, it also presents challenges and risks, such as potential single point of failure, transaction censorship and issues around miner extractable value (MEV), affecting network fairness and transparency.

To address these concerns, zkLink Nova aims to incorporate decentralized sequencer solutions. These solutions, including platforms like Espresso, Astria, and Fairblock, aim to mitigate centralization risks by processing and validating transactions across a distributed node network. This strategy will not only boost network security and transparency but also strive to offer a more secure, fair, and efficient rollup solution to its users.

<br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zklink.io/architecture/sequencing-layer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
