Skip to main content
GET
/
polymarket
/
trader
/
pnl
/
{address}
Get trader PnL summary
curl --request GET \
  --url https://api.struct.to/v1/polymarket/trader/pnl/{address}
{
  "trader": {
    "address": "<string>",
    "name": "<string>",
    "pseudonym": "<string>",
    "profile_image": "<string>",
    "x_username": "<string>",
    "verified_badge": true
  },
  "pnl_usd": 123,
  "events_traded": 123,
  "markets_traded": 123,
  "markets_won": 123,
  "markets_lost": 123,
  "market_win_rate_pct": 123,
  "total_volume_usd": 123,
  "buy_volume_usd": 123,
  "sell_volume_usd": 123,
  "redemption_volume_usd": 123,
  "merge_volume_usd": 123,
  "total_buys": 123,
  "total_sells": 123,
  "total_redemptions": 123,
  "total_merges": 123,
  "total_trades": 123,
  "total_fees": 123,
  "avg_pnl_per_market": 123,
  "avg_pnl_per_trade": 123,
  "avg_hold_time_seconds": 123,
  "best_trade_pnl_usd": 123,
  "best_trade_condition_id": "<string>",
  "worst_trade_pnl_usd": 123,
  "worst_trade_condition_id": "<string>",
  "first_trade_at": 123,
  "last_trade_at": 123
}

Path Parameters

address
string
required

Trader wallet address

Query Parameters

timeframe
enum<string>

Timeframe: 1d, 7d, 30d, lifetime (default: 7d)

Available options:
1d,
7d,
30d,
lifetime

Response

Trader's global PnL summary

Individual trader entry in the global PnL leaderboard

trader
object
required

Trader profile info - backwards compatibility

pnl_usd
number<double> | null
events_traded
integer<int64> | null
markets_traded
integer<int64> | null
markets_won
integer<int64> | null
markets_lost
integer<int64> | null
market_win_rate_pct
number<double> | null
total_volume_usd
number<double> | null
buy_volume_usd
number<double> | null
sell_volume_usd
number<double> | null
redemption_volume_usd
number<double> | null
merge_volume_usd
number<double> | null
total_buys
integer<int64> | null
total_sells
integer<int64> | null
total_redemptions
integer<int64> | null
total_merges
integer<int64> | null
total_trades
integer<int64> | null
total_fees
number<double> | null
avg_pnl_per_market
number<double> | null
avg_pnl_per_trade
number<double> | null
avg_hold_time_seconds
number<double> | null
best_trade_pnl_usd
number<double> | null
best_trade_condition_id
string | null
worst_trade_pnl_usd
number<double> | null
worst_trade_condition_id
string | null
first_trade_at
integer<int64> | null
last_trade_at
integer<int64> | null
Last modified on March 17, 2026