Skip to main content
Each trade is the execution record of a single order — one entry per order, with per-source fill details under metadata.fills.
GET /v1/accounts/{accountId}/trades?limit=50&cursor=...
Query paramTypeDescription
predexonIdstringFilter to a single canonical outcome.
side"buy" | "sell"
fromtimestampISO 8601 lower bound on executedAt (inclusive).
totimestampISO 8601 upper bound (inclusive).
limitintMax 200. Default 50.
cursorstringOpaque pagination token.
Response
{
  "trades": [
    {
      "tradeId": "trd_a1b2...",
      "orderId": "ord_3e2b...",
      "predexonId": "px-abc123def456",
      "title": "Will Trump win the 2028 election?",
      "outcome": "Yes",
      "side": "buy",
      "size": "100",
      "averagePrice": "0.495",
      "notional": "49.50",
      "fee": "0.50",
      "executedAt": "2026-05-06T12:00:00.832Z",
      "metadata": {
        "fills": [
          { "source": "venue", "venue": "polymarket", "size": "50", "fillPrice": "0.50", "fee": "0.25", "txHash": "0xabc..." },
          { "source": "venue", "venue": "limitless", "size": "50", "fillPrice": "0.49", "fee": "0.25", "txHash": "0xdef..." }
        ]
      }
    }
  ],
  "nextCursor": null
}
Top-level fields are the aggregated summary; metadata.fills is the per-source breakdown — see Liquidity sources. Trades are immutable; each txHash is independently verifiable on the underlying chain. Results are ordered by executedAt descending (newest first). nextCursor is null on the last page.