Prediction Market data is currently in beta. It is actively being worked on and improved, but may be unreliable. Polymarket data is live, and Kalshi data will be added soon.At least for the time being, this endpoint requires a Growth or Enterprise plan. Learn more.
This endpoint only works with Polymarket. Token holder data is only available for Polymarket because it operates on-chain using ERC-1155 tokens on Polygon. Kalshi is a centralized exchange and does not have publicly queryable token holder information.
Example: Get top token holders for a prediction market
Example Response
Usage Guidelines
- Market ID format:
- Polymarket:
<marketAddress>:Polymarket:<exchangeAddress>:<networkId>(e.g.,0x25aa90b3cd98305e849189b4e8b770fc77fe89bccb7cf9656468414e01145d38:Polymarket:0xc5d563a36ae78145c45a50134d48a1215220f80a:137) - Kalshi:
<marketSlug>:Kalshi(e.g.,KXMVECROSSCATEGORY-S2026A4A05B370DF-F1FBA451AA9:Kalshi)
- Polymarket:
- Getting token IDs: Query a market using
predictionMarketsand retrieve theoutcomeIdsarray - each ID represents a different outcome token (e.g., Yes/No) - Token holder sorting: Results are sorted by
amountin descending order (largest holders first) - Trader profiles: The
predictionTraderfield may benullif the wallet address hasn’t been indexed as a trader (alwaysnullfor Kalshi, though Kalshi markets don’t support this endpoint) - Pagination: Returns paginated results - use
cursorfor pagination through large holder lists
Understanding Token Holder Data
- Amounts are returned as strings to preserve precision for large numbers
predictionTraderwill benullfor wallets that only hold tokens but haven’t placed trades- Results are sorted by token amount (highest balances first)
Troubleshooting Tips
Why is predictionTrader null for some holders?
Why is predictionTrader null for some holders?
The
predictionTrader field is only populated for wallets that have been indexed as active traders with trading history. Wallets that only received tokens through transfers (not trades) or very new wallets may not have an associated trader profile yet. These holders will show walletAddress and amount but have null for predictionTrader.What format is the amount field in?
What format is the amount field in?
The
amount field represents the raw token balance in the smallest unit (similar to wei for ETH). For Polymarket, these are typically 18-decimal precision numbers. To convert to a human-readable format, divide by 10^18. For example, “125000000000000000000” equals 125 tokens. Always use string parsing for precision to avoid JavaScript number overflow.Are token holders updated in real-time?
Are token holders updated in real-time?
Yes, token holder balances are updated as trades occur on the blockchain. When tokens are bought, sold, or transferred, the holder balances reflect those changes. There may be a brief delay (typically seconds to minutes) as blocks are processed and indexed.
Can I filter token holders by minimum amount?
Can I filter token holders by minimum amount?
The API returns all token holders sorted by amount (largest first). To filter by minimum amount, fetch the results and filter client-side. Since results are sorted descending, once you encounter a holder below your threshold, you can stop pagination as all subsequent holders will have smaller amounts.
How do I get holders for both outcomes in a binary market?
How do I get holders for both outcomes in a binary market?
Binary markets (Yes/No) have two outcome tokens. You need to make two separate queries - one for each
tokenId. Use the market’s outcomeIds array to get both token IDs, then query predictionTokenHolders once for outcomeIds[0] and once for outcomeIds[1].What if I want to track a specific trader's positions across markets?
What if I want to track a specific trader's positions across markets?
This query returns holders for a specific token. To see all positions for a specific trader across markets, use
predictionTraderMarketsStats with the trader’s ID (Polymarket only). That query returns per-market statistics including shares held for each outcome.Does this work for Kalshi markets?
Does this work for Kalshi markets?
No. This endpoint only works for Polymarket because Kalshi is a centralized exchange that doesn’t expose token holder information. Polymarket uses on-chain ERC-1155 tokens on Polygon, making holder data publicly queryable.