Skip to main content
GET
/
api
/
v1
/
traders
/
{trader}
/
position-timeline
cURL
curl -sS \
  -H 'Authorization: Bearer $OXI_SK' \
  'https://api.0xinsider.com/api/v1/traders/{id}/position-timeline'
{
  "object": "list",
  "data": [],
  "has_more": false,
  "next_cursor": null,
  "total": 0,
  "meta": {
    "request_id": "req_example",
    "cached": false
  }
}
Per-market fill history for one trader, newest first, with a server-computed running_amount and running_avg_price on each fill so you can see how a position was built or unwound without recomputing it client-side. Polymarket fills only. {trader} accepts all four identity shapes, resolved by a single shared trader-identity resolver:
  • a 0x... wallet address
  • a username
  • a trd_-prefixed trader id
  • a bare integer traders.id (use this when you are paging other API responses and already hold the numeric id)
condition_id is required: one timeline per (trader, market).
curl -H "Authorization: Bearer $OXINSIDER_API_KEY" \
  "https://api.0xinsider.com/api/v1/traders/0x863134d00841b2e200492805a01e1e2f5defaa53/position-timeline?condition_id=0xabc..."
Only HOT and WARM tier traders are tracked; other traders return 404. The body is byte-identical to the wallet-keyed Get Position Timeline for the same (trader, market). Cursor-paginated: pass next_cursor as cursor. Send If-None-Match with a prior ETag to get 304 Not Modified when nothing changed.

Authorizations

Authorization
string
header
required

API key: Authorization: Bearer oxi_sk_live_... for live data (requires an active Insider subscription), or oxi_sk_test_... for sandbox/test mode (free account, deterministic fixture data, no live rows). Both key classes use the same paths; the prefix selects live vs sandbox.

Headers

If-None-Match
string

Conditional GET validator from a previous ETag. Matching values return 304 Not Modified with an empty body.

Path Parameters

trader
string
required

Trader identity: 0x... wallet address, username, trd_-prefixed trader id, or bare integer traders.id. Resolved with precedence wallet -> trd_ -> integer -> username. Unknown identities return 404.

Query Parameters

condition_id
string
required

Market condition_id. One timeline per (trader, market).

limit
integer
default:20
Required range: 1 <= x <= 100
cursor
string

Pagination cursor from previous response's next_cursor.

Response

Position timeline page

object
string
required
Allowed value: "list"
data
object[]
required
has_more
boolean
required
meta
object
required
next_cursor
string | null