Skip to main content

Trade History

Returns your filled orders (trade history) with filtering and pagination.

Authentication

API key only — X-API-Key: <key> (or the PM-compat POLY_API_KEY / Authorization: Bearer ps_live_... aliases). A Supabase Bearer JWT is not accepted here.

Query Parameters

Default changed on 2026-06-10. Before 2026-06-10 the default (param omitted) returned filled orders across all wallets — UI MAIN/SANDBOX included. The default is now the API wallet, consistent with Balance / Portfolio / Equity Curve. Pass wallet_id=all if you depended on the old cross-wallet behaviour.

Request


Response

Orders are returned most-recent first (descending filled_at).
Polymarket parity: PolySimulator fills paper orders instantly, so the status here is the simulator’s order status (FILLED), not Polymarket’s on-chain trade lifecycle (MATCHED → MINED → CONFIRMED, with RETRYING / FAILED). There is no settlement-finality state to track for simulated trades. If you are porting a Polymarket SDK, treat FILLED as equivalent to a terminal CONFIRMED trade.
With envelope=true the rows are wrapped Polymarket-style, with a real cursor:
next_cursor is the next offset value (as a string) when a full page was returned; it is "" when the page was short (no more rows).

Errors

All errors return {"error": "<CODE>", "message": "<human-readable>"}.

Next Steps