NFT Webhooks

Overview

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