Get Token Balance Changes by Asset Type
POST
Retrieves token balance change history by asset type.
Path Parameters
chainstringrequired
Parameter specifying the target chain to query.networkstringrequired
Parameter specifying the network of the target chain.Request Body
assetTypestring
Specifies the type of asset to query. The asset type must be a 64-character hexadecimal value (including "0x") in one of the following formats:- Coin: A Struct-format asset ID such as "0x1::aptos_coin::AptosCoin"
- Fungible Asset: The Object address that owns the Token Metadata
linkedAssetTypestring
A common identifier used to query Coin and FA (Fungible Asset) as a single asset unit.The linkedAssetType must be the Object address of a migrated FA, entered in 64-character hexadecimal format (including "0x").⚠️ Either assetType or linkedAssetType is required, and both parameters cannot be used at the same time.fromBlockstring
Parameter specifying the starting block for the query. You can enter one of the following formats:- block number: Enter block number as a decimal string.
- block hash: 64-character hexadecimal (including "0x").
- block tag: Use "earliest" or "latest" to specify the first block or the most recent block.
- This field cannot be used together with
fromDateandtoDate. - If provided without fromBlock, results are queried from genesis block to this block.
- toBlock value cannot be less than fromBlock value.
- If fromBlock and toBlock have the same value, only that block is queried.
- "earliest" for toBlock is only allowed when fromBlock is "earliest".
- If
fromBlockandtoBlockare not provided, the API queries data from the latest 30 days.
toBlockstring
Parameter specifying the ending block for the query. You can enter one of the following formats:- block number: Enter block number as a decimal string.
- block hash: 64-character hexadecimal (including "0x").
- block tag: Use "earliest" or "latest" to specify the first block or the most recent block.
- This field cannot be used together with
fromDateandtoDate. - If provided without fromBlock, results are queried from genesis block to this block.
- toBlock value cannot be less than fromBlock value.
- If fromBlock and toBlock have the same value, only that block is queried.
- "earliest" for toBlock is only allowed when fromBlock is "earliest".
- If
fromBlockandtoBlockare not provided, the API queries data from the latest 30 days.
fromDatestring
Parameter specifying the start date for the query. Date must follow ISO 8601 format (YYYY-MM-DDThh:mm:ss{time zone}) including seconds.Notes:- If provided without toDate, results are queried from this date to the latest block.
- fromDate value must be equal to or earlier than toDate value.
- If fromDate and toDate have the same value, only blocks from that date are queried.
- This field cannot be used together with fromBlock and toBlock.
- If
fromDateandtoDateare not provided, the API queries data from the latest 30 days.
toDatestring
Parameter specifying the end date for the query. Date must follow ISO 8601 format (YYYY-MM-DDThh:mm:ss{time zone}) including seconds.Notes:- If provided without fromDate, results are queried from genesis block to this date.
- toDate value must be equal to or later than fromDate value.
- If fromDate and toDate have the same value, only blocks from that date are queried.
- This field cannot be used together with fromBlock and toBlock.
- If
fromDateandtoDateare not provided, the API queries data from the latest 30 days.
pageinteger
The page parameter specifies the data page to query. It accepts values up to 100; for pages exceeding 100, use the cursor pagination method.The page and cursor parameters cannot be used together. If both page and cursor are empty, cursor pagination is used.rppinteger
rpp stands for results per page and specifies the page size. You can specify a number greater than 0 and up to 100.cursorstring
The cursor parameter supports pagination and data navigation between pages. Provide the cursor value from the previous page in the next request to load the next page of data.The page and cursor parameters cannot be used together. If both page and cursor are empty, cursor pagination is used.withCountboolean
Parameter specifying whether to include the count field in the response. The count field indicates the total number of requested data items. When set to true, the count field is included and response speed may be slower.Responses
pageinteger
Field representing the page number specified in the page parameter. This field is only included in the response when a value greater than 0 is specified for the page parameter.rppinteger
Field representing the number of results per page specified in the rpp parameter.cursorstring
A field for cursor pagination. This value must be provided in the next request to load the next page of data.countinteger
Field representing the total count of requested data. This field is only included in the response when true is set for the withCount parameter.Field representing the actual range applied to the query. The same kind of values used in the request's range parameters are returned. A Date-based request returns fromDate and toDate, a Block-based request returns fromBlock and toBlock, and a Ledger-based request returns fromLedger and toLedger; different kinds are never mixed in a single response. When all range parameters are omitted, a default window of the last 30 days is applied and fromDate, toDate are returned. Block and Ledger values are always returned as heights (numbers), even if a hash or tag (latest, earliest) was provided in the request.
fromDatestring
Field representing the start of the query range in Date mode. Returned in ISO 8601 format.toDatestring
Field representing the end of the query range in Date mode. Returned in ISO 8601 format.fromBlockinteger
Field representing the start block height of the query range in Block mode.toBlockinteger
Field representing the end block height of the query range in Block mode.fromLedgerinteger
Field representing the start ledger index of the query range in Ledger mode.toLedgerinteger
Field representing the end ledger index of the query range in Ledger mode.blockHeightinteger
A field that represents the height of the block containing this balance change.An integer that increments sequentially starting from the genesis block (0), used as an indicator for the blockchain length and the position of a specific block.blockTimestampinteger
A field that represents the block creation time.Provided as a UNIX timestamp, used for block creation order and time tracking.Block timestamps are used to ensure transaction order and measure inter-block creation intervals.transactionHashstring
A field that represents the hash of the transaction that caused the balance change.A cryptographic hash computed from all transaction data, provided as a 64-character hexadecimal string prefixed with 0x.This hash enables retrieval of full information for the transaction related to the balance change.transactionVersioninteger
A field that represents the version of the transaction where the balance change occurred.A unique sequence ID indicating the order of the transaction on the chain, incrementing sequentially from 0.eventIndexintegerrequired
A field that represents the order index of the event within the transaction.Indicates the order of the current event among multiple events emitted in a single transaction.Starts at 0 and increments in event emission order; used to identify the order of events within the same transaction.eventTypestringrequired
A field that represents the type of the event.Provided as the full path (address::module::struct) of the event struct defined in the Move module.Used to identify the type of operation that caused the balance change.subEventIndexintegerrequired
A field that represents the order of asset changes when multiple asset changes occur within a single event.Identifies the order of multiple asset changes within an event sharing the same eventIndex.Starts at 0 and increments sequentially; plays an important role in complex asset operations (e.g., swaps).accountAddressstringrequired
A field that represents the address of the account where the balance change occurred.Provided as a 64-character hexadecimal string prefixed with 0x; identifies the account whose asset balance changed.This address is either the asset owner or the destination account the asset was transferred to.assetTypestringrequired
A field that represents the type of the asset whose balance changed.Provided in one of two formats:- Coin: Asset ID in Move struct format (e.g., 0x1::aptos_coin::AptosCoin)
- Fungible Asset: Object address that owns the metadata of the asset
linkedAssetTypestringrequired
A common identifier that links Coin and Fungible Asset when they have been migrated.This field serves as a unified key that groups Coin/Fungible Asset into a single asset unit for identification and retrieval, providing the Object address where the migrated Fungible Asset's Metadata is stored.changeValuestringrequired
A field that represents the balance change amount.Provided as a string in integer form.- Positive: indicates the account balance increased
- Negative: indicates the account balance decreased
tokenStandardstringrequired
A field that represents the standard type of the asset.- v1: Assets following the Coin standard
- v2: Assets following the Fungible Asset standard
transferTypestringrequired
A field that represents the transfer direction or action type.Indicates the specific type of balance change; the following values are possible:- deposit: asset deposit
- withdraw: asset withdrawal
- swap_in: deposit from swap
- swap_out: withdrawal from swap
- gas: gas fee payment
- refund_gas: gas fee refund
codestringrequired
Code identifying the cause of the failed request.messagestringrequired
Detailed message including the name and value of the invalid parameter.{"code": "MISSING_REQUIRED_PARAMETER","message": "Missing required parameter: { PARAMETER_NAME }"}
cURL
curl -X POST 'https://web3.nodit.io/v1/aptos/mainnet/token/getTokenBalanceChangesByAssetType' \-H 'Content-Type: application/json' \-H 'X-API-KEY: nodit-demo' \-d '{"assetType": "0x1::aptos_coin::AptosCoin","linkedAssetType": "0x000000000000000000000000000000000000000000000000000000000000000a","fromDate": "2025-01-01T00:00:00+00:00","toDate": "2025-01-31T00:00:00+00:00"}'