Why rollups need shared sequencing

Isolated rollups create fragmented liquidity and non-atomic arbitrage opportunities, a problem known as cross-rollup MEV. When transactions on separate rollups can be sequenced to extract value that would be impossible if the rollups shared a single ordering layer, the market efficiency suffers. This fragmentation allows sophisticated actors to profit from timing differences between chains, undermining the atomicity that users expect from decentralized finance.

Cross-rollup sequencing aims to restore atomicity by providing a unified ordering mechanism. Without it, arbitrageurs can exploit the lag between when a transaction is executed on one rollup and when its state is reflected on another. This non-atomic execution creates opportunities for value extraction that do not exist in a single-chain environment, effectively taxing users and reducing the overall utility of the ecosystem.

Compare centralized and decentralized shared sequencers

The primary friction in cross-rollup sequencing is MEV (Maximal Extractable Value). When rollups operate in isolation, a centralized sequencer can reorder transactions to front-run users or capture arbitrage opportunities. Shared sequencing solves this by providing a common ordering layer, but the architecture you choose dictates your trust assumptions and operational complexity.

You generally have two paths: a centralized shared sequencer (like Espresso) or a decentralized interchain security model (like Celestia/ICA). The choice depends on whether you prioritize low latency and simplicity or censorship resistance and distributed trust.

ModelTrust AssumptionLatencyIntegration Complexity
Centralized (e.g., Espresso)Single operator or small consortiumLow (fast finality)Low (API-based)
Decentralized (e.g., Celestia/ICA)Distributed validator setMedium (consensus overhead)High (cross-chain integration)

Centralized shared sequencers act like a single traffic controller. They accept transactions from multiple rollups, order them globally, and distribute the sequence. This model offers the lowest latency because it avoids the overhead of complex consensus among many validators. It is ideal for applications requiring near-instant finality, such as high-frequency trading or gaming. However, you must trust the sequencer operator not to censor transactions or manipulate order for profit.

Decentralized models leverage existing validator sets across different chains. By using interchain security, a new rollup can "borrow" security from a larger network. This eliminates the single point of failure inherent in centralized models. The trade-off is increased complexity; integrating with a decentralized network requires handling cross-chain messaging and potential delays as validators reach consensus. This approach is better suited for DeFi applications where censorship resistance is more critical than microsecond latency.

Configure the sequencer and rollup nodes

Cross-rollup sequencing solves the fragmentation problem by introducing a shared sequencing layer. Instead of each rollup processing transactions in isolation, a centralized sequencer accepts transactions from multiple rollups, orders them globally, and ensures atomic execution across chains. This eliminates the latency and finality gaps that currently plague cross-rollup interactions.

To implement this, you must configure your rollup client to bypass its internal mempool and route transactions directly to the shared sequencer endpoint. This requires two distinct configuration changes: updating the rollup client's transaction submission settings and ensuring the sequencer interface is correctly exposed and accessible.

1. Update the Rollup Client Configuration

The first step is to modify your rollup client (e.g., OP Stack, Arbitrum Nitro) to recognize the shared sequencer as the primary transaction submission target. This involves updating the client's configuration file to point to the shared sequencer's URL instead of relying on the default local mempool.

For an OP Stack-based rollup, you would update the sequencer configuration to point to the shared sequencer's HTTP endpoint. This ensures that all new transactions are submitted to the shared layer for ordering.

JavaScript
// op-stack-config.json
{
  "sequencer": {
    "enabled": true,
    "l2eth_sender": {
      "seq_tx_not_found_retry_interval": "500ms",
      "stop_reorgs": false
    },
    "http_timeout": 30,
    "http_idle_timeout": 120
  },
  "rollup": {
    "sequencer": "https://shared-sequencer.example.com/eth/v1/builder/blocks",
    "sequencer_l1_confs": 0
  }
}

2. Configure the Sequencer Interface

The shared sequencer must be configured to accept transactions from multiple rollup clients. This involves setting up the sequencer's API endpoints to handle incoming transactions, validate their format, and queue them for global ordering.

Ensure the sequencer is configured to accept transactions from the specific rollup IDs or chain IDs you intend to support. This prevents unauthorized or malformed transactions from entering the shared pool.

JavaScript
// sequencer-config.yaml
sequencer:
  endpoints:
    - url: "https://shared-sequencer.example.com"
      methods: ["POST"]
      headers:
        Content-Type: "application/json"
  allowed_rollups:
    - id: "rollup-1"
      chain_id: 10
    - id: "rollup-2"
      chain_id: 42161

3. Verify Transaction Submission

After updating the configurations, verify that transactions are being submitted to the shared sequencer. You can do this by monitoring the sequencer's logs or by checking the transaction status on the rollup explorer.

Ensure that the transactions are being ordered correctly and that they are being included in the shared sequencer's block proposals. This step is critical to confirm that the cross-rollup sequencing is functioning as expected.

4. Monitor for Latency and Finality

Once the configuration is complete, monitor the system for latency and finality issues. Cross-rollup sequencing should reduce the time it takes for transactions to be confirmed across multiple rollups. If you observe increased latency, check the sequencer's performance and the network connectivity between the rollup clients and the sequencer.

What is the difference between a sidechain and a rollup?

Rollups provide high security by leaning on Layer 1s, while sidechains prioritize speed and cost-effectiveness with independent operations.

What role does a sequencer play in a rollup?

A normal sequencer already plays an outsized role in a rollup. It accepts transactions, decides their order, gives users fast confirmations, and later ensures the ordered data is posted somewhere the rollup can rely on. In many deployed systems, this sequencer is still a single operator or a tightly controlled service.

What is a L2 rollup?

Built on top of a Layer-1 counterpart, Layer-2 blockchains run their own chains on which transactions are processed to form blocks, but these are then bundled together in what are known as 'rollups', with the compressed data committed to the underlying Layer-1 blockchain as part of one of its blocks.

Handle non-atomic execution failures

In current cross-rollup implementations, true atomicity across distinct Layer-2 state roots is often theoretical rather than operational. While shared sequencing aims to synchronize transaction ordering, the underlying execution environments remain isolated. This gap creates a specific vulnerability: a transaction might succeed on Rollup A but fail on Rollup B, leaving the system in an inconsistent state.

This non-atomic behavior is not merely a technical glitch; it is a primary vector for cross-rollup MEV. As highlighted in recent research on Layer-2 arbitrage, attackers can exploit these partial successes to front-run or sandwich transactions, profiting from the temporary divergence in state between the two chains [[src-serp-2]]. The lack of a unified failure mode means that standard rollback mechanisms on one rollup cannot automatically revert the other.

To mitigate this, developers cannot rely solely on the sequencer's ordering guarantees. Instead, you must design explicit compensating transaction logic. This involves creating a "revert" transaction that is triggered if the primary cross-rollup execution fails on the destination chain. This logic should be embedded in the smart contract interface, ensuring that if leg A succeeds but leg B fails, leg A is automatically unwound.

Additionally, consider using a "commit-reveal" or "two-phase commit" pattern for high-value operations. This adds latency but ensures that neither chain proceeds until both agree on the outcome. While this reduces throughput, it is currently the most reliable way to prevent the MEV opportunities that arise from partial executions [[src-serp-7]]. Until native cross-rollup atomicity becomes a standard production feature, manual compensation logic is your only defense.

Verify cross-rollup transaction ordering

Cross-rollup MEV is the unsolved problem of shared sequencing. Without a unified order, malicious actors can front-run transactions across different chains, extracting value that should not be possible. You must verify that the intended sequence is preserved end-to-end.

Audit the Sequencer Logs

Start by collecting the transaction hashes from both rollups. Compare the block numbers and positions within those blocks. If transaction A on Rollup 1 is meant to precede transaction B on Rollup 2, but B is included in an earlier block, the sequencing is broken. This latency gap is where MEV thrives.

Check for Consistency

Use a shared timestamp or a deterministic block height reference to align the two chains. If the rollups rely on different validators, discrepancies will appear as reordering anomalies. Look for gaps where a transaction was delayed or dropped, which allows arbitrageurs to insert competing transactions.

Validate Atomicity

Ensure that the final state updates are committed to the underlying Layer 1 in the correct relative order. If the settlement layer shows Rollup 2’s state root before Rollup 1’s, the atomic execution has failed. This is a critical failure point that invalidates the cross-rollup guarantee.

Frequently asked questions about cross-rollup sequencing

Cross-rollup sequencing addresses the fragmentation that occurs when users interact with multiple Layer-2 networks. Without a shared sequencing layer, transactions across different rollups are isolated, leading to higher costs and slower finality. The following questions clarify how this infrastructure works and how it differs from legacy scaling solutions.

Work through Mastering Cross-Rollup Sequencing

cross-rollup sequencing
1
Gather what you need
Confirm the materials, tools, account access, or setup pieces for Mastering Cross-Rollup Sequencing before changing anything.
cross-rollup sequencing
2
Work in order
Complete one step at a time and verify the result before moving on. Most failed guides get confusing when two changes happen at once.
cross-rollup sequencing
3
Check the finished result
Compare the outcome with the expected shape, connection, texture, or behavior, then adjust only the part that is actually off.