Skip to main content

What is transaction finality?

Finality refers to the point at which a transaction sent to Base becomes irreversible. This provides guarantees that the transaction will not be rolled back or lost. Finality works differently for normal transactions that modify Base L2 state than it does for transactions that withdraw funds from Base L2 to Ethereum L1.
Only transactions that withdraw funds from Base to Ethereum must wait 7 days. Regular transactions within Base, such as swaps or sends, do not have to wait 7 days.

Finality for Base L2 Transactions

This describes finality for transactions on Base except withdrawal transactions that move funds from Base to Ethereum L1 For transactions on Base, finality is not a single time to wait for. Instead, there are 4 stages in time that each provide increasing security guarantees. Diagram of transaction finality stages on Base
1

Flashblock Inclusion: ~200ms

After roughly 200ms, the transaction is included in a preconfirmation block (Flashblock) by the Base sequencer.
  • Flashblocks reorg less than 0.001% of the time
  • You can see the reorg history in our public stats page.
2

L2 Block Inclusion: ~2s

After roughly 2 seconds, the sequencer has built the transaction into an L2 block and distributed it to validator nodes.
  • Only a single Base L2 block has ever reorged, representing .0000003% of transactions. The data can be seen here
3

L1 Batch Inclusion: ~2m

After roughly 2 minutes, a Base batch containing the transaction has been posted to Ethereum.
  • There has never been a reorg of L2 blocks that were batched to Ethereum L1.
  • A reorg of Ethereum L1 does not require a reorg of the Base L2 chain. The sequencer and validator nodes maintain a configurable lag from the tip of Ethereum, so typical L1 reorgs have no effect. In the event of larger Ethereum reorgs, Base can resubmit batch data on L1 without changing the sequenced L2 blocks.
4

L1 Batch Finality: ~20m

The Ethereum L1 batch containing the transaction is older than 2 epochs, or 64 L1 blocks.
  • L2 blocks that have reached L1 batch finality are protected from reorgs the same way Ethereum finalized blocks are. They are in practice impossible to reverse.

Finality for Withdrawal Transactions

This describes finality of transactions that move funds from Base to Ethereum Only withdrawals to Ethereum must wait 7 days to finalize before the funds can be released to the address on Ethereum L1. This allows Base’s Fault Proof system to provide extremely high security guarantees for funds bridged to Base.
When a transaction initiates a withdrawal from Base to Ethereum, the funds are removed from the account balance on Base. Later, a permissionless “proposer” must provide Ethereum with proof that Base contains this withdrawal.However, Ethereum cannot natively confirm what happened on Base as they are separate blockchains. Thus, there is a 7 day window in which a permissionless “challenger” can dispute a proposal that it feels is malicious. If no challenge is made in the 7 days, the withdrawal can be proven against the finalized output root and released to the L1 recipient. But if a challenge is made, the proposer and challenger play what is called the Fault Dispute Game. This game requires increasing bonds to be made, with an eventual winner. If the proposer wins, the output root finalizes and can be used to prove withdrawals against (releasing them on L1). If the challenger wins, the output proposal becomes invalid.This system requires only a one honest party to remain secure. Base will always run an honest proposer and challenger.Note: if the dispute game is won by a challenger, the state of the L2 chain does not reorg. The output proposal is marked invalid and any withdrawals that were proven against it cannot finalize. Those withdrawals would need to be re-proven against a different, valid output root.

FAQ

In almost all circumstances, no. Base can simply re-submit batch data to Ethereum transparently while the L2 chain continues to progress.
Transactions moving funds from Ethereum L1 to Base must be initiated on Ethereum and typically get included within 3 minutes by the Base sequencer.
No. The output proposal that was challenged is marked invalid, and any actions that used it’s output root become invalid. Specifically, withdrawals from Base to L1 that proved against this output root must now prove against a different and valid one.