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.

GET/api/external/prediction/prediction-traders

What 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"
Parameters
ParameterDescription
window

query · string · optional

Which window the ranking and the per-window figures cover. Defaults to the week.day1week1month1
sort_by

query · string · optional

Which figure of the window to rank by. Defaults to realized profit.realizedPnlUsdvolumeUsd
sort_type

query · string · optional

Sort direction. Defaults to descending, so realizedPnlUsd leads with the biggest winners and ASC with the biggest losers.ASCDESC
limit

query · integer · optional

How many rows to return. Defaults to 10; this endpoint caps it at 25.
offset

query · 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.

Response fields of Prediction-market traders ranked by profit or volume
FieldTypeDescription
windowstringThe window the figures cover, as the source names it: 24h, 1w or 1m.
tradersobject[]One row per trader, in the ranked order.
traders[].traderIdstringThe trader id the other prediction trader endpoints take, e.g. <wallet>:Polymarket.
traders[].walletstring | nullThe trader's wallet address at the venue.
traders[].aliasstring | nullThe public name the trader chose. Null when they set none.
traders[].labelsstring[]Behaviour labels, e.g. market-maker or high-frequency-bot. An open set, empty when the trader carries none.
traders[].realizedPnlUsdnumber | nullProfit realized in the window, in USD. Negative for a loss.
traders[].volumeUsdnumber | nullBought plus sold in the window, in USD.
traders[].tradesnumber | null
traders[].marketsnumber | nullHow many different markets the trader traded in the window.
traders[].winsnumber | nullResults counted as won in the window. Not every trade is counted as a win or a loss.
traders[].lossesnumber | nullResults counted as lost in the window.
traders[].winRatenumber | nullwins / (wins + losses), from 0 to 1. Null when nothing in the window was counted as a win or a loss.
traders[].allTimeProfitUsdnumber | nullLifetime profit, in USD. Negative for a net loss.
traders[].allTimeVolumeUsdnumber | nullLifetime volume, in USD.
traders[].allTimeTradesnumber | nullEvery trade the trader ever made.
traders[].activeMarketsnumber | nullHow many markets the trader is currently counted as active in.
traders[].lastTradeTimestampnumber | nullUnix seconds of the trader's last trade, in any window. Null when there is none.
traders[].updatedAtnumber | nullUnix 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