Overview
This article describes primary transaction statuses on Fireblocks and how they appear in the Fireblocks Console and API.
Many primary transaction statuses have substatuses that provide additional status-related information.
Transaction statuses appear in the Transaction History and the Recent activity panel in the Fireblocks Console. Hover over the status in the Recent activity panel to see the substatus and additional details.
Submitted
The Submitted status indicates an outgoing transaction was submitted to the Fireblocks system and is being processed. It is the first stage for any outgoing transaction where AML/KYT screening is not enabled.
-
API status code:
SUBMITTED - Appears in the Fireblocks Console as: Submitted
The status can be followed by Queued and then continue being processed.
Submitted transactions can be blocked by the Fireblocks Policy Engine or otherwise fail, with a substatus that provides additional information.
Pending Screening
The Pending Screening status indicates a transaction's progress depends on the transaction screening result from your Anti-Money Laundering (AML) provider or Travel Rule provider. Only transactions from workspaces with the AML or Travel Rule feature enabled can have this status.
-
API status code:
PENDING_AML_SCREENING - Appears in the Fireblocks Console as: Pending Screening
This transaction status is not the same as the transaction's AML screening status or Travel Rule screening status. Under certain circumstances, a transaction's screening status can appear as Pending even when its transaction status shows as Completed on the Recent activity panel. When you receive the screening result, you can view it in the transaction's details on the Transaction History page.
Pending Security Screening
The Pending Security Screening status indicates a transaction's progress depends on the result of Fireblocks' internal security screening. This security enhancement looks for connections to known smart contract vulnerabilities in limited situations. If a transaction is successfully enriched, additional metadata is added to the transaction, and the transaction signer may see additional information on their Fireblocks mobile app. No additional notifications or actionable data are sent to the API Co-signer.
This internal security screening usually takes a few seconds to complete and is followed by Pending Authorization. If security enrichment is unsuccessful, the transaction continues processing and does not fail. This security screening does not affect the approval flow of your transactions.
-
API status code:
PENDING_ENRICHMENT - Appears in the Fireblocks Console as: Pending Security Screening
Three types of transactions can be enriched:
- Typed messages on any EVM blockchain: The typed message is parsed and displayed to the transaction signer.
- Contract calls on Ethereum: A simulation of the contract runs to determine which vault assets and balances are affected, along with their projected final values. Outgoing and incoming values, and expected transaction fees are displayed to the transaction signer.
- Any transaction initiated by a dApp: The dApp and the transaction destination are scanned for anomalies. If the dApp is identified as suspicious, or the destination address is flagged as sanctioned, a notification is shown to the transaction signer. The signer can still choose to sign the transaction and continue. For more details, see how dApp Protection screens transactions for security risks.
This transaction status is not the same as the Pending Screening status, which correlates to the screening from your AML or Travel Rule provider.
Pending Authorization
The Pending Authorization status indicates an outgoing transaction's progress depends on a Fireblocks Console user, an API user, or a group of users authorizing the transaction, as defined by Policies.
-
API status code:
PENDING_AUTHORIZATION - Appears in the Fireblocks Console as: Pending Authorization
This status is followed by Queued if the transaction is authorized, or Cancelled if the transaction is not authorized. If no action is taken within two hours, the transaction authorization expires and the transaction fails.
Queued
The Queued status indicates an outgoing transaction is queued for processing.
-
API status code:
QUEUED - Appears in the Fireblocks Console as: Queued
Fireblocks can only process a single transaction per blockchain standard per vault account. For example, if you create a transaction for an Ethereum blockchain asset and another transaction for a Polygon blockchain asset from the same vault account, Fireblocks processes them one at a time for signing because they are both EVM-compatible assets. However, if you create a Bitcoin transaction and a Solana transaction from the same vault account, both transactions are processed simultaneously.
Transactions stuck in the Queued status
When a transaction appears stuck in the Queued status, check for another transaction in the Pending Signature status. The transaction details show the user or users who need to approve, sign, or reject the transaction for it to progress and allow the next transaction to proceed.
To help streamline signing and avoid delays associated with manual signing, Fireblocks recommends installing and configuring an API Co-signer to process and sign transactions automatically according to your Policy rules.
Solana
On the Solana blockchain, each vault account can receive up to five transactions at a time. When the first transaction is processed and broadcast to the blockchain, the remaining four stay in Queued status until the current transaction completes. The next transaction in the queue is then processed, and so on.
Any transactions that arrive beyond those five enter Submitted status and can remain there for up to two hours while waiting for the system to process them. After two hours, the transactions are terminated.
Pending Signature
The Pending Signature status indicates an outgoing transaction is waiting to be signed by the designated signer as defined in your Policies. You can view the designated signer by hovering over the transaction's status in the Recent activity panel.
-
API status code:
PENDING_SIGNATURE - Appears in the Fireblocks Console as: Pending Signature
If no action is taken within two hours after authorization, the transaction signing expires and the transaction fails. Signing time depends on the transaction's complexity and may take up to a few seconds for complex transactions, such as raw signing messages.
To help streamline signing and avoid delays associated with manual signing, Fireblocks recommends installing and configuring an API Co-signer to process and sign transactions automatically according to your Policy rules.
Pending email approval
The Pending email approval status indicates the transaction is waiting for approval from a third-party service, such as an exchange. The approval is usually sent via email. There are no available actions in Fireblocks for a transaction with this status.
-
API status code:
PENDING_3RD_PARTY_MANUAL_APPROVAL - Appears in the Fireblocks Console as: Pending email approval
Processing at the exchange
The Processing at the exchange status indicates a transaction is waiting for approval by a third-party service, such as an exchange. There are no available actions in Fireblocks for a transaction with this status. This status has its own set of substatuses that describe the exchange's processing stage.
-
API status code:
PENDING_3RD_PARTY - Appears in the Fireblocks Console as: Processing at the exchange
Broadcasting
The Broadcasting status indicates an outgoing transaction is being broadcast to the blockchain network. This status applies to Fireblocks P2P Networks transactions as well.
-
API status code:
BROADCASTING - Appears in the Fireblocks Console as: Broadcasting
A transaction typically remains in this status for no longer than one minute, but this depends on the current load on the Fireblocks system. When a transaction remains in this status for longer than one minute, check the Fireblocks Status page to see if there are ongoing service disruptions. If you do not see any service disruptions, contact Fireblocks Support for assistance.
Broadcasting exposes substatuses that provide additional detail about the transaction's broadcast progress. You can retrieve these substatuses using the Get Transaction by ID API endpoint.
Notes
- Broadcasting substatuses are available through the API only. Webhook notifications do not include Broadcasting substatuses at this time.
- You cannot cancel a transaction in the Broadcasting status. For EVM-compatible assets, you can submit a Replace-By-Fee (RBF) transaction to replace the original transaction with updated gas parameters.
Confirming
The Confirming status indicates a transaction is waiting to be confirmed on the blockchain. Fireblocks monitors the state of the transaction on the blockchain and updates its status accordingly. This status applies to Fireblocks P2P Networks transactions as well and has its own set of substatuses that describe the confirmation progress.
-
API status code:
CONFIRMING - Appears in the Fireblocks Console as: Confirming
Completed
The Completed status indicates the transaction completed successfully, is now part of the blockchain, and all assets have been transferred.
-
API status code:
COMPLETED - Appears in the Fireblocks Console as: Completed
Completed is a final transaction status that marks the transaction as successful. After a transaction is marked as completed, all associated assets are no longer available in their source account. This status has its own set of substatuses that describe how the transaction completed.
If you use webhooks to receive transaction status updates, you may receive multiple notifications for the Completed status. For example, if your Deposit and Confirmation Policy is set to zero confirmations for a particular blockchain, you may receive a webhook notification for Completed when the transaction appears on the blockchain, and again on its first or subsequent confirmations.
Signed
The Signed status indicates a transaction has been signed but not broadcast to the blockchain network. This status currently applies to Solana Sign-Only transactions.
-
API status code:
SIGNED - Appears in the Fireblocks Console as: Signed
A transaction in the Signed status has completed the signing process and received all required signatures according to your Policies. Fireblocks does not broadcast the signed transaction to the blockchain. Instead, the signed payload is returned to the client that initiated the transaction through the Fireblocks Developer API or the Wallet Connect service.
Signed transactions remain trackable within Fireblocks. Their lifecycle continues to be monitored, and they can transition to Completed or Failed if they are later detected on-chain. Signed transactions are automatically tagged as NOT BROADCAST BY FIREBLOCKS.
A transaction typically remains in this status until the signed payload is retrieved and broadcast externally by the initiator. Signed transactions that are not broadcast or confirmed within a defined timeout window may be invalidated automatically.
Cancelling
The Cancelling status indicates a transaction was canceled or rejected by a Fireblocks user, such as the transaction's initiator, approver, or designated signer.
-
API status code:
CANCELLING - Appears in the Fireblocks Console as: Cancelling
A transaction typically remains in this status for no longer than 30 seconds, but this depends on the current load on the Fireblocks system. When a transaction remains in this status for longer than 30 seconds, check the Fireblocks Status page to see if there are ongoing service disruptions. If you do not see any service disruptions, contact Fireblocks Support for assistance.
Cancelled
The Cancelled status indicates a transaction was canceled or rejected by a Fireblocks user, such as the transaction's initiator, approver, or designated signer, or by the third-party service that was the source of the transaction.
-
API status code:
CANCELLED - Appears in the Fireblocks Console as: Cancelled
Cancelled is a final transaction status that marks the transaction as unsuccessful. After a transaction is marked as canceled, all associated assets are available for new transactions. This status has its own set of substatuses that describe why the transaction was canceled.
Blocked by policy
The Blocked by policy status indicates an outgoing transaction was blocked from completing due to a Policy rule.
-
API status code:
BLOCKED - Appears in the Fireblocks Console as: Blocked by policy
Blocked by policy is a final transaction status that marks the transaction as unsuccessful. After a transaction is marked as blocked, all associated assets are available for new transactions.
Resolving blocked transactions
Transactions that are blocked by policy include the corresponding Policy rule number as it appears in your workspace's settings. If you want to allow these transactions, create a new Policy rule in a position that allows the transaction to be enforced correctly according to the first-match principle. This status has its own set of substatuses that describe which rule blocked the transaction.
Rejected
The Rejected status indicates an incoming or outgoing transaction was rejected by the Fireblocks system, an Approver or a Signer, or by a third-party service.
-
API status code:
REJECTED - Appears in the Fireblocks Console as: Rejected by AML, Manually frozen
Transactions that are rejected or manually frozen are marked as unsuccessful. This status has its own set of substatuses that describe the rejection reason. Note that:
- After an outgoing transaction is marked as rejected, all associated assets are available for new transactions.
- After an incoming transaction is marked as rejected, all associated assets are not available until a user with an Admin role unfreezes them.
Failed
The Failed status indicates the transaction is no longer being processed and no assets have been transferred. Transactions can fail from any state. This status applies to Fireblocks P2P Networks transactions as well and has its own set of substatuses that describe the failure reason.
-
API status code:
FAILED - Appears in the Fireblocks Console as: Failed
Failed is a final transaction status that marks the transaction as unsuccessful. After a transaction is marked as failed, all associated assets are available for new transactions.