Token Holders API — holder lists & distribution for any token, any chain
Skip scanning every Transfer log and replaying balances yourself. We've already indexed holders for every ERC-20, ERC-721, ERC-1155 and SPL token across 40+ chains — so top holders, holder counts, point-in-time snapshots and distribution metrics like Gini and Nakamoto are one GraphQL query away.
query { EVM(network: eth, dataset: combined) { Holders( where: {Currency: {SmartContract: {is: "0xdAC17F958D2ee523a2206206994597C13D831ec7"}}} orderBy: {descending: Balance_Amount} limit: {count: 10} ) { Holder { Address } Balance { Amount(selectWhere: {gt: "0"}) } } } }
Holder data isn't in the chain — you have to rebuild it.
A token contract never stores its holder list. To get one yourself you replay every Transfer event from genesis, net them per address, drop the zero balances and re-run the whole thing for every historical snapshot — per token, per chain. We did that indexing once, so holders, counts and distribution are a single query across every chain at once.
Four ways to get holder data — one schema underneath.
Design your query once in GraphQL, then read the exact same fields as GraphQL streams, Kafka, gRPC or a bulk cloud export. Pick the channel that fits your latency and volume — no second pipeline.
Every token standard, decoded into one holder feed.
A single Holders query works the same for fungible tokens, NFTs and multi-token contracts. Filter by token, holder or balance threshold — and aggregate to counts, snapshots, new holders or distribution metrics.
Every holder dataset, one GraphQL endpoint.
From a single top-holder list to distribution metrics and Solana SPL holders, the full holder surface is one endpoint — no node, no Transfer-log replay, no custom indexer. Each dataset is historical and queryable point-in-time.
Top Holders API
The largest wallets holding any token, ranked by balance — the feed behind holder leaderboards and whale lists.
Read the docs →CountsHolder Count API
Distinct holder counts for any token, point-in-time or as a time series — track adoption and retention.
Read the docs →DistributionDistribution Metrics
Gini coefficient, Nakamoto index, Theil index, supply and top-N concentration — wealth distribution in one query.
Read the docs →LifecycleNew & Churned Holders
Wallets that first acquired or fully exited a token in any window — onboarding, churn and cohort analysis.
Read the docs →WhalesWhale Tracking
Count and list holders above a balance threshold, then watch their inflows and outflows in real time.
Read the docs →SolanaSolana SPL Holders
SPL token holders aggregated from balance updates — meme coins, stablecoins and any mint, with current balances.
Read the docs →The holder products people ship on us.
Each one is a filter on the same indexed holder data — query GraphQL for dashboards and snapshots, or stream balance updates over Kafka or gRPC for alerts.
Whale-alert bot
List holders above a balance threshold, then stream their balance updates so you fire an alert the moment a whale adds to or exits a position.
uniq(if: { Balance: { Amount: { gt: "10000000" } } })
}
Holder-growth dashboard
Run the distinct-holder count at a series of timestamps to chart adoption and retention for any token over time.
where: { Balance: { LastChangeTime: { till: "2026-06-01T00:00:00Z" } } }
uniq(of: Holder_Address)
Airdrop eligibility snapshot
Take a point-in-time holder list at a cutoff block or date — the exact set of addresses and balances you need for a fair airdrop or governance snapshot.
Holder { Address }
Balance { Amount(selectWhere: { gt: "0" } }) }
}
What teams say about our data
"We did a thorough search of the market for the best onchain data. Bitquery came out on top — and now powers all live prices across Nansen. We don't think of them as a vendor. They're a partner."
Bitquery does the hard work of parsing blockchain transaction data into a usable form so that we don't have to. We use their interface to diagnose issues with complex transactions and their analytics as a starting point for our own.
They proved they had the technology to deliver sophisticated data solutions. We extended our support through the Binance X fellowship — building an open-source library of visualization widgets on their blockchain data.
The complex raw data is available at different levels of detail and from different viewpoints — whether we need simple aggregated transfers or parameters for failed contract calls. The support is responsive, friendly and quick.
Partnering with Bitquery has been highly cost-effective — leveraging their established infrastructure rather than building our own let us rapidly expand our blockchain support and reach a much broader segment of on-chain users.
Bitquery's products are very intuitive and easy to use. We currently use their products to obtain DEX-related trading and liquidity information, which saves us the manpower and tedious technical details required to develop our own system. Their excellent technical team deserves special praise; they provide near-24/7 support and resolve issues quickly. I greatly appreciate their products and work ethic.
Bitquery provides the infrastructure we rely on every day. Fast, reliable, and comprehensive across the chains that matter to our business.
Start free. Scale when you ship.
Query every blockchain on every plan — no chain is paywalled. Move to commercial when you need volume, SLAs and bulk datashares.
- All blockchains, all plans
- 10 requests / minute
- 2 streams for testing
- GraphQL IDE access
- Scalable calls, no throttling
- SQL, Cloud, Kafka & more
- 24/7 engineering access
- Dedicated onboarding & SLA
- Snowflake, BigQuery, S3, Azure
- No setup or infrastructure
- Structured for AI agents & MCP
- Audit data for custodians
Token holder data questions, answered.
How do I get the top holders of a token?
Can I get historical holder counts over time?
What distribution metrics are available?
Do you support Solana SPL token holders?
Can I track holder changes in real time?
Which token standards and chains are supported?
Ship your holder analytics this week.
Free API key, every chain unlocked, no node to run. Query top holders, holder counts and distribution metrics in your first call.