Market Activity
The examples below assume you already have a market object. To find or fetch one, see Discover Markets.- TypeScript
- Python
- API
Given a market, read its condition and event IDs:
Recent Trades
Review the trades recently matched in a market, including their side, price, size, outcome, wallet, and timestamp. Trades are always returned in descending timestamp order (newest first).- TypeScript
- Python
- API
Call
listTrades() on a PublicClient or SecureClient.Output: Trade[]
Output: Trade[]
Open Interest
Measure the value currently held in outstanding positions for one or more markets.- TypeScript
- Python
- API
Call
fetchOpenInterest() on a PublicClient or SecureClient. Pass up
to 20 condition IDs, or omit conditionIds for the single global figure
(served as conditionId: null).Output: OpenInterest[]
Output: OpenInterest[]
Market Holders
Find the largest public holders for each outcome in a market.- TypeScript
- Python
- API
Call
listMarketHolders() on a PublicClient or SecureClient and walk
the cursor pages. pageSize applies separately to each outcome token, so
merge groups by assetId across pages. Set includePnl: true (one
condition ID, page size at most 100) to add position economics to every
holder row.Output: MetaHolder[]
Output: MetaHolder[]
Event Live Volume
Summarize activity across an event and break the volume down by market.- TypeScript
- Python
- API
Call
fetchEventLiveVolume() on a PublicClient or SecureClient. Pass
one or more event IDs; a list spans events and returns one combined
result.Output: LiveVolume
Output: LiveVolume
Market Resolution
Check a market’s resolution progress.- TypeScript
- Python
- API
Call Each row includes its
fetchResolutions() on a PublicClient or SecureClient.status and lastUpdatedAt. payouts is present
when published. No matching resolution returns an empty array.Settlement estimates
A row that is waiting on an oracle can carryexpected_settlement_time
(RFC3339 UTC) and settlement_time_basis. Both are omitted whenever no
estimate applies, including settled markets and proposals under extended
review.
Treat the value as the earliest time the row can settle, not as a deadline: a
disputed vote can roll into a later round, and a
liveness estimate can
already be in the past while the proposal awaits finalization. The SDK
Resolution types do not carry these fields yet; read them from the API
response.
Token Lookup
Resolve ERC-1155 token ids to their market, outcome and neg-risk structure, or list every token of a condition, in one call. By token id, up to 50 per call, one row per known id in request order; unknown ids are simply absent:token_id, condition_id (the 66-character id every other
route uses), structural_condition_id (the polymarket-v2 id in the same form,
null on ConditionalTokens tokens), module (v1_ctf for the ConditionalTokens
market; every other value is a polymarket-v2 module), outcome_index,
clob_index, outcome, opposite_token_id, resolved and final_price from
on-chain settlement, the market’s title, market_slug, closed, neg_risk
and neg_risk_market_id, question_index inside a neg-risk structure, and the
market’s event_id and event_slug. A request that sets both selectors, or
neither, returns 400. The response is not paginated. The TypeScript and
Python SDKs do not expose this route yet; call it over HTTP.
Trader Leaderboard
Compare trader volume and profit and loss over a selected period.- TypeScript
- Python
- API
Call
Call When called on a
A
listTraderLeaderboard() on a PublicClient or SecureClient.
window defaults to one day, category to overall, and sortBy to PnL.
Tied traders share a rank and the next rank skips.Output: TraderLeaderboardEntry[]
Output: TraderLeaderboardEntry[]
fetchTraderLeaderboardStanding() on a PublicClient or
SecureClient to read one wallet’s standing on both boards.SecureClient, user can be omitted and defaults to the
authenticated account’s wallet.Output: TraderLeaderboardStanding
Output: TraderLeaderboardStanding
null rank means the wallet is unranked on that board.Biggest Winners
Compare individual winning positions by their profit at resolution.- TypeScript
- Python
- API
Call
listBiggestWinners() on a PublicClient or SecureClient.window selects the resolution period. Each row is one position. Check
kind before using eventId, which is null for Combos.Builder Analytics
Evaluate the reach of a builder integration through its attributed trading activity.Builder Leaderboard
Compare builders by attributed volume and active users.- TypeScript
- Python
- API
Call
listBuilderLeaderboard() on a PublicClient or SecureClient.Output: BuilderStanding[]
Output: BuilderStanding[]
Builder Volume
Track attributed builder volume and active users over time.- TypeScript
- Python
- API
Call
fetchBuilderVolume() on a PublicClient or SecureClient.
interval picks the bucket width and bucketLimit counts the most recent
complete buckets (at most 90); every builder active in a bucket gets one
row.Output: BuilderVolumePoint[]
Output: BuilderVolumePoint[]