Overview
Some customers may generate outgoing transactions from their Fireblocks vault accounts or embedded wallets that Fireblocks does not broadcast. Fireblocks reports these transactions by monitoring blockchain nodes and all addresses managed within vault accounts.
These transactions are typically:
Raw transactions signed by Fireblocks
Transactions that use a previously exported private key (i.e., not signed by Fireblocks)
Important notes
If the transaction destination is whitelisted in your workspace, it will be labeled in the transaction's details. If not, the destination is identified as a one-time address.
Once a transaction hash is generated on the blockchain, Fireblocks will track the transaction and generate webhooks. Transactions not broadcast by Fireblocks can have Confirming, Completed, or Failed statuses.
Transactions on UTXO blockchains may not display all data, but will always include the transaction hash and the source address.
If your workspace does not have Raw Signing enabled and you are not otherwise expecting the transaction, you should determine the transaction's source. Occasionally, a contract call may produce this condition.
Monitoring non-broadcast transactions in the Console
In the Fireblocks Console, these transactions are labeled in the Recent activity panel:
Monitoring non-broadcast transactions programmatically
You can programmatically identify transactions not broadcast by Fireblocks by checking the notBroadcastByFireblocks field in the transaction response:
notBroadcastByFireblocks=true: The transaction was not signed by Fireblocks.notBroadcastByFireblocks=falseornull: The transaction was signed and broadcast by Fireblocks.
This field is available in webhook notifications and any Fireblocks API endpoint that returns the TransactionResponse object.
Webhook example (TRANSACTION_STATUS_UPDATED):
{
"type": "TRANSACTION_STATUS_UPDATED",
"data": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"assetId": "SOL",
"status": "COMPLETED",
"notBroadcastByFireblocks": true
}
}