Get Transaction List
1. Overview & Typical Use
Query paginated on-chain transaction lists filtered by time, address, token, block, and other conditions.
- Typical use: browse the latest network-wide transactions, query historical transactions by address, filter transactions by block.
- When not to use: for single transaction details use “Get Transaction Details by Hash”; for token transfers use the corresponding transfer list endpoint.
2. Endpoint & Authentication
GET /api/transaction
For Base URL and authentication, see Common Network & Authentication.
3. Request
Fields
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
start | integer | No | 0 | Start offset; start + limit ≤ 10000, excess is silently capped |
limit | integer | No | 10 | Page size, max 50 (excess is silently truncated) |
sort | string | No | -timestamp | Sort order; -timestamp = reverse chronological |
count | boolean | No | false | Whether to return the total transaction count |
start_timestamp | integer | No | — | Start time, ms timestamp |
end_timestamp | integer | No | — | End time, ms timestamp |
fromAddress | string | No | — | Sender address |
toAddress | string | No | — | Recipient address |
address | string | No | — | Account address filter (matches sender or recipient) |
tokens | string | No | — | Tokens involved |
block | integer | No | — | Filter by block number |
type | string | No | — | Transaction type |
direction | string | No | all | Transfer direction: in, out, all |
confirm | string | No | — | Confirmation status: 0 confirmed / 1 unconfirmed / 2 reverted / empty = all; comma-separated combinations like 0,1 are supported |
dry-run | string | No | — | When set to any non-empty value, skips the database total count query; total returns 0, improving response speed |
4. Response
Fields
Top-level
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
total | integer | Required | Total match count (capped at 10000, used for pagination) | — |
rangeTotal | integer | Required | Total count within the filtered range | — |
data | array | Required | Transaction record array; see below | — |
wholeChainTxCount | integer | Required | Total network-wide transaction count | — |
contractMap | object | Optional | Address → whether it is a contract mapping | — |
contractInfo | object | Optional | Contract address → label information mapping (value schema below) | — |
normalAddressInfo | object | Optional | Non-contract address → risk information mapping; each address value observed to contain only risk (boolean), no other sub-fields | — |
data[] elements
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
block | integer | Required | Block height | — |
hash | string | Required | Transaction hash | — |
timestamp | integer | Required | Block time | ms timestamp |
ownerAddress | string | Required | Initiator address (Base58, starts with T) | — |
toAddress | string | Required | Recipient address | — |
toAddressList | array | Required | Recipient address list | — |
contractType | integer | Required | Contract type number | — |
confirmed | boolean | Required | Whether confirmed | — |
revert | boolean | Required | Whether reverted | — |
contractData | object | Required | Contract call data; sub-fields see the contractData object table below | — |
contractRet | string | Required | Contract execution result (e.g. SUCCESS) | — |
result | string | Required | Transaction result | — |
amount | string | Required | Transaction amount (raw string) | — |
cost | object | Required | Resource consumption details; sub-fields see the cost object table below | — |
tokenInfo | object | Required | Token metadata (value schema below) | — |
tokenType | string | Required | Token type identifier | — |
noteLevel | integer | Required | Risk level annotation | — |
cheatStatus | boolean | Required | Whether this is a fraudulent transaction | — |
riskTransaction | boolean | Required | Risk transaction flag | — |
SmartCalls | string | Required | Smart contract call information (empty string for non-contract calls) | — |
Events | string | Required | Contract event information (empty string for non-contract calls) | — |
data | string | Required | Raw transaction data (usually empty string) | — |
fee | string | Required | Fee information (usually empty string) | — |
id | string | Required | Record ID (usually empty string) | — |
trigger_info | object | Optional | Contract call method and parameters (only present for smart contract calls); schema is a compatible superset of transaction-info trigger_info — additionally contains data (raw hex call data) and methodName (human-readable method name) | — |
toAddressTag | string | Optional | Recipient address label; key only present when the recipient has a public label, value is the label string | — |
ownerAddressTag | string | Optional | Sender address label; key only present when the sender has a public label, value is the label string | — |
contractInfo[<addr>] object schema (8 fields):
| Field | Type | Required | Description |
|---|---|---|---|
tag1 | string | Required | Primary label (project name / contract name / exchange name) |
tag1Url | string | Required | URL of the primary label (may be an empty string) |
name | string | Required | Formal contract / project name |
isToken | boolean | Required | Whether it is a token contract (true / false) |
vip | boolean | Required | Whether it is a VIP entity (true / false) |
risk | boolean | string | Required | Risk label; most endpoints return boolean, some return a string risk type (blacklist / fraud, etc.) |
publicTagDesc | string | Required | Public label description; empty string for most accounts |
publicTag | string | Optional | Public label (e.g. "USDT Token" / "Binance"); returned only for well-known entities or certain endpoints |
data[].tokenInfo / contractData.tokenInfo object schema (9 common fields):
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
tokenId | string | Required | Token contract address (Base58); TRX placeholder is _ | — |
tokenAbbr | string | Required | Token abbreviation (e.g. USDT / TRX) | — |
tokenName | string | Required | Token name | — |
tokenDecimal | integer | Required | Decimal precision (required to convert the amount field) | — |
tokenCanShow | integer | Required | Whether displayable (1 yes / 0 no) | — |
tokenType | string | Required | Token type (trc10 / trc20 / trc721 / trc1155) | — |
tokenLogo | string | Required | Token logo URL | — |
tokenLevel | string | Required | Token level | — |
vip | boolean | Required | Whether it is a VIP token | — |
contractData object
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
owner_address | string | Required | Initiator address | — |
data | string | Optional | Call data (present for smart contract calls) | hex |
to_address | string | Optional | Recipient address (present for TRX/TRC10 transfers) | — |
amount | integer | Optional | Transfer amount (present for TRX/TRC10 transfers) | sun (TRX) / raw value (TRC10) |
asset_name | string | Optional | TRC10 asset name (present for TRC10 transfers) | — |
contract_address | string | Optional | Called contract address (present for smart contract calls) | — |
tokenInfo | object | Optional | Token metadata (present when a token is involved); schema shared with data[].tokenInfo above | — |
cost object
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
fee | integer | Required | Total fee | sun |
net_fee | integer | Required | Bandwidth fee | sun |
net_usage | integer | Required | Bandwidth consumed | bytes |
energy_fee | integer | Required | Energy fee | sun |
energy_usage | integer | Required | Caller energy consumed | — |
energy_usage_total | integer | Required | Total energy consumed | — |
origin_energy_usage | integer | Required | Contract owner energy consumed | — |
energy_penalty_total | integer | Required | Total energy penalty | — |
date_created | integer | Optional | Transaction creation time (returned for certain transaction types) | s timestamp |
5. Errors
For HTTP status codes, see Common Errors. Notes for this endpoint:
- Parameter violations are not reported as errors:
limit > 50,start + limit > 10000, etc. are silently truncated/capped and return200; do not rely on errors to detect parameter issues. - Empty result is not an error: no matches returns
200+data: [], which is a normal response.
Last updated on: