Event Objects

TransactionCreated

ParameterTypeDescription
typestringTRANSACTION_CREATED
tenantIdstringUnique id of your Fireblocks' workspace
timestampnumberTimestamp in milliseconds
dataTransactionDetailsAll the transaction information

TransactionStatusUpdated

ParameterTypeDescription
typestringTRANSACTION_STATUS_UPDATED
tenantIdstringUnique id of your Fireblocks' workspace
timestampnumberTimestamp in milliseconds
dataTransactionDetailsAll the transaction information

TransactionApprovalStatusUpdated

ParameterTypeDescription
typestringTRANSACTION_APPROVAL_STATUS_UPDATED
tenantIdstringUnique id of your Fireblocks' workspace
timestampnumberTimestamp in milliseconds
dataTransactionDetailsAll the transaction information

VaultAccountAdded

ParameterTypeDescription
typestringVAULT_ACCOUNT_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataVaultAccountVault Account details

VaultAccountAssetAdded

ParameterTypeDescription
typestringVAULT_ACCOUNT_ASSET_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataAssetAddedDataVault-Account-Asset details

AssetAddedData

ParameterTypeDescription
accountIdstringThe ID of the vault account under which the wallet was added
tenantIdstringUnique ID of your Fireblocks workspace
accountNamestringThe name of the vault account under which the wallet was added
assetIdstringWallet's asset

InternalWalletAssetAdded

ParameterTypeDescription
typestringINTERNAL_WALLET_ASSET_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataWalletAssetWebhookInternal wallet details

InternalWalletAssetRemoved

ParameterTypeDescription
typestringINTERNAL_WALLET_ASSET_REMOVED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataWalletAssetWebhookInternal wallet details

ExternalWalletAssetAdded

ParameterTypeDescription
typestringEXTERNAL_WALLET_ASSET_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataWalletAssetWebhookExternal wallet details

ExternalWalletAssetRemoved

ParameterTypeDescription
typestringEXTERNAL_WALLET_ASSET_REMOVED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataWalletAssetWebhookExternal wallet details

ContractWalletAssetAdded

ParameterTypeDescription
typestringCONTRACT_WALLET_ASSET_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataWalletAssetWebhookContract wallet details

ContractWalletAssetRemoved

ParameterTypeDescription
typestringCONTRACT_WALLET_ASSET_REMOVED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataWalletAssetWebhookContract wallet details

ExchangeAccountAdded

ParameterTypeDescription
typestringEXCHANGE_ACCOUNT_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataThirdPartyWebhookExchange accounts details

FiatAccountAdded

ParameterTypeDescription
typestringFIAT_ACCOUNT_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataThirdPartyWebhookFiat account details

NetworkConnectionAdded

ParameterTypeDescription
typestringNETWORK_CONNECTION_ADDED
tenantIdstringUnique ID of your Fireblocks workspace
timestampnumberTimestamp in milliseconds
dataNetworkConnectionNetwork connection details

TransactionDetails

ParameterTypeDescription
idstringThe ID of the transaction.
externalTxIdstringUnique transaction ID provided by the user. Fireblocks highly recommends setting an externalTxId for every transaction created, to avoid submitting the same transaction twice.
statusTransactionStatusThe current primary status of the transaction. See Primary Transaction Statuses for a detailed list.
subStatusTransactionSubStatusSee 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 prior to changing to FAILED or REJECTED. In some instances, transactions with the status BROADCASTING will include the txHash as well.

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 prior to changing to FAILED.
operationTransactionOperationThe transaction operation type. The default is TRANSFER.
[TRANSFER, MINT, BURN, CONTRACT_CALL, TYPED_MESSAGE, RAW, ENABLE_ASSET, STAKE, UNSTAKE, WITHDRAW]
notestringCustom note that describes this transaction in your Fireblocks workspace. The note isn’t 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.
sourceAddressstringFor account based assets only, the source address of the transaction.

Note: If the status is CONFIRMING, COMPLETED, or was CONFIRMING before either FAILED or REJECTED, then this parameter will contain the source address. This parameter is empty in any other case.
destinationTransferPeerPathResponseThe transaction’s destination.

Note: If a transaction is sent to multiple destinations, the destinations parameter is used instead of destination.
destinationsArray of DestinationsResponseFor UTXO-based assets, all outputs are specified here.
destinationAddressstringAddress where the asset was transferred.

Notes:

For Multi-destination transactions, this parameter will be empty and you should refer to the destinations field instead.

If the status is CONFIRMING, COMPLETED, or was CONFIRMING before either FAILED or REJECTED, then this parameter will contain the destination address. This parameter is empty in any other case.
destinationAddressDescriptionstringDescription of the address
destinationTagstring(Optional) Destination address tag for Ripple; destination memo for EOS, 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.
feeInfoFeeInfoDetails 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, in Unix timestamp.
lastUpdatednumberThe transaction’s last update date and time, in Unix timestamp.
createdBystringUser ID of the initiator of this transaction.
signedByArray of stringsUser ID(s) of the signer(s) of this transaction.
rejectedBystringUser ID of the user that rejected the transaction, only if the transaction was rejected.
authorizationInfoAuthorizationInfoData object with information about your Transaction Authorization Policy (TAP). For more information about the TAP, refer to the Fireblocks Help Center.
exchangeTxIdstringIf the transaction originated from an exchange, this is the exchange’s ID of this transaction.
customerRefIdstringThe ID for AML providers to associate the owner of the funds with the transaction.
amlScreeningResultAmlScreeningResultThe result of the AML screening.
replacedTxHashstringThe hash of the replaced transaction, only If this is an RBF transaction on an EVM blockchain. Learn more about RBF transactions.
extraParametersJSON objectAdditional protocol / operation specific key-value parameters.

For UTXO-based blockchain 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.

For RAW operations, use the rawMessageData field with the values set to the raw message data structure.

For 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.
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 the transaction is considered completed according to the confirmation policy.
blockInfoBlockInfoThe hash and height of the block that the transaction was mined in.

Note: If an outgoing transaction uses the destinations object with more than one value in the array, blockHash is set to null.
indexnumber[optional] For UTXO-based assets this is the vOut, for EVM based, this is the index of the event of the contract call.

Note: This field is not returned if a transaction uses the destinations object with more than one value.
rewardsInfoRewardsInfoThis 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 process(es). If this object is returned with data, expect potential delays or incomplete transaction statuses.
addressTypestring(Optional) [ ONE_TIME, WHITELISTED]
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
operationstring[TRANSFER, MINT, BURN, CONTRACT_CALL, TYPED_MESSAGE, RAW, ENABLE_ASSET, STAKE, UNSTAKE, WITHDRAW]
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.

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 that was 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

BlockInfo

ParameterTypeDescription
blockHeightstringThe height (number) of the block the transaction was mined in
blockHashstringThe hash of the block the transaction was mined in

RewardsInfo

ParameterTypeDescription
srcRewardsstringThe ALGO rewards acknowledged by the source account of the transaction
destRewardsstringThe ALGO rewards acknowledged by the destination account of the transaction

FeeInfo

ParameterTypeDescription
networkFeestringThe fee paid to the network
serviceFeestringThe total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount)

Data Objects

WalletAssetWebhook

ParameterTypeDescription
assetIdstringThe wallet's asset
walletIdstringThe ID of the wallet
namestringThe name of the wallet
addressstringThe address of the wallet
tagstringDestination address tag for Ripple; destination memo for EOS, Stellar, Hedera, & DigitalBits; destination note for Algorand; bank transfer description for fiat providers.
activationTimestringThe time the wallet will be activated if wallet activation is postponed according to your workspace definition

ThirdPartyWebhook

ParameterTypeDescription
idstringThe ID of the third-party account on the Fireblocks platform
subTypestringThe subtype of the third party, ie. exchange or fiat name
namestringAccount name