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 include additional status-related information. Learn more about transaction substatuses.
Transaction statuses are displayed in the Transaction History and the Recent activity panel in the Fireblocks Console. You can 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 currently being processed. It is the first stage for any outgoing transaction where AML/KYC 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 includes 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, some 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 will not affect the approval flow of your transactions.
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 see which vault assets and balances will be affected, and 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 anomolies. 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.
Learn more about the dApp Protection feature and its security screening.
- API status code: PENDING_ENRICHMENT
- Appears in the Fireblocks Console as: Pending Security Screening
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 the Transaction Authorization Policy.
- API status code: PENDING_AUTHORIZATION
- Appears in the Fireblocks Console as: Pending Authorization
This status should be followed by Queued if the transaction is authorized or Cancelled if the transaction is not authorized. If no action is taken for two hours, the transaction will Fail. Learn more about transaction authorization expiration.
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, you should 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 progress.
To help streamline signing and avoid delays associated with manual signing, we recommend installing and configuring an API Co-Signer to process and sign transactions automatically according to your Transaction Authorization Policy rules.
Solana
In the Solana blockchain, each vault can receive up to five transactions at a given time. Once the first transaction is processed and broadcasted to the blockchain, the remaining four remain in “queued” mode until the current transaction is complete, and then the next in line gets processed, and so on. Any transactions arriving at our system beyond those five – go into “submitted” mode, and can remain there, waiting for our system to process them, for up to two hours. After that time they are terminated.
Pending Signature
The Pending Signature status indicates an outgoing transaction is waiting to be signed by the transaction’s designated signer as defined in your Transaction Authorization Policy. You can view who the designated signer is 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 for two hours after authorization, the transaction will Fail. Learn more about transaction signing expiration.
To help streamline signing and avoid delays associated with manual signing, we recommend installing and configuring an API Co-Signer to process and sign transactions automatically according to your Transaction Authorization Policy rules.
Note
Signing time depends on the transaction’s complexity and may take up to a few seconds for particularly complex transactions, such as raw signing messages.
Pending email approval
The Pending email approval status indicates the transaction is waiting for the required approval from a third-party service, such as an exchange. The manual 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.
- API status code: PENDING_3RD_PARTY
- Appears in the Fireblocks Console as: Processing at the exchange
Learn more about Processing at the exchange substatuses.
Broadcasting
The Broadcasting status indicates an outgoing transaction is being broadcast to the blockchain network.
- API status code: BROADCASTING
- Appears in the Fireblocks Console as: Broadcasting
Typically, a transaction should remain in this status for no longer than one minute, but it 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 don’t see any service disruptions, contact Fireblocks Support for assistance. If five hours have elapsed, and the transaction remains in Broadcasting mode, it expires.
Note:
The Broadcasting transaction status applies to Fireblocks Networks transactions as well.
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.
- API status code: CONFIRMING
- Appears in the Fireblocks Console as: Confirming
Learn more about Confirming substatuses.
Note:
The Confirming transaction status applies to Fireblocks Networks transactions as well.
Completed
The Completed status indicates the transaction was 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 and marks the transaction as successful. After a transaction is marked as completed, all associated assets are no longer available in their source account.
Note
In case you are using webhooks to get notified on transaction status updates, in some cases you may receive multiple status updates to the status Completed. For example, in case your Deposit and Confirmation Policy is set for zero confirmations for a particular blockchain, you may receive a webhook notification for status Completed when the transaction appears on the blockchain as well as on its first or further confirmations.
Learn more about Completed substatuses.
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
Typically, a transaction should remain in this status for no longer than 30 seconds, but it 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 don’t 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 and marks the transaction as unsuccessful. After a transaction is marked as canceled, all associated assets are available for new transactions.
Learn more about Cancelled substatuses.
Blocked by policy
The Blocked by policy status indicates an outgoing transaction was blocked from being completed due to a Transaction Authorization Policy rule.
- API status code: BLOCKED
- Appears in the Fireblocks Console as: Blocked by policy
Blocked by policy is a final transaction status and 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 Transaction Authorization 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 correctly enforced according to the first-match principle.
Learn more about Blocked by policy substatuses.
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 mark the transaction as unsuccessful. 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 will not be available until a user with an Admin role unfreezes them.
Learn more about Rejected substatuses.
Failed
The Failed status indicates the transaction is no longer being processed and no assets have been transferred. Transactions can fail from any state.
- API status code: FAILED
- Appears in the Fireblocks Console as: Failed
Failed is a final transaction status and marks the transaction as unsuccessful. After a transaction is marked as failed, all associated assets are available for new transactions.
Learn more about Failed substatuses.
Note:
The Failed transaction status applies to Fireblocks Networks transactions as well.