Skip to main content
GET
Get Trade History

Authorizations

X-API-Key
string
header
required

Issue from /v1/keys (or admin-issued for enterprise tier).

Headers

X-API-Key
string | null

Your PolySimulator API key

POLY_API_KEY
string | null

Polymarket-CLOB-compat alias for X-API-Key (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. X-API-Key takes precedence when both are provided.

Poly-API-Key
string | null

PM-CLOB-compat dashed-form alias for X-API-Key. Same value semantics as POLY_API_KEY but with HTTP-conventional dash separators. Both spellings are accepted end-to-end.

authorization
string | null

PM-CLOB-compat: Authorization: Bearer ps_live_... (or ps_test_...) is accepted as an alias for X-API-Key so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.

Query Parameters

limit
integer
default:50
Required range: 1 <= x <= 200
offset
integer
default:0
Required range: x >= 0
side
string | null

Filter by BUY or SELL

market_id
string | null

Filter by market

wallet_id
string | null

Wallet scope: an integer wallet id you own (404 WALLET_NOT_FOUND otherwise; MAIN/API wallet ids fold in legacy rows recorded before per-wallet attribution, matching /portfolio), 'all' (every wallet you own, including UI MAIN/SANDBOX wallets), or 'api' (your API wallet — includes legacy pre-attribution rows). Keywords are case-insensitive; any other value returns 422 VALIDATION_FAILED. Default (omitted) = 'api' since 2026-06-10, matching /balance, /portfolio and /equity; before 2026-06-10 the default was all-wallets — pass wallet_id=all to keep the old behaviour.

envelope
boolean
default:false

When true, wrap the response in a PM-shape {data, next_cursor} envelope. Default false returns the bare array for back-compat with existing polysim SDK consumers. PM-ported SDKs should set this to true. next_cursor carries the next offset value as a string (PM convention) when more rows likely exist (full page returned), else "".

Response

Successful Response

order_id
integer
required
market_id
string
required
side
string
required
outcome
string
required
price
string
required
quantity
string
required
notional
string
required
fee
string
required
status
string
required
price_source
string | null
price_age_ms
integer | null
filled_at
string | null
created_at
string | null