Prediction markets API
Holder balances for one outcome token of one prediction market
Who holds the outcome token, and how much. A different question from the order book: position already taken, not orders waiting to be filled.
/api/external/prediction/prediction-token-holders/{id}What it returns
Requires BOTH the market id (path) and the outcome token's own id (token_id, query) — this is a two-identifier lookup. Get token_id from an outcome's id on GET /prediction/prediction-market: either that full id or its first segment (the bare numeric token id) answers the same holders. total is null when the source's own count contradicts a non-empty items (measured: a real market answered total: 0 beside three real holders).
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/prediction/prediction-token-holders/<id>?token_id=<token_id>"
| Parameter | Description |
|---|---|
token_idquery · string · required | The outcome token id — an outcome's own id or its first segment (the bare numeric token id), never the market id in the path. |
limitquery · integer · optional | How many rows to return. Defaults to 20; this endpoint caps it at 100. |
cursorquery · string · optional | An opaque cursor from a previous response's nextCursor, for paging. |
idpath · string · required | A prediction-market id, e.g. "<marketAddress>:Polymarket:<exchangeAddress>:<networkId>" or "<slug>:Kalshi" — not a token mint or contract address, and not scoped to any chain this API otherwise supports. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
total | number | null | Total holder count, when the source's own count is not contradicted by items. |
nextCursor | string | null | Pass back as cursor to fetch the next page. Null on the last page. |
items | object[] | |
items[].walletAddress | string | null | |
items[].amount | number | null | Outcome-token balance held. |
items[].traderId | string | null | A trader id for the holder, when one has been resolved. |
items[].traderAlias | string | null |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key