Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt

Use this file to discover all available pages before exploring further.

This page covers all transaction events that can trigger webhook notifications, and their associated data objects for the Webhooks v2 service.

Transaction event types

To receive a specific event, include its eventType in the webhook’s notification object.
Event typeData object returned
transaction.createdTransactionDetails
transaction.status.updatedTransactionDetails
transaction.approval_status.updatedTransactionDetails
transaction.network_records.processing_completedTransactionDetails

Data objects

TransactionDetails

ParameterTypeDescription
idstringThe ID of the transaction.
indexinteger[Optional] Fireblocks’ internal identifier for a specific transfer within a transaction. For UTXO-based assets, this field corresponds to the UTXO’s vOut index. For other blockchains, like EVM, Tron, Solana, etc., this field is derived from the sequential position of the event within the transaction’s transfer list. The field is not returned when the transaction includes multiple destinations.
logIndexintegerApplicable to EVM blockchains only. Represents the EVM log index that indicates the order of the log within the block. This information can be verified directly on the blockchain.
blockchainIndexstringBlockchain-native transfer identifier showing the transfer’s exact position within the block data (e.g., log entry, trace path, or nested array index). - EVM token transfers: Uses logIndex. - EVM internal transfers: Uses traceAddress (e.g., [0,1,2] → “0_1_2”). - Solana: Refers to the nested instruction position in the instruction array.
externalTxIdstringUnique transaction ID provided by the user. Fireblocks recommends setting an externalTxId for every transaction created to avoid submitting the same transaction twice.
statusstringThe current primary status of the transaction. See Primary Transaction Statuses for a detailed list.
subStatusstring[Optional] See Transaction Substatuses for a detailed list of transaction substatuses.
txHashstringThe hash of this transaction on the blockchain. txHash is only returned for crypto assets (not fiat) when the operation type is not RAW or TYPED_MESSAGE. This parameter exists if at least one of the following conditions is met: 1. The transaction’s source type is UNKNOWN, WHITELISTED_ADDRESS, ONE_TIME_ADDRESS, FIAT or GAS_STATION. 2. The transaction’s source type is VAULT and the status is CONFIRMING, COMPLETED, or was either status before changing to FAILED or REJECTED. Some transactions with the status BROADCASTING will also include the txHash. 3. The transaction’s source type is EXCHANGE and the transaction’s destination type is VAULT, and the status is: CONFIRMING, COMPLETED, or was either status before changing to FAILED.
operationTransactionOperationThe transaction operation type. The default is TRANSFER.
notestringCustom note that describes this transaction in your Fireblocks workspace. This note is not sent to the blockchain.
assetIdstringThe ID of the transaction’s asset, for TRANSFER, MINT, BURN, or ENABLE_ASSET operations. See the list of supported assets and their IDs on Fireblocks.
assetTypeAssetTypeOne of the following: XLM_ASSET, XDB_ASSET, TRON_TRC20, SOL_ASSET, HBAR_ERC20, FIAT, ERC721, ERC20, ERC1155, BEP20, BASE_ASSET, ALGO_ASSET
sourceTransferPeerPathResponseThe transaction’s source.
sourceAddressstringIf the status is CONFIRMING, COMPLETED, or was CONFIRMING before either FAILED or REJECTED, this parameter will contain only one source address, even if the transaction is a multi-input UTXO. This parameter is empty in any other case.
destinationTransferPeerPathResponseThe transaction’s destination. If a transaction is sent to multiple destinations, the destinations parameter is used instead.
destinationsArray of DestinationsResponseFor UTXO-based assets. All outputs are specified here.
destinationAddressstringAddress where the asset was transferred. For Multi-destination transactions, this parameter will be empty, and you should refer to the destinations field instead. destinationAddress is populated when Fireblocks can determine a single destination address for the transaction (for example, from the transaction request). It is typically available starting from transaction.created for single-destination transfers. For multi-destination transactions (where destinations is used), destinationAddress is empty. In some failure scenarios or before address resolution, this field may also be empty.
destinationAddressDescriptionstringDescription of the address.
destinationTagstring[Optional] Destination address tag for Ripple; destination memo for Cosmos, EOS, Luna, Luna Classic, NEM, Stellar, Hedera, & DigitalBits; destination note for Algorand; bank transfer description for fiat providers.
amountInfoAmountInfoFor TRANSFER operations. All details of the transfer amount.
treatAsGrossAmountbooleanWhen set to true, the fee is deducted from the requested amount for transactions initiated from this Fireblocks workspace.
feeInfoFeeInfo objectDetails of the transaction’s fee.
feeCurrencystringThe asset type used to pay the fee (ETH for ERC-20 tokens, BTC for Omni, XLM for Stellar tokens, etc.)
networkRecordsArray of NetworkRecord objectsA transaction in Fireblocks can aggregate several blockchain transactions, typically as part of a contract call. Network records specify all intermediate transactions that took place on the blockchain. For single transactions, this parameter is empty.
createdAtnumberThe transaction’s creation date and time. Shown as a Unix timestamp.
lastUpdatednumberThe transaction’s last update date and time. Shown as a Unix timestamp.
createdBystringUser ID of the transaction’s initiator.
signedByArray of stringsUser ID(s) of the transaction’s signer(s).
rejectedBystringUser ID of the user who rejected the transaction. Only populated when a transaction is rejected.
authorizationInfoAuthorizationInfoData object with information about your Policies. For more about Policies, refer to the Fireblocks Help Center.
exchangeTxIdstringIf the transaction originated from an exchange, this is the exchange’s ID for this transaction.
customerRefIdstringThe ID for AML providers to associate the owner of the funds with the transaction.
amlScreeningResultAmlScreeningResult objectThe result of the AML screening.
replacedTxHashstringThe hash of the replaced transaction. Only populated if this is an RBF transaction on an EVM blockchain. Learn more about RBF transactions.
extraParametersTransactionExtraParameters objectParameters that are specific to some transaction operation types and blockchain networks.
signedMessagesArray of SignedMessage objectsA list of signed messages returned for raw signing.
numOfConfirmationsnumberThe number of blockchain confirmations of the transaction. The number will increase until your workspace’s confirmation policy threshold is satisfied.
blockInfoBlockInfo objectThe hash and height of the block in which the transaction was mined. If an outgoing transaction uses the destinations object with more than one value in the array, blockHash is set to null.
indexnumber[Optional] This field is not returned if a transaction uses the destinations object with more than one value. - For UTXO-based assets, this is the vOut. - For EVM-based, this is the index of the event of the contract call.
paidRentstringThe amount of rent paid in SOL to the destination token account.
BlockchainInfoBlockchainInfo objectblockchainInfo is a JSON used to store additional data that is blockchain-specific. For example, in HBAR, it will have the txHash in addition to the txID.
rewardsInfoRewardsInfo objectThis field is relevant only for ALGO transactions. Both srcRewrds and destRewards appear only for vault-to-vault transactions. Otherwise, only your workspace side of the transaction is recorded.
systemMessagesArray of SystemMessageInfo objectsA response from Fireblocks with details about the health of the current processes. If this object is returned with data, expect potential delays or incomplete transaction statuses.
addressTypestring[Optional] Covers all transaction events.
requestedAmount (Deprecated)numberThe amount requested by the user.
amount (Deprecated)numberIf the transfer is a withdrawal from an exchange, the actual transfer amount; otherwise, the requested amount.
netAmount (Deprecated)numberThe net amount of the transfer, after fee deduction.
amountUSD (Deprecated)numberThe USD value of the requested amount.
serviceFee (Deprecated)numberThe total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount).
networkFee (Deprecated)numberThe fee paid to the blockchain network.

TransactionOperation

ParameterTypeDescription
operationstringThis page covers all transaction events that can trigger webhook notifications, and their associated data objects for Not all operations are available in all workspaces. Contact your account manager to enable additional features. TRANSFER - Default. Transfers funds from one account to another. UTXO blockchains allow multi-input and multi-output transfers. All other blockchains allow transfers with one source address and one destination address. MINT - Mints new tokens. Supported for Stellar, Ripple, and EVM-based blockchains. Learn more about tokenization on Fireblocks. BURN - Burns tokens. Supported for Stellar, Ripple, and EVM-based blockchains. Learn more about tokenization on Fireblocks. CONTRACT_CALL - Calls a smart contract method for web3 operations on any EVM blockchain. The Fireblocks development libraries are recommended for building contract call transactions. TYPED_MESSAGE - An off-chain message in either Ethereum Personal Message or EIP712 format. Use it to sign specific readable messages that are not actual transactions. Learn more about typed messages. RAW - An off-chain message with no predefined format. Use it to sign any message with your private key, including protocols such as blockchains and custom transaction types that are not natively supported by Fireblocks. Learn more about raw signing transactions. ENABLE_ASSET - Algorand, DigitalBits, Solana, and Stellar require an on-chain transaction to create an asset wallet and enable the deposit address. This transaction is automatically created when adding assets on these blockchains to a vault account. STAKE - Assign assets to a staking pool managed by a staking validator. Learn more about staking transactions and supported blockchains. This transaction is automatically created when performing staking operations. UNSTAKE - Remove assets from a staking pool managed by a staking validator. Learn more about staking transactions and supported blockchains. This transaction is automatically created when performing staking operations. APPROVE - Approve transactions call an approve function that allows another address to spend tokens on behalf of the signer. Learn more about Approve Transactions here. WITHDRAW - Transfer assets from a dedicated staking vault account to another address. Learn more about staking transactions and supported blockchains. This transaction is automatically created when performing staking operations. - Note:* Fireblocks may rename this type from WITHDRAW to a different name soon. There will be at minimum a 7-day notice regarding the new type name.

AmountInfo

ParameterTypeDescription
amountstringIf the transfer is a withdrawal from an exchange, the actual amount requested to be transferred; otherwise, it is the requested amount. This value will always be equal to the amount (number) parameter of TransactionDetails.
requestedAmountstringThe amount requested by the user
netAmountstringThe net amount of the transaction, after fee deduction
amountUSDstringThe USD value of the requested amount
Note transaction_status_updated webhooks contain only up to 17 digits past the decimal place when reporting balances.

FeeInfo

ParameterTypeDescription
networkFeestringThe fee paid to the network
serviceFeestringThe total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount)
gasPricestringThe amount of gas required by/paid to the network to process the transaction.
L1networkFeestringLayer 1 network fee for Layer 2 blockchain transactions.
L2networkFeestringLayer 2 network fee (gas price component for Layer 2 transactions).
paidByRelaybooleanIndicates whether the relay paid the fee.
relayTypestringIndicates whether the relay is the same tenant (LOCAL) or another tenant (THIRD_PARTY).
relayIdstringThe Vault account ID of the relay.
relayNamestringThe name of the tenant hosting the third-party relay.
feeUSDstringThe USD equivalent value of the fee.

TransferPeerPathResponse

ParameterTypeOptionalDescription
typestringNoVAULT_ACCOUNT, EXCHANGE_ACCOUNT, INTERNAL_WALLET, EXTERNAL_WALLET, UNMANAGED_WALLET, ONE_TIME_ADDRESS, NETWORK_CONNECTION, FIAT_ACCOUNT, GAS_STATION, UNKNOWN, CONTRACT, MULTI_DESTINATION
idstringYesThe ID of the account to return. Can return as null if the related transaction fails due to a connectivity error.
namestringYesThe name of the account.
addressstringYesThe address where the asset was transferred
subTypestringYesThe specific account or wallet.
Sources and destinations Learn more about transaction sources and destinations.

DestinationsResponse

ParameterTypeOptionalDescription
amountstringNoThe amount to be sent to this destination
destinationTransferPeerPathResponseNoDestination of the transaction
amountUSDnumberYesThe USD value of the requested amount
destinationAddressDescriptionstringYesDescription of the address
amlScreeningResultAmlScreeningResultYesThe result of the AML screening
customerRefIdstringYesThe ID for AML providers to associate the owner of funds with transactions

TransactionExtraParameters

ParameterTypeDescription
inputsSelectionInputsSelection objectFor UTXO-based blockchain multi-input selection, use the inputsSelection field with values set to the input selection structure. The inputs can be retrieved using the Retrieve Unspent Inputs endpoint.
rawMessageDataRawMessageData objectFor RAW operations, use the rawMessageData field with the values set to the raw message data structure. Only included with raw signing transactions on Bitcoin and Ethereum. This is an opt-in feature. Please contact Fireblocks Support to include this feature in your workspace.
contractCallDatastringFor CONTRACT_CALL operations, use the contractCallData field with the value set to the Ethereum smart contract Application Binary Interface (ABI) payload. The Fireblocks development libraries are recommended for building contract call transactions

SystemMessageInfo

ParameterTypeDescription
typestring(WARN, BLOCK)
messagestringA response from Fireblocks that communicates a message about the health of the process being performed. If this object is returned with data, you should expect potential delays or incomplete transaction statuses.