NFT Webhooks

🚧

Deprecation notice

Webhooks v1 will be deprecated in March 2026. Please use the Developer Center in the Fireblocks Console to upgrade to Webhooks V2, which offers improved reliability, performance, and observability.

This page describes all events related to reporting balance changes for incoming and outgoing non-fungible token (NFT) transfers that produce webhook notifications and their associated data objects.

Webhook payload

type: string, // NFT_BALANCE_CHANGED
tenantId: string,
timestamp: number,
data: {
  id: string, // unique web-hook id
  transaction?: TransactionObject, // when WH is from refresh call, this will be empty
  token: TokenObject,
  balance: BalanceObject, // current balance
}

Data Objects

TransactionObject

NameTypeDescription
idstringThe Fireblocks transaction ID.
hashstringThe hash of the transaction for the on-chain NFT transfer.
blockNumbernumberThe transaction's block number.

TokenObject

NameTypeDescription
assetIdstringThe identifier of the NFT asset.
blockchainDescriptorstringThe descriptor for the specific blockchain network.
tokenIdstringThe ID of the transferred token.
contractAddressstring [Optional]The address of the NFT contract.
standardstring [Optional]The NFT standard for the token.

BalanceObject

NameTypeDescription
ownerOwnerObjectThe owner of the NFT with the changed balance.
outgoingboolean [Optional]Indicates whether the transfer is outgoing from the vault.
amountstring [Optional]The amount of the NFT transferred in the balance change.
totalstringThe token balance. Represented as a decimal string.
blockNumbernumberThe block number of the NFT when its token balance was last queried.

OwnerObject

NameTypeDescription
typePeerTypeThe source of the transfer (e.g., VAULT_ACCOUNT, INTERNAL_WALLET).
accountIdstringThe vault account ID.
walletIdstring [Optional]The Non-Custodial Wallet (NCW) ID.
addressstringThe owner's wallet address (i.e., the vault account ID or the NCW ID).