Skip to Content
APITransactions and TransfersGet TRC20 & TRC721 Transfer List

Get TRC20 & TRC721 Transfer List

1. Overview & Typical Use

Queries TRC20 and TRC721 transfer records by contract, address, time, and other conditions, with pagination support.

  • Typical use: token transaction history, address inflow/outflow details, transfer monitoring for a specific contract.
  • When not to use: for TRX/TRC10 transfers use “Get TRX & TRC10 Transfer List”; for a single transaction use “Get Transaction Details”.

2. Endpoint & Authentication

GET /api/token_trc20/transfers

For Base URL and authentication, see Common Network & Authentication.

3. Request

ParameterTypeRequiredDefaultDescription
startintegerNo0Start index (offset); start + limit ≤ 10000, violations silently handled
limitintegerNo10Items per page, max 50 (excess silently truncated)
contract_addressstringNoToken contract address (TRC20 / TRC721)
relatedAddressstringNoRelated account address (matches either sender or receiver)
fromAddressstringNoSender address
toAddressstringNoReceiver address
start_timestampintegerNoStart time, ms timestamp
end_timestampintegerNoEnd time, ms timestamp
blockintegerNoFilter by block number
directionstringNoallTransfer direction: in (incoming), out (outgoing), all (both)
confirmstringNoConfirmation status: 0 confirmed / 1 unconfirmed / 2 reverted / empty all

4. Response

Top-level

FieldTypeRequiredDescriptionUnit/Precision
totalintegerRequiredNumber of hits (cap 10000, for pagination)
rangeTotalintegerRequiredTotal count within the filtered range
token_transfersarrayRequiredTransfer record array; see below
contractInfoobjectOptionalContract address → label information mapping; populated only when contract is hit (value schema below)
normalAddressInfoobjectOptionalNon-contract address → risk information mapping; each address value observed to contain only risk (boolean), no other sub-fields

token_transfers[] elements

FieldTypeRequiredDescriptionUnit/Precision
transaction_idstringRequiredTransaction hash
statusintegerRequiredTransaction status code
block_tsintegerRequiredBlock timems timestamp
blockintegerRequiredBlock height
from_addressstringRequiredSender address (Base58, starts with T)
to_addressstringRequiredReceiver address (Base58, starts with T)
contract_addressstringRequiredToken contract address
quantstringRequiredTransfer quantity (raw string, preserves big-number precision; may exceed 2^53)Use tokenInfo.tokenDecimal to convert
approval_amountstringRequiredApproval amount (non-Approval events return "0")
event_typestringRequiredEvent type: Transfer or Approval
confirmedbooleanRequiredWhether confirmed
contractRetstringRequiredContract execution result (e.g. SUCCESS)
finalResultstringRequiredFinal result: SUCCESS or FAIL
contract_typestringRequiredToken type: trc20 or trc721
tokenType2stringOptionalAdditional token type identifier
tokenInfoobjectRequiredToken metadata (value schema below)
from_address_tagobjectRequiredSender address tag info; sub-fields see the from_address_tag object table below
fromAddressIsContractbooleanRequiredWhether the sender is a contract address
to_address_tagobjectRequiredReceiver address tag info; sub-fields see the to_address_tag object table below
toAddressIsContractbooleanRequiredWhether the receiver is a contract address
trigger_infoobjectOptionalContract call method and parameters; sub-fields see the trigger_info object table below
revertbooleanRequiredWhether reverted
riskTransactionbooleanRequiredRisk transaction flag

contractInfo[<addr>] object schema (8 fields):

FieldTypeRequiredDescription
tag1stringRequiredPrimary label (project name / contract name / exchange name)
tag1UrlstringRequiredURL of the primary label (may be an empty string)
namestringRequiredFormal contract / project name
isTokenbooleanRequiredWhether it is a token contract (true / false)
vipbooleanRequiredWhether it is a VIP entity (true / false)
riskboolean | stringRequiredRisk label; most endpoints return boolean, some return a string risk type (blacklist / fraud, etc.)
publicTagDescstringRequiredPublic label description; empty string for most accounts
publicTagstringOptionalPublic label (e.g. "USDT Token" / "Binance"); returned only for well-known entities or certain endpoints

tokenInfo object schema (9 common fields):

FieldTypeRequiredDescriptionUnit/Precision
tokenIdstringRequiredToken contract address (Base58); TRX placeholder is _
tokenAbbrstringRequiredToken abbreviation (e.g. USDT / TRX)
tokenNamestringRequiredToken name
tokenDecimalintegerRequiredDecimal precision (required to convert the amount field)
tokenCanShowintegerRequiredWhether displayable (1 yes / 0 no)
tokenTypestringRequiredToken type (trc10 / trc20 / trc721 / trc1155)
tokenLogostringRequiredToken logo URL
tokenLevelstringRequiredToken level
vipbooleanRequiredWhether it is a VIP token

quant is a raw string; display value = quant / 10^tokenInfo.tokenDecimal. Example: USDT (decimals=6) quant="239215838235000"239,215,838.235 USDT.

from_address_tag object

FieldTypeRequiredDescription
from_address_tagstringRequiredSender public tag text (empty string when no tag)
from_address_tag_logostringRequiredSender tag logo URL (empty string when no logo)

to_address_tag object

FieldTypeRequiredDescription
to_address_tagstringRequiredReceiver public tag text (empty string when no tag)
to_address_tag_logostringRequiredReceiver tag logo URL (empty string when no logo)

trigger_info object (for contract calls)

FieldTypeRequiredDescriptionUnit/Precision
methodstringRequiredMethod signature (e.g. transfer(address _to,uint256 _value))
methodNamestringRequiredMethod name (e.g. transfer)
parameterobjectRequiredParameter object; keys are parameter names (e.g. _to, _value), values are strings
datastringRequiredRaw call datahex
contract_addressstringRequiredCalled contract address
call_valueintegerRequiredTRX amount sent with the callsun

5. Errors

For HTTP status codes, see Common Errors. Key points for this endpoint:

  • Invalid parameters do not cause errors: limit > 50, start + limit > 10000, etc. are silently truncated/capped and return 200 — do not rely on errors to detect parameter issues.
  • Empty result is not an error: no matches returns 200 + token_transfers: [] — this is a normal response.
Last updated on: