Prediction markets API

Latest trades and redemptions on one prediction market

The tape of one market: who traded which outcome, at what price and size, newest first, with redemptions once it resolves.

GET/api/external/prediction/prediction-trades/{id}

What it returns

Newest first, cursor-paged. Keep paging while nextCursor is non-null: a page can hold fewer rows than limit and still not be the last. On-chain venues report each fill once per side (a BUY row and a SELL_COUNTERPARTY row, each with its own wallet), so summing every row double-counts volume. Resolved markets add redemption rows (POSITION_REDEEMED, PAYOUT_REDEMPTION) with no outcome and no price; their amountUsd can be a real 0. Off-chain venues have no wallet, traderId or transactionHash. An unknown id answers an empty items.

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-trades/<id>"
Parameters
ParameterDescription
limit

query · integer · optional

How many rows to return. Defaults to 20; this endpoint caps it at 100. limit ≤ 50 keeps the answer under 32 KB.
cursor

query · string · optional

An opaque cursor from a previous response's nextCursor, for paging to older trades.
id

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

Response fields of Latest trades and redemptions on one prediction market
FieldTypeDescription
nextCursorstring | nullPass back as cursor to fetch older trades. Null on the last page.
itemsobject[]
items[].timestampnumber | nullUnix seconds.
items[].tradeTypestring | nulle.g. BUY, SELL_COUNTERPARTY, TRADE, POSITION_REDEEMED, PAYOUT_REDEMPTION. Open set: new values can appear.
items[].outcomeIdstring | nullThe outcome traded. Null on a redemption row.
items[].outcomeLabelstring | nulle.g. Yes, No: Buffalo. Null on a redemption row.
items[].outcomeIndexnumber | null
items[].priceUsdnumber | nullPrice per outcome share, 0 to 1.
items[].sharesnumber | nullOutcome shares traded.
items[].amountUsdnumber | nullUSD value of the row. A real 0 is possible (a losing position redeemed).
items[].walletstring | nullThe wallet on this side of the fill. Null on off-chain venues.
items[].traderIdstring | nullA trader id for the wallet, when the venue has one — the id prediction-trader-markets takes.
items[].transactionHashstring | nullNull on off-chain venues.
items[].transactionIdstring | nullThe venue's own trade id, when it has one.
items[].blockNumbernumber | null
items[].networkIdnumber | nullEVM chain id of the venue, e.g. 137. Null on off-chain venues.

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