Skip to Content
APITransactions and TransfersGet Internal Transaction List

Get Internal Transaction List

1. Overview & Typical Use

Queries smart contract internal transaction records by address / contract / block and other criteria, with pagination support.

  • Typical use: tracing contract internal call chains, viewing internal TRX transfers, monitoring contract-to-contract interactions.
  • When not to use: to query regular transactions, use “Get Transaction List”; to query token transfers, use the corresponding transfer list endpoint.

2. Endpoint & Authentication

GET /api/internal-transaction

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

3. Request

ParameterTypeRequiredDefaultDescription
startintegerNo0Start index (offset); start + limit ≤ 10000, excess is silently handled
limitintegerNo10Page size, maximum 50 (excess is silently truncated)
addressstringNoSpecify address; at least one of address, block, contract is required
contractstringNoFilter by contract address
blockintegerNoFilter by block number
start_timestampintegerNoStart time, ms timestamp
end_timestampintegerNoEnd time, ms timestamp
confirmstringNoConfirmation status: 0 confirmed / 1 unconfirmed / empty for all
noteTypestringNoFilter by call type (e.g. call, create)
retstringNoallFilter by result status (e.g. SUCCESS, REVERT)
tokensstringNoFilter by token ID; multiple IDs separated by commas

4. Response

Top-level

FieldTypeRequiredDescriptionUnit/Precision
totalintegerRequiredTotal number of matched records
rangeTotalintegerRequiredTotal within the filter range
dataarrayRequiredInternal transaction record array, see below
contractMapobjectOptionalAddress → whether it is a contract mapping
contractInfoobjectOptionalContract address → label information mapping (value schema below)
normalAddressInfoobjectOptionalNon-contract address → risk information mapping; each address value observed to contain only risk (boolean), no other sub-fields

data[] element

FieldTypeRequiredDescriptionUnit/Precision
hashstringRequiredExternal transaction hash that triggered this internal transaction
internal_hashstringRequiredInternal transaction hash
blockintegerRequiredBlock height
timestampintegerRequiredBlock timems timestamp
fromstringRequiredSender address
tostringRequiredRecipient address
call_valueintegerRequiredCall valuesun
token_idstringRequiredToken ID (_ represents TRX)
notestringRequiredCall type (e.g. call, create)
confirmedbooleanRequiredWhether confirmed
rejectedbooleanRequiredWhether rejected
resultstringRequiredExecution result
revertbooleanRequiredWhether reverted
token_listobjectRequiredToken info; sub-fields see the token_list object table below
valueInfoListarrayRequiredTransfer value info list; element schema see the valueInfoList[] element table below
toAddressTagstringOptionalRecipient address tag (only present when recipient has a tag)
fromAddressTagstringOptionalSender address tag (only present when sender has a tag)
voteToAddressarrayRequiredVote target address list (empty array for non-vote types)
voteCountintegerRequiredVote count (0 for non-vote types)
voteDetailarrayRequiredVote detail (empty array for non-vote types)

token_list object

FieldTypeRequiredDescriptionUnit/Precision
token_idstringRequiredToken ID (_ represents TRX)
call_valueintegerRequiredCall value; sun for TRX, raw token precision for non-TRX assets (convert via tokenInfo.tokenDecimal)
tokenInfoobjectRequiredToken metadata (9 common fields; schema shared with valueInfoList[].tokenInfo below)

valueInfoList[] element

FieldTypeRequiredDescriptionUnit/Precision
callValueintegerRequiredCall value; sun for TRX, raw token precision for non-TRX assets (convert via tokenInfo.tokenDecimal)
tokenInfoobjectRequiredToken metadata (value schema below)

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

token_list.tokenInfo / valueInfoList[].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

5. Errors

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

  • A filter condition must be specified: at least one of address, block, or contract must be provided.
  • 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: returns 200 + data: [] when no records match, which is a normal response.
Last updated on: