Query every trade ever executed on Polymarket. Filter by wallet, market, time range, or minimum size. Full history with cursor pagination.
| Parameter | Type | Required | Description |
|---|---|---|---|
wallet | string | No | Filter by wallet address (matches both maker and taker sides) |
market_slug | string | No | Filter by market slug (e.g. will-zohran-mamdani-win-the-2025-nyc-mayoral-election) |
condition_id | string | No | Filter by condition ID (0x-prefixed, 64 hex chars) |
token_id | string | No | Filter by outcome token ID |
start_time | integer | No | Unix timestamp — only return trades after this time |
end_time | integer | No | Unix timestamp — only return trades before this time |
min_total | number | No | Minimum trade size in USD |
limit | integer | No | Results per page (1-500, default 100) |
order | string | No | Sort by timestamp: desc (newest first, default) or asc (oldest first). Using asc without any filter returns an error. |
pagination_key | string | No | Cursor from a previous response to fetch the next page |
market_slug — the human-readable URL slug from Polymarket (e.g. will-zohran-mamdani-win-the-2025-nyc-mayoral-election). Easiest to use.condition_id — the unique condition identifier for a market. Returns trades for all outcomes (Yes and No).token_id — the specific outcome token. Returns trades for only that outcome.wallet to find a specific wallet’s trades on a specific market.
| Field | Type | Description |
|---|---|---|
timestamp | number | Unix timestamp of the fill |
tx_hash | string | Polygon transaction hash |
order_hash | string | CLOB order hash that was filled |
maker | string | Maker wallet address |
taker | string | Taker wallet address |
token_id | string | Outcome token ID |
price | number | Fill price (0 to 1) |
amount_usd | number | Trade size in USD |
fee_usd | number | Fee paid in USD |
shares | number | Number of outcome shares traded |
side | string | "maker" or "taker" — only present when filtering by wallet |
market | string | Market question text |
market_slug | string | Market URL slug |
outcome | string | Outcome label (e.g. “Yes”, “No”) |
condition_id | string | Market condition ID |
image | string | null | Market image URL. null for some delisted or niche markets. |
| Field | Type | Description |
|---|---|---|
count | number | Number of trades in this response |
pagination.limit | number | Requested page size |
pagination.has_more | boolean | true if more results exist beyond this page |
pagination.pagination_key | string | Pass this as pagination_key in the next request to get the next page |
side field indicates which role the wallet played.
market_slug to get all trades on a specific market across all wallets.
condition_id to get both outcomes of a market:
min_total to find trades above a USD threshold.
start_time and end_time (Unix timestamps) to query a specific window.
pagination_key from the previous response to get the next page.
order=asc to get trades in chronological order. Requires at least one filter.
| Status | Response | Condition |
|---|---|---|
| 400 | {"error": "order=asc requires at least one filter (wallet, token_id, condition_id, market_slug, or start_time)."} | order=asc without any filter |
| 400 | {"error": "market_slug not found"} | Invalid or unknown market_slug |
| 400 | {"error": "condition_id not found"} | Invalid or unknown condition_id |
| 401 | {"error": "API key required. Pass via ?key= or x-api-key header."} | Missing API key |
| 403 | {"error": "V2 endpoints require a paid plan. See polynode.dev/pricing for details."} | Free tier key |
| 429 | {"error": "Rate limited. N req/s for your tier.", "retryAfterMs": ...} | Rate limited |
start_time to query further back.side field is only included when filtering by wallet. Without a wallet filter, there is no perspective to assign a side from.market, market_slug, outcome, condition_id, image) is enriched from our index. Very old or delisted markets may not have metadata.Filter by wallet address (matches both maker and taker sides)
Filter by market slug
Filter by condition ID
Filter by outcome token ID
Unix timestamp — only return trades after this time
Unix timestamp — only return trades before this time
Minimum trade size in USD
Results per page (1-500, default 100)
1 <= x <= 500Sort direction. asc requires at least one filter.
desc, asc Cursor from a previous response to fetch the next page
Trade results with pagination