Skip to main content
GET
/
polymarket
/
trader
/
global_pnl
Get global leaderboard
curl --request GET \
  --url https://api.struct.to/v1/polymarket/trader/global_pnl
[
  {
    "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
  }
]

Query Parameters

timeframe
enum<string>

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

Available options:
1d,
7d,
30d,
lifetime
sort_by
enum<string>

Sort: pnl_usd, buys, sells, redemptions, merges, avg_hold_time, markets_traded, events_traded, markets_won, volume_usd, fees, best_trade, worst_trade (default: pnl_usd)

Available options:
pnl_usd,
buys,
sells,
redemptions,
merges,
avg_hold_time,
markets_traded,
events_traded,
markets_won,
volume_usd,
fees,
best_trade,
worst_trade
sort_direction
enum<string>

Sort direction: asc, desc (default: desc)

Available options:
asc,
desc
limit
integer<int32>

Results limit (default: 10, max: 200)

pagination_key
string

Cursor-based pagination key

Response

200 - application/json

Global PnL leaderboard with trader stats. Response includes pagination: { has_more, pagination_key } for cursor-based pagination.

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