Token Holders
token_holdersTop holders of an ERC-20 token by cumulative net inflow USD. Returns wallet, net flow USD, volume USD, tx count, first/last seen dates, and known labels. Use when the user asks 'top holders of X' or 'who holds the most of token Y'. sort='flow' (default) ranks by cumulative net inflow USD, a flow and not a holding. sort='balance' ranks by the on-chain balanceOf among candidate wallets chosen by net inflow and by volume (a holder outside both is not in it) and adds balance, value_usd, supply_pct, balance_basis, balance_approximate and candidate_coverage to each row; balance_basis is 'chain' for a balance read from the chain ('unsupported' means the row is still ranked by flow, as for a chain's native coin), balance_approximate is true when a candidate's balance could not be read or the total supply is unknown, and candidate_coverage is the share of the total supply the candidates' balances add up to. sort='balance' is not available on every chain (the error names it). exclude_exchanges=true drops wallets labelled as an exchange.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"token_address": "<token_address>"
},
"name": "token_holders"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | flow = cumulative net inflow USD (default); balance = on-chain balanceOf among candidate wallets | flow |
| chain | No | Chain (default ethereum) | ethereum |
| limit | No | Max holders (default 10, max 50) | |
| token_address | Yes | ERC-20 token contract address (0x-prefixed) | |
| exclude_exchanges | No | Drop wallets labelled as an exchange (default false) |