Workflow overview
Find a trader on the leaderboard
Use the Leaderboard endpoint to identify a trader whose stats interest you. Note their wallet
address.Fetch their profile
Pull multi-timeframe stats and top market categories with
GET /v1/traders/:address.Browse their market history
List every market they have traded with
GET /v1/traders/:address/markets.1. Trader profile
GET /v1/traders/:address
Returns the trader’s metadata, their strongest market categories (top_tags), and aggregate performance stats across six time windows: t_1h, t_4h, t_1d, t_3d, t_7d, t_30d.
Profile response fields
| Field | Description |
|---|---|
profile.address | EVM wallet address. |
profile.name | Display name on Polymarket. |
profile.last_trade_at | Timestamp of the trader’s most recent order. |
top_tags | Array of market categories ranked by PNL, each with slug, pnl, roi, win_rate, markets_count, maker_volume, taker_volume. |
stats.t_1h … stats.t_30d | Performance snapshot for each window: pnl, volume, roi, win_rate, markets_count, wins_count, maker_volume, taker_volume. |
2. Trader markets
GET /v1/traders/:address/markets
Lists every market the trader has been active in, with per-market PNL, ROI, and volume. Use the is_active filter to focus on open positions.
| Parameter | Description |
|---|---|
limit | Markets per page. Default: 20, max: 100. |
offset | Pagination offset. |
is_active | true returns only unresolved markets; omit to include both active and resolved. |
Market history fields
Each entry inhistory contains:
| Field | Description |
|---|---|
market.id | Numeric market ID — use this to fetch orders. |
market.question | Human-readable market title. |
market.tags | Category tags (e.g. ["sports", "basketball"]). |
market.resolved_at | ISO timestamp when the market resolved, or empty string if still active. |
market.winning_outcome | Winning side once resolved; empty string otherwise. |
pnl | Trader’s profit/loss in micro-USDC for this market. |
roi | Return on investment for this market as a percentage. |
volume | Total USDC traded by this trader in this market (micro-USDC). |
last_trade_at | Timestamp of the trader’s last order in this market. |
3. Trader market orders
GET /v1/traders/:address/markets/:id/orders
Returns every individual fill for the trader in the specified market. This is where you can see exactly what price they paid, how many shares they bought or sold, and whether they were taking or making liquidity.
Order fields
| Field | Type | Description |
|---|---|---|
time | string | ISO timestamp of the fill. |
side | string | BUY or SELL. |
outcome | string | Which outcome was traded (e.g. "Rockets"). |
price | string | Execution price in micro-USDC (divide by 1e6; range 0–1). |
shares | string | Number of outcome shares in micro-shares (divide by 1e6). |
usdc | string | USDC value of the fill in micro-USDC (divide by 1e6). |
is_taker | bool | true if the trader initiated the fill (market order); false if their limit order was filled. |
fill_count | int | Number of counter-orders matched in this fill. |
order_hash | string | On-chain order hash for cross-referencing. |
token_id | string | ERC-1155 token ID representing the outcome share. |