Get TRC10 Token Holders
1. Overview & Typical Use
Returns the holder list for a TRC10 token, sorted by holding amount in descending order by default.
- Typical use: TRC10 token holder rankings, whale analysis.
- When not to use: for TRC20/TRC721/TRC1155 token holders use “Get TRC20/TRC721/TRC1155 Token Holders”.
2. Endpoint & Authentication
GET /api/tokenholders
For Base URL and authentication, see Common Network & Authentication.
3. Request
Fields
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
address | string | Yes | — | TRC10 issuer address or token ID; _ for TRX |
holder_address | string | No | — | TRC10 holder address |
start | integer | No | 0 | Start index; start + limit ≤ 10000 |
limit | integer | No | 10 | Items per page, max 50 |
sort | string | No | -balance | Sort order: -balance descending, balance ascending |
4. Response
Fields
Top-level
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
total | integer | Required | Number of hits (cap 10000) | — |
rangeTotal | integer | Required | True total number of holders | — |
contractMap | object | Required | Address → whether the address is a contract | — |
contractInfo | object | Optional | Contract address → label info (present when contract addresses are involved) | — |
account_number | integer | Optional | Total account count (only when address=_, i.e. TRX) | — |
last_24h_account_change | integer | Optional | Account count change in the last 24 hours (only for TRX) | — |
data | array | Required | Holder list; see the separate TRC10 and TRX schemas below | — |
data[] elements (ordinary TRC10 tokens)
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
address | string | Required | Holder address | — |
name | string | Required | Holder record name | — |
balance | string | Required | Token balance in smallest units; token quantity = balance / 10^precision, using the asset’s precision from TRC10 token metadata | Asset’s smallest unit |
balanceInUsd | string | Optional | USD value of the token balance | USD |
updateTime | integer | Required | Last update time | Millisecond timestamp |
index | integer | Required | Rank index | — |
srTag | boolean | Optional | Whether this is a Super Representative | — |
foundationTag | boolean | Optional | Whether this is a Foundation address | — |
srName | string | Optional | SR name (may be empty) | — |
addressTag | string | Optional | Address label | — |
addressTagLogo | string | Optional | Address tag logo URL (may be empty) | — |
analysisShow | boolean | Optional | Whether to show in analytics | — |
data[] elements (TRX, i.e. address=_)
| Field | Type | Required | Description | Unit/Precision |
|---|---|---|---|---|
address | string | Required | Holder address | — |
balance | integer | Required | Available TRX balance | SUN |
totalBalance | integer | Required | Total TRX balance: balance + power + unstakingBalance | SUN |
unstakingBalance | integer | Required | TRX amount currently unstaking | SUN |
power | integer | Required | Staked TRX amount; the raw value is not a vote count. Voting power depends on protocol rules and staking status | SUN |
balanceInUsd | string | Optional | USD value of totalBalance | USD |
trxRatio | string | Required | Proportion of total TRX supply (high-precision string) | decimal |
index | integer | Required | Rank index | — |
updateTime | integer | Required | Last update time | Millisecond timestamp |
latestOperationTime | integer | Required | Most recent operation time | Millisecond timestamp |
srTag | boolean | Required | Whether this is a Super Representative | — |
srName | string | Required | SR name (empty string when not an SR) | — |
foundationTag | boolean | Required | Whether this is a Foundation address | — |
addressTagLogo | string | Required | Address tag logo URL (may be empty string) | — |
analysisShow | boolean | Required | Whether to show in analytics | — |
5. Errors
For HTTP status codes, see Common Errors. Key points for this endpoint:
addressis a required parameter: omitting it returns empty data.start + limitcap is 10000.- Empty result is not an error: no matches returns
200+data: [].