TL;DR: A sequencer is the entity responsible for ordering and executing transactions on a Layer 2 rollup. When users submit transactions to an L2, the sequencer receives them, determines their execution order, produces L2 blocks, and submits compressed batches to Layer 1 for final settlement. Most major rollups currently operate centralized sequencers: Offchain Labs runs Arbitrum's, Optimism Foundation runs Optimism's, and Coinbase runs Base's. While centralized sequencers provide fast, consistent performance, they introduce risks around censorship, MEV capture, and single points of failure. The ecosystem is actively developing shared sequencing, sequencer auctions, and distributed sequencer networks to decentralize this critical component.
The Simple Explanation
If a rollup is a law office that processes cases and files summaries at the courthouse, the sequencer is the office manager who decides what order to process the cases in, assigns them to the right departments, and handles the filing. The office manager is essential for keeping operations running smoothly, but having one person in that role means they have a lot of power over what gets processed and when.
On a Layer 2, the sequencer is the first point of contact for every transaction. When you submit a swap, a transfer, or a smart contract interaction on an L2, your transaction goes to the sequencer. The sequencer decides where your transaction sits in the queue, executes it, includes it in an L2 block, and eventually batches that block with others for submission to L1. The sequencer's ordering decision is what determines the final state of the L2.

How Sequencers Work
The sequencer operates in a continuous loop. It receives incoming transactions from users, typically through RPC endpoints. It validates that each transaction is properly formatted, has a valid signature, and the sender has sufficient balance. It determines the execution order, usually first-come-first-served (FCFS) based on arrival time, though the sequencer has discretion over ordering. It executes the ordered transactions against the current L2 state, producing a new L2 block. It provides users with a "soft confirmation," a fast acknowledgment that their transaction has been included in the L2 block. Periodically, it compresses multiple L2 blocks into a batch and posts the batch to L1 for final settlement.


