Transaction Finality
The status of transactions on Blast varies based on where they are in the process of being included in the blockchain.
Pending
Instant after being sent to Sequencer
Right after being sent to the Sequencer, a transaction is categorized as “pending” until it gets included in a block. This initial status indicates that the transaction hasn’t become part of the blockchain yet, and there’s no assurance of its inclusion.
To obtain a list of all pending transactions, you can use the standard JSON-RPC method eth_getBlockByNumber
with the block number parameter set to pending
.
Sequencer Confirmed / Unsafe
Typically within 2-4 seconds
A transaction is labeled as “sequencer confirmed” or “unsafe” once it’s been included in a block by the Sequencer, but that block hasn’t been published to Ethereum yet. Despite being in a block, there’s still a chance for the transaction to be excluded from the final blockchain if the Sequencer doesn’t publish the block promptly. Applications should be mindful of this possibility when presenting information about transactions in this state.
To obtain the latest “sequencer confirmed” block, use the standard JSON-RPC method eth_getBlockByNumber
with the block number parameter set to safe
. Compare this with the result returned for the latest
block. If the safe
block lags behind the latest
block, the earliest “sequencer confirmed” block is the safe
block plus one.
Published to Ethereum / Safe
Typically within 5-10 minutes, up to 24 hours
A transaction is deemed “safe” when it has been included in a block by the Sequencer, and that block has been published to Ethereum, but that block is not yet finalized. Once a block is published to Ethereum, there is a high likelihood of it being included in the final blockchain. However, there is still a possibility of a re-org.
To get the latest “safe” block, use the standard JSON-RPC method eth_getBlockByNumber
with the block number parameter set to safe
.
Transactions usually become “safe” status within a few minutes of being “sequencer confirmed.”
Finalized
Typically within 15-20 minutes, up to 24 hours
A transaction is “finalized” when it has been included in a block by the Sequencer, that block has been published to Ethereum, and that block has been finalized.
The latest “finalized” block can be retrieved by calling the standard JSON-RPC method eth_getBlockByNumber
with the parameter finalized
as the block number.