Skip to Content
APITransactions and TransfersGet Account TRC20 Transfer Records

Get Account TRC20 Transfer Records

1. Overview & Typical Use

Query TRC20 token transfer details for a specified account, with support for filtering by direction (outgoing / incoming / approval) and status information.

  • Typical use: wallet page displaying a token’s transfer history, distinguishing incoming / outgoing from approval records.
  • When not to use: to query all-chain TRC20 transfers use “Get TRC20 & TRC721 Transfer List”; for TRX / TRC10 transfers use “Get TRX & TRC10 Transfer List”.

2. Endpoint & Authentication

GET /api/token_trc20/transfers-with-status

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

3. Request

ParameterTypeRequiredDefaultDescription
startintegerNo0Start offset; start + limit ≤ 10000, excess is silently handled
limitintegerNo20Page size, max 50 (excess is silently truncated)
trc20IdstringYesTRC20 token contract address
addressstringYesAccount address
directionintegerNo1Transfer direction: 1 outgoing, 2 incoming, 0 Approval events
db_versionintegerNo0Include approval transfers: 1 include, 0 exclude
reversestringNoSort by creation time: true descending, false ascending
start_timestampintegerNoStart time, ms timestamp
end_timestampintegerNoEnd time, ms timestamp

To query unlimited Approval events, set db_version=1 together with direction=0.

4. Response

Top-level

FieldTypeRequiredDescriptionUnit/Precision
codeintegerRequiredStatus code (200 = success)
page_sizeintegerRequiredNumber of records returned on the current page
tokenInfoobjectRequiredToken metadata (value schema below)
dataarrayRequiredTransfer record array; see below
contractMapobjectOptionalAddress → whether it is a contract mapping

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

data[] elements

FieldTypeRequiredDescriptionUnit/Precision
hashstringRequiredTransaction hash
blockintegerRequiredBlock height
block_timestampintegerRequiredBlock timems timestamp
fromstringRequiredSender address
tostringRequiredRecipient address
contract_addressstringRequiredToken contract address
idstringRequiredToken contract address (same value as contract_address)
amountstringRequiredTransfer quantity (raw string)Use tokenInfo.tokenDecimal to convert
statusintegerRequiredTransaction status code
approval_amountstringRequiredApproval quantity
approval_amount_unlimitedstringOptionalUnlimited approval flag; value is "unlimited" (present only when approval amount is unlimited)
event_typestringRequiredEvent type
confirmedintegerRequiredConfirmation status: 0 unconfirmed, 1 confirmed
contract_typestringRequiredContract type string (e.g. TriggerSmartContract)
contractTypeintegerRequiredContract type number
revertintegerRequiredWhether reverted
contract_retstringRequiredContract execution result
final_resultstringRequiredFinal result
directionintegerRequiredTransfer direction: 1 outgoing, 2 incoming
issue_addressstringRequiredToken issuer address
decimalsintegerRequiredToken decimals
token_namestringRequiredToken contract name

5. Errors

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

  • Required parameters: both trc20Id and address are required; missing either returns an error.
  • Parameter violations do not produce errors: limit > 50, start + limit > 10000, etc. are silently truncated/capped and return 200.
  • Empty result is not an error: no matches returns 200 + data: [], which is a normal response.
Last updated on: