Get a trader's open/closed positions and derived performance stats
Returns a trader's positions plus performance metrics computed from a full-inventory scan — served independently of the unified profile so the Positions tab and stats panel can load on their own fetch. Positions are filtered by status (open/closed/all), sorted by current value (largest first), and paginated via limit/offset; has_more indicates another page exists in the filtered set. Market names/icons are resolved only for the returned page, so wallets holding a very large number of positions don't blow past internal query limits. performance (win rate, total PnL, volume, positions_value, etc.) is always computed over the wallet's FULL inventory, not just the returned page. include_redeemable additionally includes resolved positions still awaiting on-chain redemption. Public endpoint — no authentication required (trader data is public). Rate-limited per client IP at 30 requests/minute. Responses are cacheable at the edge.
Request
- Base URLhttps://data.kairos.trade
- Authnone required
Path parameters
Ethereum or Solana wallet address (validated/normalized as above).
Query parameters
Include resolved positions still waiting for redemption.
Provider override (polymarket, kalshi, opinion, predictfun). Auto-detected if omitted.
Max positions to return per page (sorted by value, largest first).
Number of positions to skip (pagination).
Filter the returned page by position status.
Response
Positions page plus full-inventory performance stats.
Example response
{
"wallet_address": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
"performance": {
"wallet_address": "0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
"total_realized_pnl": "1250.4382",
"total_unrealized_pnl": "300.00",
"total_pnl": "1550.4382",
"roi_percent": "12.75",
"open_positions": 4,
"closed_positions": 27,
"total_positions": 31,
"positions_value": "420.00",
"winning_positions": 18,
"losing_positions": 9,
"win_rate": 0.6667,
"total_volume": "18420.55",
"markets_traded": 12,
"profile_views": 340,
"largest_win": "512.30",
"last_updated": "2026-07-22T14:03:11Z"
},
"open_positions": [
{
"market_id": "0xabc123condition",
"market_name": "Will the Fed cut rates in September?",
"icon": "https://cdn.kairos.trade/markets/abc123.png",
"token_id": "10723948572...4",
"outcome": "YES",
"size": "150.0",
"entry_price": "0.42",
"current_price": "0.55",
"cost_basis": "63.00",
"unrealized_pnl": "19.50",
"realized_pnl": "0.00",
"provider": "polymarket"
}
],
"closed_positions": [
{
"market_id": "0xabc123condition",
"market_name": "Will the Fed cut rates in September?",
"icon": "https://cdn.kairos.trade/markets/abc123.png",
"token_id": "10723948572...4",
"outcome": "YES",
"size": "150.0",
"entry_price": "0.42",
"current_price": "0.55",
"cost_basis": "63.00",
"unrealized_pnl": "19.50",
"realized_pnl": "0.00",
"provider": "polymarket"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.