ChainScore Labs
All Guides

Withdrawal Delays in Optimistic Rollups

LABS

Withdrawal Delays in Optimistic Rollups

Chainscore © 2025

Core Concepts of Optimistic Security

Understanding the security model behind Optimistic Rollups is essential for managing withdrawal expectations and risk.

Fraud Proof Window

The challenge period is a mandatory delay where a transaction's validity can be disputed. This is typically 7 days on networks like Optimism and Arbitrum.

  • Allows verifiers to submit fraud proofs if a sequencer posts invalid state.
  • Funds are locked until this window passes without challenge.
  • This delay is the primary source of withdrawal latency for users moving assets to L1.

Sequencer & State Commitment

The sequencer batches transactions and posts compressed data and a new state root to the L1.

  • The posted state is assumed to be correct (optimistic).
  • Anyone can act as a verifier to monitor these commitments.
  • If the sequencer is malicious, verifiers can initiate a fraud proof challenge during the window.

Data Availability

Ensuring transaction data is published to the L1 is critical for censorship resistance and enabling fraud proofs.

  • Data is posted in calldata or blobs, making it publicly verifiable.
  • If data is withheld, the rollup can enter a failure mode, halting state progression.
  • Users rely on this availability to trustlessly exit the rollup if needed.

Trusted vs. Trustless Exits

A fast withdrawal uses a liquidity provider's bridge for instant access, introducing counterparty risk.

  • A slow, trustless withdrawal uses the canonical bridge and waits the full fraud proof window.
  • Fast withdrawals are convenient but require trusting the LP's solvency and honesty.
  • Understanding this trade-off is key for managing asset liquidity and security.

Escape Hatches & Force Inclusion

These are safety mechanisms that allow users to bypass a non-responsive or censoring sequencer.

  • Users can submit transactions directly to an L1 contract if the sequencer is down.
  • This ensures users can always initiate a withdrawal, even during network issues.
  • It's a last-resort feature that guarantees liveness and censorship resistance.

The Standard Withdrawal Flow

Process overview

1

Initiate Withdrawal on L2

User submits a transaction to the L2 bridge contract to withdraw assets.

Detailed Instructions

To begin, the user must call the withdraw or initiateWithdrawal function on the L2 bridge contract (e.g., OptimismPortal on OP Mainnet). This transaction burns the L2 tokens or locks the native asset, generating a withdrawal proof.

  • Sub-step 1: Construct the transaction with the target L1 recipient address and the withdrawal amount.
  • Sub-step 2: Submit the transaction and pay L2 gas fees. The transaction will emit a WithdrawalInitiated event.
  • Sub-step 3: Record the transaction hash and the emitted event logs. The withdrawal hash is a critical identifier for the subsequent challenge period.
solidity
// Example call to OptimismPortal IOptimismPortal(L2_BRIDGE_ADDRESS).withdraw( _to, // L1 recipient address _amount // Amount to withdraw );

Tip: Always verify the transaction succeeded on the L2 block explorer and save the withdrawal hash from the event logs for tracking.

2

Wait for the Challenge Period

The mandatory delay where the L2 state can be disputed.

Detailed Instructions

After initiation, the withdrawal enters the fault proof window (typically 7 days). This is the core security mechanism of optimistic rollups, allowing verifiers to submit fraud proofs if the L2 state transition was invalid.

  • Sub-step 1: Monitor the elapsed time since the L2 block containing your withdrawal was finalized. The delay is fixed per network (e.g., 7 days for Arbitrum One, ~1 week for OP Mainnet).
  • Sub-step 2: Understand that no action is required during this period unless you are a validator challenging state. The delay is enforced at the protocol level by the L1 rollup contract.
  • Sub-step 3: Track the status using a block explorer or bridge UI, which will show a countdown until the withdrawal is ready for relay.

Tip: This period is non-negotiable and a fundamental security trade-off for scalability. Fast withdrawal services exist but involve third-party liquidity providers and fees.

3

Prove Withdrawal on L1

After the challenge period, provide Merkle proof of the withdrawal to L1.

Detailed Instructions

Once the challenge period elapses, the user (or a relayer) must submit a withdrawal proof to the L1 bridge contract. This proves the withdrawal transaction was included and finalized on L2.

  • Sub-step 1: Fetch the Merkle proof (output root, inclusion proof) for your withdrawal transaction. This can be generated via the rollup node's RPC (eth_getProof) or a bridge SDK.
  • Sub-step 2: Call the proveWithdrawalTransaction function on the L1 bridge contract (e.g., OptimismPortal on Ethereum). Pass the L2 transaction data and the Merkle proof.
  • Sub-step 3: Pay the L1 gas fee for this proof transaction. Successful execution stores the proof, making the withdrawal proven and starting a short finalization timer.
solidity
// Example proving a withdrawal on L1 L1OptimismPortal.proveWithdrawalTransaction( _tx, // Withdrawal transaction data _l2OutputIndex, // Index of the L2 output root _outputRootProof, // Merkle proof components _withdrawalProof // Inclusion proof );

Tip: This step can be gas-intensive. Public relayers often batch proofs for efficiency.

4

Finalize and Claim on L1

Complete the withdrawal and receive assets in the L1 wallet.

Detailed Instructions

After a short finalization window (e.g., 24 hours on OP Mainnet post-proof), the withdrawal can be completed. This step transfers the asset from the bridge custody to the user's L1 address.

  • Sub-step 1: Wait for the finalization period to pass after the proof was accepted. This is a second, shorter delay for added security.
  • Sub-step 2: Call the finalizeWithdrawalTransaction function on the same L1 bridge contract, passing the original withdrawal transaction data.
  • Sub-step 3: The contract validates the proof is finalized and then releases the locked ETH or mints the canonical token on L1 to the recipient address.
solidity
// Example finalizing a withdrawal L1OptimismPortal.finalizeWithdrawalTransaction(_tx);

Tip: Always check that the recipient address on L1 has sufficient gas (ETH) to pay for the finalization transaction, which is executed on the Ethereum network.

Withdrawal Delay Periods by Network

Comparison of finalization periods and associated costs for major Optimistic Rollups.

NetworkDefault Challenge PeriodFast Withdrawal Cost PremiumWithdrawal Finality on L1Native Bridge Fee (approx.)

Optimism

7 days

0.3-0.5% of tx value

~12 minutes post-challenge

$1-3

Arbitrum One

7 days

0.2-0.4% of tx value

~5 minutes post-challenge

$0.5-2

Base

7 days

0.4-0.6% of tx value

~12 minutes post-challenge

$1-3

Arbitrum Nova

7 days

0.1-0.3% of tx value

~5 minutes post-challenge

$0.3-1

Metal L2

7 days

N/A (No fast exits)

~12 minutes post-challenge

$2-5

Public Goods Network

7 days

N/A (No fast exits)

~12 minutes post-challenge

$0.1-0.5

Zora Network

7 days

0.5-0.8% of tx value

~12 minutes post-challenge

$1-4

Managing Withdrawal Timing

The Challenge Period Explained

Optimistic rollups like Optimism and Arbitrum assume transactions are valid by default, requiring a challenge period (typically 7 days) for fraud proofs. This is the root cause of withdrawal delays from L2 to L1. During this window, anyone can submit cryptographic proof that a withdrawal is fraudulent, preventing funds from being stolen.

Key Points

  • Standard Delay: Most withdrawals require waiting the full challenge period (e.g., 7 days for Optimism) before funds are finalized on Ethereum.
  • Security Trade-off: The delay is a deliberate security mechanism, sacrificing speed for trustlessness and lower costs compared to ZK-rollups.
  • User Impact: You initiate a withdrawal from the L2 bridge contract, but the funds are not claimable on L1 until the challenge window passes and the state root is finalized.

Example

When you withdraw 1 ETH from Arbitrum Nova to Ethereum via the official bridge, you submit a transaction on Nova. The bridge then posts a message to Ethereum, starting a ~7-day waiting period before you can execute a second transaction to claim your ETH on mainnet.

Fraud Proofs and Dispute Resolution

The security model of Optimistic Rollups relies on a challenge period where invalid state transitions can be contested. This section details the mechanisms for detecting and resolving fraud.

Fraud Proof Window

The challenge period is a mandatory delay (typically 7 days) after a state root is posted to L1. During this window, any verifier can submit a fraud proof to contest an invalid transaction batch. This period is the primary source of withdrawal delays but is essential for allowing sufficient time to detect and dispute malicious activity before funds are finalized.

Interactive Fraud Proofs

A bisection game is an interactive dispute protocol used to pinpoint a single step of faulty execution within a large batch. The challenger and the sequencer engage in multiple rounds, narrowing down the dispute to a specific opcode. This gas-efficient method avoids the need to re-execute an entire batch on-chain, making fraud proofs economically viable.

Bonding and Slashing

To submit a challenge, a verifier must post a challenge bond. If the fraud proof is valid, the bond is returned and the malicious sequencer's stake is slashed, with a reward paid to the challenger. This economic incentive aligns network security with participant behavior, ensuring only honest state updates are finalized.

Single Round Fraud Proofs

Some newer rollup designs implement non-interactive fraud proofs, where the entire proof of invalid execution is submitted in one transaction. This requires more on-chain computation but can significantly reduce the dispute resolution time. The trade-off involves higher upfront gas costs versus the multi-round complexity of interactive proofs.

Watcher Nodes and Monitoring

Watcher nodes are off-chain services that continuously monitor the rollup chain and the L1 bridge contract. They automatically construct and submit fraud proofs when they detect an invalid state transition. Users often rely on public watcher services or run their own to help secure the network and protect their funds during the challenge period.

Forced Inclusion and Exits

If a sequencer is censoring transactions, users can invoke a forced inclusion by submitting their transaction directly to the L1 rollup contract. Similarly, escape hatches allow users to withdraw assets directly from L1 without sequencer cooperation by providing a Merkle proof of their funds. These are last-resort mechanisms for user protection.

SECTION-FAQ

Frequently Asked Questions

Ready to Start Building?

Let's bring your Web3 vision to life.

From concept to deployment, ChainScore helps you architect, build, and scale secure blockchain solutions.