Skip to main content

Transaction Status API

Transactions that you submit to Flashbots Protect won't be observable in the public mempool. However, you can use our status API to check the status of your transactions. The URL for doing so is: https://protect.flashbots.net/tx/YOUR_TX_HASH_HERE, and you can also use Etherscan as you normally would for transactions. They will show the status of your transaction from the status API as well.

In turn you will receive a JSON response that looks like the following:

{
"status": "PENDING",
"hash": "YOUR_TX_HASH",
"maxBlockNumber": 13543898,
"transaction": {
"from": "",
"to": "",
"gasLimit": "",
"maxFeePerGas": "",
"maxPriorityFeePerGas": "",
"nonce": "",
"value": ""
},
"fastMode": true, // for backwards compatibility; may be removed in a future version
"seenInMempool": false
}

Below is a table of status codes that can be returned:

Status CodeDescription
PENDINGThe transaction was received and is currently being processed by the block builder
INCLUDEDThe transaction was included on-chain
FAILEDThe transaction was submitted for 25 blocks and failed to be included on-chain
CANCELLEDThe transaction was cancelled by the user and not included on-chain
UNKNOWNThe transaction was not received

Privacy

The transaction fields are disclosed only for transactions with an INCLUDED status to maintain privacy for trades that are pending, failed, or cancelled. These fields will remain empty for transactions with PENDING, FAILED, UNKNOWN, or CANCELLED statuses.

For instance, once a transaction is included, the JSON response will be populated with data for all fields:

{
"status": "INCLUDED",
"hash": "YOUR_TX_HASH",
"maxBlockNumber": 13543898,
"transaction": {
"from": "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
"to": "0xac03bb73b6a9e108530aff4df5077c2b3d481e5a",
"gasLimit": "21000",
"maxFeePerGas": "300",
"maxPriorityFeePerGas": "10",
"nonce": "41",
"value": "10000000000"
},
"fastMode": true, // for backwards compatibility; may be removed in a future version
"seenInMempool": false
}