Prediction markets API
Prediction-market traders ranked by profit or volume
Who is winning on prediction markets right now: the leading traders by realized profit or volume over a day, week or month, with their win rate, lifetime record and bot labels.
/api/external/prediction/prediction-tradersWhat it returns
A market-wide leaderboard across every prediction-market trader this endpoint covers — no chain and no subject in the request at all. Each row carries the trader id (use it with prediction-trader, prediction-trader-bars, prediction-trader-markets and prediction-trader-positions), its wallet, alias and behaviour labels, its figures over the chosen window, and its lifetime profit, volume and trade count. Only venues that settle on-chain expose traders. Rank with sort_by and sort_type, page with limit and offset; there is no total, so a page shorter than limit is the last one.
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-traders"
| Parameter | Description |
|---|---|
windowquery · string · optional | Which window the ranking and the per-window figures cover. Defaults to the week.day1week1month1 |
sort_byquery · string · optional | Which figure of the window to rank by. Defaults to realized profit.realizedPnlUsdvolumeUsd |
sort_typequery · string · optional | Sort direction. Defaults to descending, so realizedPnlUsd leads with the biggest winners and ASC with the biggest losers.ASCDESC |
limitquery · integer · optional | How many rows to return. Defaults to 10; this endpoint caps it at 25. |
offsetquery · integer · optional | 0-based row offset, for paging through the ranking. At most 1000000. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
window | string | The window the figures cover, as the source names it: 24h, 1w or 1m. |
traders | object[] | One row per trader, in the ranked order. |
traders[].traderId | string | The trader id the other prediction trader endpoints take, e.g. <wallet>:Polymarket. |
traders[].wallet | string | null | The trader's wallet address at the venue. |
traders[].alias | string | null | The public name the trader chose. Null when they set none. |
traders[].labels | string[] | Behaviour labels, e.g. market-maker or high-frequency-bot. An open set, empty when the trader carries none. |
traders[].realizedPnlUsd | number | null | Profit realized in the window, in USD. Negative for a loss. |
traders[].volumeUsd | number | null | Bought plus sold in the window, in USD. |
traders[].trades | number | null | |
traders[].markets | number | null | How many different markets the trader traded in the window. |
traders[].wins | number | null | Results counted as won in the window. Not every trade is counted as a win or a loss. |
traders[].losses | number | null | Results counted as lost in the window. |
traders[].winRate | number | null | wins / (wins + losses), from 0 to 1. Null when nothing in the window was counted as a win or a loss. |
traders[].allTimeProfitUsd | number | null | Lifetime profit, in USD. Negative for a net loss. |
traders[].allTimeVolumeUsd | number | null | Lifetime volume, in USD. |
traders[].allTimeTrades | number | null | Every trade the trader ever made. |
traders[].activeMarkets | number | null | How many markets the trader is currently counted as active in. |
traders[].lastTradeTimestamp | number | null | Unix seconds of the trader's last trade, in any window. Null when there is none. |
traders[].updatedAt | number | null | Unix seconds the row was last refreshed. |
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