Documentation Index
Fetch the complete documentation index at: https://docs.solanatracker.io/llms.txt
Use this file to discover all available pages before exploring further.
Knowing who holds a token is critical before buying. If a few wallets hold most of the supply, those wallets can move the market or create serious risk. The Data API gives you three endpoints depending on how much holder data you need.
Top 100 Holders
The top 100 holders endpoint returns the largest wallets by balance — fast, no pagination needed.
curl "https://data.solanatracker.io/tokens/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/holders" \
-H "x-api-key: YOUR_API_KEY"
Top 20 Holders
The top 20 holders endpoint is a lighter call — useful for quick whale concentration checks without pulling the full 100.
curl "https://data.solanatracker.io/tokens/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/holders/top" \
-H "x-api-key: YOUR_API_KEY"
Quick concentration check:
const res = await fetch(`https://data.solanatracker.io/tokens/${token}/holders/top`, {
headers: { "x-api-key": "YOUR_API_KEY" }
});
const holders = await res.json();
const top10Pct = holders.slice(0, 10).reduce((sum, h) => sum + h.percentage, 0);
console.log(`Top 10 wallets hold ${top10Pct.toFixed(1)}% of supply`);
if (top10Pct > 50) {
console.log("🚨 High concentration — rug risk");
} else if (top10Pct > 30) {
console.log("⚠️ Moderate concentration — proceed with caution");
} else {
console.log("✅ Reasonably distributed supply");
}
All Holders (Paginated)
For a full export of every holder — needed for building a holder dashboard, tracking supply distribution over time, or doing deep risk analysis — use the paginated holders endpoint. It supports up to 5,000 holders per page.
Cursor pagination means the response gives you a nextCursor. Send that cursor in the next request to get the next page.
# First page
curl "https://data.solanatracker.io/tokens/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/holders/paginated?limit=1000" \
-H "x-api-key: YOUR_API_KEY"
# Subsequent pages — pass the cursor from the previous response
curl "https://data.solanatracker.io/tokens/6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN/holders/paginated?limit=1000&cursor=CURSOR_FROM_PREV_RESPONSE" \
-H "x-api-key: YOUR_API_KEY"
Holder Concentration Analysis
Once you have the holder list, you can calculate supply concentration. This shows how much of the token supply is controlled by the largest wallets.
async function analyzeConcentration(token) {
const res = await fetch(
`https://data.solanatracker.io/tokens/${token}/holders/top`,
{ headers: { "x-api-key": "YOUR_API_KEY" } }
);
const holders = await res.json();
const top5 = holders.slice(0, 5).reduce((s, h) => s + h.percentage, 0);
const top10 = holders.slice(0, 10).reduce((s, h) => s + h.percentage, 0);
const top20 = holders.reduce((s, h) => s + h.percentage, 0);
console.log(`Top 5 wallets: ${top5.toFixed(1)}%`);
console.log(`Top 10 wallets: ${top10.toFixed(1)}%`);
console.log(`Top 20 wallets: ${top20.toFixed(1)}%`);
console.log(`Largest single holder: ${holders[0].percentage.toFixed(2)}%`);
// Flag high-risk patterns
if (holders[0].percentage > 20) console.log("🚨 Single whale holds >20% — high risk");
if (top10 > 50) console.log("🚨 Top 10 hold >50% of supply — danger");
}
Cross-reference holder data with the risk score returned by the token info endpoint — it already factors in top-10 concentration and single-wallet ownership thresholds. See the Token Safety & Rugcheck guide for details.
Use Cases
| What you’re building | Endpoint to use |
|---|
| Quick concentration check before buying | Top 20 holders |
| Holder count badge on a token page | Top 100 (check total field) |
| Full holder export / CSV | Paginated (cursor loop) |
| Whale alert — detect large positions | Top 100 or Top 20, filter by percentage |
| Historical holder distribution | Paginated snapshots over time |
Live Holder Updates
To track holder changes in real time — new holders, whale exits, and creator-wallet sell-offs — use the Datastream WebSocket. See the Live Token Holder Updates guide.