GET /v1/trader/{proxy}/trades
Paginated trade history. Cursor-based. Paid feature (metrics_full).
Paginated trade history. Cursor-based. Paid feature (metrics_full).
API key: Authorization: Bearer pk_live_… (mint at polyrank.app/api-keys)
In: header
Path Parameters
Query Parameters
Opaque cursor from previous response.
unix ts (s or ms) or ISO-8601 lower bound.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/trader/string/trades"{ "rows": [ { "tx_hash": "string", "block_time": "string", "block_number": -9007199254740991, "condition_id": "string", "market_title": "string", "market_slug": "string", "outcome_side": "YES", "is_buy": true, "side": "maker", "price": 0, "size_shares": 0, "notional_usdc": 0, "fee_paid": 0, "status": "OPEN", "exchange_version": "string", "exchange_kind": "string" } ], "next_cursor": "string", "has_more": true, "live_fills": { "mode": "off", "state": "fresh", "newest_indexed_at": "string", "newest_live_at": "string", "newer_count": -9007199254740991, "rows": [ { "tx_hash": "string", "ts": "string", "condition_id": "string", "token_id": "string", "side": "BUY", "size_shares": 0, "price": 0, "notional_usdc": 0, "market_title": "string", "outcome": "string", "market_slug": "string", "source": "data_api_ondemand" } ], "fetch_ms": -9007199254740991, "freshness": { "as_of": "string", "age_seconds": 0, "class": "live", "source": "string" } }}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}{ "error": "string", "message": "string", "feature": "string", "field": "string", "plan": "string", "retry_after_sec": 0, "retry_after_seconds": 0, "reason": "string", "issues": [ null ], "trace_id": "string"}GET /v1/trader/{proxy}/timing-skill GET
Category × entry-timing skill grid for a trader (CH 0146). Every cell carries its own n; cells below the window floor are returned but flagged not rankable.
GET /v1/trader/{proxy} GET
Trader profile — every metric value, every percentile rank, plus display enrichment. Full-metric depth is a paid feature; Free gets the public teaser (/v1/public/trader).