Skip to content

Layer 2 Withdrawal Lab: OP Mainnet to Ethereum

Your OP Mainnet transaction succeeded. Why is the ETH still unavailable on Ethereum? Follow one withdrawal through its receipts, proof and finalization, then calculate what the journey actually costs.

Intermediate case study · reviewed 24 October 2026. Start with the Layer 1 and Layer 2 lesson if settlement is new to you. This is a walkthrough of documented mechanics, with an invented timeline and budget. No withdrawal was executed for this article.

The case: 0.10 ETH, two networks, three transactions

Mina has 0.10 ETH on OP Mainnet that she wants to use on Ethereum. She chooses the canonical withdrawal path rather than a service that advances liquidity. Her destination is her own ordinary Ethereum account; token wrappers, exchanges and contract recipients are outside this example. She also needs separate funds for transaction fees.

The Optimism withdrawal tutorial distinguishes initiating on L2, proving on L1 and finalizing on L1. Its code demonstration uses OP Sepolia; it separately describes a seven-day finalization wait for OP Mainnet. Those steps explain the mainnet case here, but the tutorial's test addresses are not mainnet destinations.

  1. Initiate on OP Mainnet. A successful source transaction creates the withdrawal message. Keep the source receipt and the withdrawal identifier. Success here means the process has started.
  2. Prove on Ethereum. After an appropriate state claim is available, a separate L1 transaction proves the withdrawal's inclusion. Keep this receipt too; it is different from the OP transaction.
  3. Wait for eligibility, then finalize on Ethereum. When the required conditions pass, a further L1 transaction executes the withdrawal. Check its outcome and the intended recipient, not just the calendar.

The underlying withdrawal specification identifies L2ToL1MessagePasser as the L2 message-recording contract and OptimismPortal as the L1 proving/finalizing interface. A withdrawal hash ties the stages together; it is not a substitute for each transaction's own hash. These names help readers interpret records, rather than invite a manual transfer to a contract address.

What each receipt actually establishes

A reading guide for this ETH withdrawal
RecordWhat Mina can concludeWhat remains to check
Source receiptThe withdrawal was initiated on OP Mainnet.A matching L1 proof and eventual destination execution.
Proof receiptThe inclusion proof was accepted at that step.Eligibility to finalize; proof acceptance is not ETH delivery.
Finalization recordThe destination call was attempted with a recorded outcome.Its success status, recipient and the resulting ETH movement.

Imagine a tracker with only one green checkmark. “Confirmed” is an incomplete description unless it names one of these records. Mina's practical question is now precise: Which stage has completed, and which evidence is missing? A screenshot of an OP receipt cannot answer whether her Ethereum withdrawal has finished.

Seven days is not a delivery appointment

The current OptimismPortal specification adds important conditions: proof maturity, a valid dispute-game claim and an unpaused system. It describes the earliest timing boundary as the later of proof maturity and the game's finality delay. A failed or blacklisted claim can require a new proof. Parameters are chain-specific; a specification is not evidence that every described upgrade is active on every chain.

Here is an invented calendar using an assumed seven-day proof-maturity delay, not a measured withdrawal:

  • Day 1, 09:00: Mina initiates the withdrawal.
  • Day 1, 12:00: her proof transaction succeeds.
  • Day 8, around 12:00: that assumed maturity interval has elapsed. Other eligibility checks and the finalization transaction still matter.
  • If she instead submits her proof on Day 3 at 12:00, that maturity boundary moves to Day 10. The clock did not begin at her first click.

For a real withdrawal, read the current bridge status and deployment-specific rules. Do not repeatedly pay for a transaction that is still ineligible. “Ready to finalize” and “funds received” are distinct states.

Go deeper: why two timing boundaries?

Suppose proof maturity ends after 168 hours, while the relevant game's resolution plus its finality delay reaches 190 hours on the same timeline. The earliest timing boundary is 190 hours, not 168 and not their sum, 358. If the second boundary is 160 hours, the first boundary still holds until 168. These are arithmetic illustrations; they do not assert a particular live game schedule.

A finalization transaction must still be submitted and included after eligibility, with the relevant checks passing. This is why a “seven-day” label should be understood as one rule within a process rather than an end-to-end service guarantee.

A withdrawal budget that counts both chains

Assume 0.10 ETH is the withdrawal principal, and that Mina pays all three transactions from additional balances. The following fees are invented ETH amounts, not current gas estimates.

Illustrative cost, excluding any earlier deposit or trading
StepNetworkAssumed fee
InitiateOP Mainnet0.00001 ETH
ProveEthereum0.00070 ETH
FinalizeEthereum0.00050 ETH
TotalBoth chains0.00121 ETH

The recipient receives the 0.10 ETH principal on a successful withdrawal under these assumptions. Across Mina's holdings, the economic cost is 0.00121 ETH, or 1.21% of that principal. Her principal-plus-fee budget is 0.10121 ETH. Do not describe 0.09879 ETH as the contract's payout: subtracting the fees measures an economic net, not necessarily the transfer amount.

If the two Ethereum fees double while the OP fee stays unchanged, total cost becomes 0.00241 ETH, or 2.41%. The largest uncertainty in this budget is therefore not the source-chain fee. Waiting, fee changes and a failed attempt can all alter what the user ultimately spends.

When faster arrival is a different service

A liquidity-based bridge may pay the user on the destination before its own settlement completes. That changes who waits and introduces another set of contracts, liquidity conditions and charges; it does not make the canonical proof disappear. Compare the exact destination asset, net amount and failure/refund rules. A fast route is a separate product to evaluate, not evidence that the canonical route's waiting period is unnecessary.

Ethereum's optimistic-rollup documentation provides the broader context. This worked case applies to the documented OP path, not every L2 or bridge.

Optional comparison: rollups, sidechains, channels and Plasma
  • ZK rollups use validity proofs, but inclusion, proof production and L1 settlement still take time.
  • Sidechains have their own consensus; an Ethereum bridge does not make their security identical to Ethereum's.
  • State channels exchange signed updates among participants and have separate closing/dispute requirements.
  • Plasma designs rely on particular exit and data-availability assumptions.

For each design, reconstruct the exit path before assigning a single “speed” or “security” score.

Check your understanding

Mina's OP receipt is successful, but no Ethereum proof has been submitted. Has her seven-day proof-maturity timer started? If all three example fees stayed fixed while her withdrawal fell to 0.01 ETH, what percentage of the principal would fees consume?

Show the answer

No: source success does not establish a successful proof. In the smaller example, 0.00121 ÷ 0.01 × 100 = 12.1%. Fixed transaction costs weigh more heavily on smaller transfers. This does not predict actual fees or recommend a transaction size.

Continue learning: Return to the L1/L2 story lesson · Practise net proceeds with the stablecoin cost calculator (a separate exercise, not an ETH bridge estimator).

Revision history and scope

Revised 19 October 2026. Separated sidechains from Ethereum L2s and corrected claims of instant ZK finality and universal withdrawal times.

24 October 2026: Moved the earlier correction note below the lesson and added a reader-focused introduction. This is a presentation edit; the earlier factual review date is unchanged.

24 October 2026 — substantive update: Rebuilt the overview as a documented OP Mainnet ETH-withdrawal case, with an invented timeline, fee budget, optional timing analysis and answer exercise. Retained the broader scaling comparison as optional reading. No transaction was executed.