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

Parameter

Type

Description

id

string

The ID of the transaction.

externalTxId

string

Unique transaction ID provided by the user. Fireblocks highly recommends setting an externalTxId for every transaction created, to avoid submitting the same transaction twice.

status

TransactionStatus

The current primary status of the transaction. See Primary Transaction Statuses for a detailed list.

subStatus

TransactionSubStatus

See Transaction Substatuses for a detailed list of transaction substatuses.

txHash

string

The 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.

operation

TransactionOperation

The transaction operation type. The default is TRANSFER.
| Description | | --------- | ----------------------------------------

note

string

Custom note that describes this transaction in your Fireblocks workspace. The note isn’t sent to the blockchain.

assetId

string

The 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.

assetType

AssetType

one of the following - XLM_ASSET
XDB_ASSET
TRON_TRC20
SOL_ASSET
HBAR_ERC20
FIAT
ERC721
ERC20
ERC1155
BEP20
BASE_ASSET
ALGO_ASSET

source

TransferPeerPathResponse

The transaction’s source.

sourceAddress

string

For 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.

destination

TransferPeerPathResponse

The transaction’s destination.

Note: If a transaction is sent to multiple destinations, the destinations parameter is used instead of destination.

destinations

Array of DestinationsResponse

For UTXO-based assets, all outputs are specified here.

destinationAddress

string

Address 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.

destinationAddressDescription

string

Description of the address

destinationTag

string

(Optional) Destination address tag for Ripple; destination memo for EOS, Stellar, Hedera, & DigitalBits; destination note for Algorand; bank transfer description for fiat providers.

amountInfo

AmountInfo

For TRANSFER operations, all details of the transfer amount.

treatAsGrossAmount

boolean

When set to true, the fee is deducted from the requested amount for transactions initiated from this Fireblocks workspace.

feeInfo

FeeInfo

Details of the transaction's fee.

feeCurrency

string

The asset type used to pay the fee (ETH for ERC-20 tokens, BTC for Omni, XLM for Stellar tokens, etc.)

networkRecords

Array of NetworkRecord objects

A 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.

createdAt

number

The transaction’s creation date and time, in Unix timestamp.

lastUpdated

number

The transaction’s last update date and time, in Unix timestamp.

createdBy

string

User ID of the initiator of this transaction.

signedBy

Array of strings

User ID(s) of the signer(s) of this transaction.

rejectedBy

string

User ID of the user that rejected the transaction, only if the transaction was rejected.

authorizationInfo

AuthorizationInfo

Data object with information about your Transaction Authorization Policy (TAP). For more information about the TAP, refer to the Fireblocks Help Center.

exchangeTxId

string

If the transaction originated from an exchange, this is the exchange’s ID of this transaction.

customerRefId

string

The ID for AML providers to associate the owner of the funds with the transaction.

amlScreeningResult

AmlScreeningResult

The result of the AML screening.

replacedTxHash

string

The hash of the replaced transaction, only If this is an RBF transaction on an EVM blockchain. Learn more about RBF transactions.

extraParameters

JSON object

Additional 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.

signedMessages

Array of SignedMessage objects

A list of signed messages returned for raw signing.

numOfConfirmations

number

The number of blockchain confirmations of the transaction. The number will increase until the transaction is considered completed according to the confirmation policy.

blockInfo

BlockInfo

The 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.

index

number

Transa 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.

rewardsInfo

RewardsInfo

This 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.

systemMessages

Array of SystemMessageInfo objects

A 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.

addressType

string

(Optional) tionCreated

| Parameter | T

requestedAmount (Deprecated)

number

The amount requested by the user.

amount (Deprecated)

number

If the transfer is a withdrawal from an exchange, the actual transfer amount. Otherwise, the requested amount.

netAmount (Deprecated)

number

The net amount of the transfer, after fee deduction.

amountUSD (Deprecated)

number

The USD value of the requested amount.

serviceFee (Deprecated)

number

The total fee deducted by the exchange from the actual requested amount (serviceFee = amount - netAmount).

networkFee (Deprecated)

number

The fee paid to the blockchain network.


TransactionOperation

Parameter

Type

Description

operation

string

TransactionCreated

| Parameter | Type | Description
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