token_rank_single
>-
token_rank_single¶
Returns the community rank and top holders for a specific token, identified by contract address and network. Unlike token_rank_list which returns ranked lists for discovery, this tool deep-dives into a single token — surfacing its strongest holders with full wallet-level intelligence including balance, wallet age, transaction count, and global rank.
Use this when you need to understand who holds a token and how strong those holders are.
MCP Endpoint: https://prediction.mcp.chainaware.ai/sse
Supported Networks¶
| Identifier | Network |
|---|---|
ETH |
Ethereum |
BNB |
BNB Smart Chain |
BASE |
Base |
SOLANA |
Solana |
Input Schema¶
| Field | Type | Required | Description |
|---|---|---|---|
contract_address |
string | Yes | Token contract address or Solana mint address |
network |
string | Yes | One of the network identifiers above |
Output Schema¶
{
"message": "string",
"data": {
"contract": {
"contractAddress": "string",
"contractName": "string",
"ticker": "string",
"chain": "string",
"category": "string",
"type": "string",
"communityRank": 0,
"normalizedRank": 0,
"totalHolders": 0,
"lastProcessedAt": "ISO-8601",
"createdAt": "ISO-8601",
"updatedAt": "ISO-8601"
},
"topHolders": [
{
"contractAddress": "string",
"Holder": {
"walletAddress": "string",
"chain": "string",
"balance": "string",
"walletAgeInDays": 0,
"transactionsNumber": 0,
"totalPoints": 0.0,
"globalRank": 0
}
}
]
}
}
Key Output Fields Explained¶
data.contract — Token Summary¶
| Field | Description |
|---|---|
communityRank |
Raw ranking based on aggregate holder behavioural quality |
normalizedRank |
Normalized score for cross-chain and cross-category comparison |
totalHolders |
Total unique wallet addresses holding this token |
category |
Token category — e.g. AI Token, DeFi Token |
data.topHolders[] — Strongest Holders¶
Each entry contains a Holder object with full wallet-level intelligence:
| Field | Description |
|---|---|
walletAddress |
The holder's wallet address |
balance |
Token balance held (string to preserve precision) |
walletAgeInDays |
Age of the wallet in days |
transactionsNumber |
Total transaction count across the wallet's history |
totalPoints |
Computed wallet scoring metric |
globalRank |
Wallet rank across the entire ChainAware 14M+ wallet network |
globalRank Interpretation¶
| Tier | Meaning |
|---|---|
| Top 1% | Elite — highest-quality wallets in the network |
| Top 10% | Strong — well-established, active wallets |
| Top 25% | Above average — solid on-chain history |
| Bottom 50% | Developing — newer or less active wallets |
Code Examples¶
Node.js¶
const result = await client.callTool({
name: "token_rank_single",
arguments: {
contract_address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
network: "ETH"
}
});
const { contract, topHolders } = result.data;
console.log(`${contract.contractName} (${contract.ticker})`);
console.log(`Community Rank: ${contract.communityRank}`);
console.log(`Total Holders: ${contract.totalHolders}`);
topHolders.forEach((entry, i) => {
const h = entry.Holder;
console.log(
` ${i + 1}. ${h.walletAddress} — ` +
`Balance: ${h.balance}, Global Rank: ${h.globalRank}, Age: ${h.walletAgeInDays}d`
);
});
Python¶
result = await session.call_tool("token_rank_single", {
"contract_address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"network": "ETH"
})
contract = result["data"]["contract"]
print(f"{contract['contractName']} ({contract['ticker']})")
print(f"Community Rank: {contract['communityRank']}")
print(f"Total Holders: {contract['totalHolders']}")
for i, entry in enumerate(result["data"]["topHolders"]):
h = entry["Holder"]
print(
f" {i+1}. {h['walletAddress']} — "
f"Balance: {h['balance']}, Global Rank: {h['globalRank']}, Age: {h['walletAgeInDays']}d"
)
Example Agent Prompts¶
"What is the community rank for USDT on Ethereum?"
"Who are the top holders of 0xdAC17F958D2ee523a2206206994597C13D831ec7 on ETH?"
"Show me the best holders of this Solana token."
"How strong is the holder base of this contract on BNB?"
"Are the top holders of this token experienced or new wallets?"
"Compare holder quality: is this token held by whales or retail?"
"Deep-dive into the community quality of this BASE token."
Use Cases¶
- Token due diligence — before investing, check whether a token is held by experienced, high-rank wallets or fresh/suspicious ones
- Whale analysis — identify top holders and assess whether they are long-term participants or short-term flippers
- Community health monitoring — track whether a token's top holders are strengthening or weakening over time
- Governance intelligence — understand who the most influential holders are for DAO voting and proposals
- Exchange listing decisions — evaluate holder quality as a factor in token listing approvals
- Portfolio risk assessment — pair with
predictive_rug_pullon the same contract for a complete safety + community quality picture
Composability¶
token_rank_single pairs naturally with other ChainAware tools:
- Run
predictive_behaviouron a top holder'swalletAddressto get their full behavioural profile - Run
predictive_fraudon top holders to check whether any major holders are fraud-flagged - Use
token_rank_listfirst to discover tokens by category, thentoken_rank_singleto deep-dive into the best candidates
Error Codes¶
| Code | Meaning |
|---|---|
403 |
Invalid or missing API key |
400 |
Malformed contract_address or network |
500 |
Temporary backend failure — retry after a short delay |
Further Reading¶
- Token Rank Guide — TokenRank system: community strength scoring, holder analysis, and global rank
- Prediction MCP for AI Agents
See also: Prediction MCP Overview | token_rank_list | predictive_fraud