Skip to main content
GET
Get Trades
Query historical trade data with flexible filtering by market, token, wallet, and time range. All filters are optional - omit them to browse the global trade feed.
All trades mode (no filters) only supports order=desc (newest first). Using order=asc without a market or wallet filter returns HTTP 400.
Free & Unlimited. This endpoint does not count toward your monthly usage limits on any plan.

V2 fields

Every trade row now carries Polymarket exchange version metadata:
  • exchange_version - 1 (V1 CTF/NegRiskCTF) or 2 (V2). Defaults to 1.
  • builder - V2 builder attribution tag (bytes32 hex). Empty for V1 fills or V2 fills with no builder.
  • metadata - V2 opaque metadata tag (bytes32 hex). Empty for V1 fills or V2 fills with no metadata.
Use the builder query parameter to filter to fills attributed to a specific builder tag.

Multi-wallet filtering

The wallet parameter accepts a single address or a comma-separated list of up to 50 addresses:
Returns one merged feed of all listed wallets’ trades, time-ordered, with standard cursor pagination — designed for tracking a list of followed wallets. Address order doesn’t matter and duplicates are ignored: the same list in any order returns identical results and pagination keys. Trades match on the maker side, same as the single-wallet filter, and the list combines with all other parameters.

Point lookups by hash

Two optional parameters (each 0x + 64 hex chars) support full-history point lookups, back to October 2022: Usable standalone or combined with each other and with any wallet/market/time filters. Invalid hash format returns HTTP 400.

Authorizations

x-api-key
string
header
required

Query Parameters

market_slug
string | null

Filter by market slug

condition_id
string | null

Filter by condition ID

token_id
string | null

Filter by token ID

start_time
integer | null

Unix timestamp (seconds) for start

end_time
integer | null

Unix timestamp (seconds) for end

min_total
number | null

Minimum trade amount in USD

Required range: x >= 0
limit
integer
default:100

Number of trades to return

Required range: 1 <= x <= 500
wallet
string | null

Filter by wallet address(es) — single address or comma-separated list (max 50)

builder
string | null

Filter by V2 builder attribution tag (bytes32 hex, 0x + 64 hex chars)

order_hash
string | null

Filter by order hash (bytes32 hex, 0x + 64 hex chars)

tx_hash
string | null

Filter by transaction hash (bytes32 hex, 0x + 64 hex chars)

order
enum<string>
default:desc

Sort order: asc or desc

Available options:
asc,
desc
pagination_key
string | null

Cursor for pagination

Response

Successful Response

Trades endpoint response.

trades
Trade · object[]
required
pagination
CursorPagination · object
required

Cursor-based pagination for endpoints that don't support offset.