Get user PnL
GET /api/v1/market-data/pnl/daily and /pnl/snapshot
Returns a wallet's per-day realised PnL (net of protocol and integrator fees) and buy/sell volume buckets, newest first. Decimal fields are JSON strings. Optionally bounded to an inclusive UTC calendar-day window.
Wallet address
Window start date YYYY-MM-DD UTC inclusive (requires to)
Window end date YYYY-MM-DD UTC inclusive (requires from)
Limit (default 100, max 500)
Offset (default 0, max 10000)
OK
Bad Request
Internal Server Error
GET /api/v1/market-data/pnl/daily?user=text HTTP/1.1
Host: rest.ft.42.space/
Accept: */*
{
"data": [
{
"bucket": "text",
"buyVolume": "text",
"realizedPnl": "text",
"sellVolume": "text"
}
],
"pagination": {
"hasMore": true,
"totalResults": 1
}
}Returns a wallet's unrealised PnL (server-side 4-state fold over positions held at the timestamp: active/resolving use marginal price, resolved winners use payout, resolved losers lose cost), cumulative realised PnL net of protocol and integrator fees (daily buckets strictly before the timestamp), and open position count as of a unix timestamp (default now). Pass expand=positions to include the folded positions.
Wallet address
Snapshot unix timestamp (default now; rounded down to the minute)
Set to 'positions' to include the folded positions
OK
AsOf echoes the snapshot unix timestamp the fold was computed at.
Bad Request
Internal Server Error
GET /api/v1/market-data/pnl/snapshot?user=text HTTP/1.1
Host: rest.ft.42.space/
Accept: */*
{
"asOf": 1,
"positionCount": 1,
"positions": [
{
"avgPrice": 1,
"marginalPrice": 1,
"payout": 1,
"quantity": 1,
"questionId": "text",
"tokenId": "text"
}
],
"realizedPnl": 1,
"unrealizedPnl": 1
}Last updated