TOKEN HOLDERS API · GraphQL · Snapshots · 40+ chains

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 on 9 core chains (40+ on Enterprise) — so top holders, holder counts, point-in-time snapshots and distribution metrics like Gini and Nakamoto are one GraphQL query away.

Powering holder data forCoinMarketCap logoNansen logoLukka logoChainalysis logo
EVM.HoldersThe largest wallets holding any ERC-20 token right now, ranked by balance.Docs
top_holders.graphqlCopy
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"}) }
    }
  }
}
responseSTREAMING
HolderTokenBalance
200 · GraphQL · 240msgraphql.bitquery.io
Trusted by 40,000+ developers & teams like
Binance logoChainalysis logoTRM Labs logoNansen logo0x logoCoinMarketCap logoCoin Metrics logoBybit logoLukka logo3Commas logoNexo logoTether logo
40+
Chains supported
1PB+
Blockchain data indexed
10B+
API calls / month
99.9%
Production uptime
01
Forget scanning every Transfer log

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 the first mint, 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.

What you're doing
Build it yourself
Bitquery Holders API
A token's full holder list
Replay every Transfer & net balances
A single GraphQL query
Holder count over time
Snapshot and store it daily yourself
Counts at any timestamp, built in
Distribution metrics
Compute Gini & Nakamoto in your app
Gini, Nakamoto & Theil in the query
Solana and EVM holders
Two stacks, two schemas
One schema across chains
Point-in-time snapshots
Maintain an archive node per chain
Filter by date, no node to run
NFT collection holders
Decode ERC-721 / 1155 transfers
Decoded for every token standard
02
Delivery channels

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.

03
Token standard coverage

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.

StandardTypeWhat you get
20ERC-20Fungible · EVMFull holder lists, counts and balances for any fungible token across 40+ EVM chains
721ERC-721NFT · EVMPer-collection holders and ownership for non-fungible tokens and PFP collections
1155ERC-1155Multi-token · EVMHolders and balances for semi-fungible and multi-token edition contracts
SPLSPL TokenFungible · SolanaSPL holders aggregated from balance updates — meme coins, stablecoins and more
+ Holders across Ethereum, BSC, Base, Arbitrum, Polygon, Solana & 40+ chains
05
Build it this weekend

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 WebSocket or gRPC on self-service (fixed-cost Kafka on Enterprise) for alerts.

gRPC · Kafka

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.

Holders {
  uniq(if: { Balance: { Amount: { gt: "10000000" } } })
}
Read the docs
GraphQL

Holder-growth dashboard

Run the distinct-holder count at a series of timestamps to chart adoption and retention for any token over time.

Holders
  where: { Balance: { LastChangeTime: { till: "2026-06-01T00:00:00Z" } } }
  uniq(of: Holder_Address)
Read the docs
GraphQL

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.

Holders {
  Holder { Address }
  Balance { Amount(selectWhere: { gt: "0" } }) }
}
Read the docs

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."

A
Alexander Karsten
Nansen
40+
Chains with holder data, one schema
Gini/Nakamoto
Distribution metrics built into the query
Point-in-time
Historical holder snapshots by date

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.

0x Protocol logo
Alex Knaggs
0x Protocol

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.

Director, Binance X logo
Flora Sun
Director, Binance X

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.

Backend Developer, Blockpit logo
Jan Dreske
Backend Developer, Blockpit

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.

Co-Founder, Syla logo
Nick Christie
Co-Founder, Syla

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.

Ourbit logo
Data Team
Ourbit

Bitquery provides the infrastructure we rely on every day. Fast, reliable, and comprehensive across the chains that matter to our business.

Webacy
Webacy
webacy.com

Pricing

Start free. Scale when you ship.

Self-service plans cover 9 core chains with flat-rate add-ons — no surprise invoices. Every paid plan starts with a 7-day free trial.

Personal

For side projects, learning & testing. Personal use only — no commercial use.

$39/ month

billed annually ($468/yr) · save 20%

+ Add-on points anytime · $40 / 1M
  • 100k API points / mo ≈ 20k calls
  • 30 req/min · 3 simultaneous
  • Full GraphQL & REST schema
  • Real-time data · 9 core chains 30-day trades · 4–8h on-chain
  • API only — no streams
  • Community support
Start free trial

Pro

For trading bots, alerts & dashboards on live DEX and price data.

$79/ month

billed annually ($948/yr) · save 20%

+ Flat-rate add-ons — points, minutes & GB
  • 1M API points / mo ≈ 200k calls
  • 90 req/min · 6 simultaneous
  • 100k stream-minutes + 5 GB
  • 100 concurrent streams
  • Trading-data streams live DEX & prices
  • Commercial-use license
  • Real-time data · 9 core chains 30-day trades · 4–8h on-chain
  • Community + Telegram support
Start free trial
Most popular

Scale

For production real-time apps — every stream, scale on demand.

$239/ month

billed annually ($2,868/yr) · save 20%

+ Flat-rate add-ons — points, minutes & GB
  • 5M API points / mo ≈ 1M calls
  • 240 req/min · 12 simultaneous
  • 2M stream-minutes + 50 GB
  • 1,000 concurrent streams
  • All streams onchain + mempool
  • Commercial-use license
  • Dedicated Slack support
Choose Scale →

Enterprise

Full history, unlimited streams & bulk delivery at scale.

Custom

flat platform fee — no metering

◆ Flat platform fee — modelled, not metered
  • Complete history · 40+ chains
  • Unlimited WebSocket streaming no stream-min or GB limit
  • Custom points & rate limits
  • Kafka fixed-cost · S3 bulk export
  • Coinpath® money flow
  • SLA · SSO · dedicated support
Talk to sales

Flat-rate add-ons on every open plan: $40 / 1M points · $20 / 100k stream-minutes · $8 / GB (bought yearly · save 20%) — same price at any volume, billed only for what you add.

FAQ

Token holder data questions, answered.

How do I get the top holders of a token?
Query the Holders dataset on the EVM API with dataset: combined, filter by the token's Currency.SmartContract and order by Balance_Amount descending. You get each holder address and its non-zero balance in a single GraphQL query on 9 core chains (40+ on Enterprise).
Can I get historical holder counts over time?
Yes. Count distinct addresses with uniq(of: Holder_Address) and constrain Balance.LastChangeTime with a till timestamp. Run it at a series of dates to build a holder-count time series for adoption and retention charts.
What distribution metrics are available?
The holder statistics support wealth-distribution metrics including the Gini coefficient, Nakamoto index, Theil index, total supply, unique holders and top-N concentration — computed server-side so you don't have to aggregate balances yourself.
Do you support Solana SPL token holders?
Yes. Solana SPL holders are aggregated from Solana.BalanceUpdates — filter by the token MintAddress and take the latest PostBalance per owner to get current holders and balances for any mint.
Can I track holder changes in real time?
Yes. Subscribe to balance updates over WebSocket or gRPC on self-service (fixed-cost Kafka on Enterprise) to catch inflows and outflows the moment they land on-chain — ideal for whale-alert bots, watchlists and live holder dashboards.
Which token standards and chains are supported?
ERC-20, ERC-721 and ERC-1155 on 40+ EVM chains — including Ethereum, BSC, Base, Arbitrum and Polygon — plus SPL tokens on Solana, all from one schema. NFT collection holders and multi-token contracts are decoded the same way as fungible tokens.

Ship your holder analytics this week.

7-day free trial — 9 core chains on self-service — no node to run. Query top holders, holder counts and distribution metrics in your first call.

7-day free trial · Plans from $49/mo · 9 core chains on self-service