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 use these optional fields on Resolution:expectedSettlementTime is an ISO datetime string in UTC. The fields are
omitted when no estimate is available. Import ResolutionSettlementTimeBasis
from @polymarket/client to interpret the estimate:Settlement Estimates
Treat an estimate as the earliest time the market can settle, not as a deadline. A disputed vote can roll into a later voting round, and a proposal’s liveness window can already have elapsed while it awaits finalization. No estimate is available for settled markets, proposals under extended review, or markets that are still initialized or active.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[]