Skip to main content
GET
Get trader category PnL

Path Parameters

address
string
required

Trader wallet address

Query Parameters

timeframe
enum<string>

Default: lifetime

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

Default: realized_pnl_usd. Includes the fee-excluded raw_* PnL metrics. Sort field for category PnL results. Includes fee-excluded (raw_*) PnL metrics.

Available options:
realized_pnl_usd,
total_pnl_usd,
unrealized_pnl_usd,
raw_total_pnl_usd,
raw_realized_pnl_usd,
raw_unrealized_pnl_usd,
raw_total_pnl_pct,
raw_realized_pnl_pct,
raw_unrealized_pnl_pct,
total_volume_usd,
buy_volume_usd,
sell_volume_usd,
redemption_volume_usd,
merge_volume_usd,
split_volume_usd,
total_converts,
total_fees,
total_buys,
total_sells,
total_splits,
total_shares_bought,
markets_traded,
markets_resolved,
markets_won,
markets_lost,
market_win_rate_pct,
avg_win_usd,
avg_loss_usd,
profit_factor,
total_wins_usd,
total_losses_usd,
best_trade_pnl_usd,
worst_trade_pnl_usd,
avg_hold_time_seconds,
buy_count,
sell_count,
redeem_count,
merge_count,
split_count,
outcomes_traded,
first_trade_at,
last_trade_at
sort_direction
enum<string>

Default: desc

Available options:
asc,
desc
limit
integer<int32>

Default 50, max 500

offset
integer<int32>

Row skip; clamped to a max of 3500. Takes precedence over pagination_key.

pagination_key
string

Cursor from a previous response

category
enum<string>

Filter to a single category Polymarket UI category.

Available options:
Politics,
Sports,
Crypto,
Finance,
Culture,
Mentions,
Weather,
Economics,
Tech

Response

Per-category PnL rows

realized_pnl_usd
number<double>
required

Realized PnL in USD.

markets_traded
integer<int64>
required

Markets traded.

Required range: x >= 0
markets_resolved
integer<int64>
required

Markets resolved.

Required range: x >= 0
markets_won
integer<int64>
required

Markets won.

Required range: x >= 0
markets_lost
integer<int64>
required

Markets lost.

Required range: x >= 0
market_win_rate_pct
number<double>
required

Market win rate percent.

avg_win_usd
number<double>
required

Average win in USD.

avg_loss_usd
number<double>
required

Average loss in USD.

profit_factor
number<double>
required

Profit factor.

total_buys
integer<int64>
required

Total buys.

Required range: x >= 0
total_sells
integer<int64>
required

Total sells.

Required range: x >= 0
total_redemptions
integer<int64>
required

Total redemptions.

Required range: x >= 0
total_merges
integer<int64>
required

Total merges.

Required range: x >= 0
total_volume_usd
number<double>
required

Total volume in USD.

buy_volume_usd
number<double>
required

Buy volume in USD.

sell_volume_usd
number<double>
required

Sell volume in USD.

redemption_volume_usd
number<double>
required

Redemption volume in USD.

merge_volume_usd
number<double>
required

Merge volume in USD.

total_fees
number<double>
required

Total fees.

total_wins_usd
number<double>
required

Total wins in USD.

total_losses_usd
number<double>
required

Total losses in USD.

avg_hold_time_seconds
number<double>
required

Average hold time seconds.

total_shares_bought
number<double>
required

Total shares bought.

buy_count
integer<int64>
required

Buy count.

Required range: x >= 0
sell_count
integer<int64>
required

Sell count.

Required range: x >= 0
redeem_count
integer<int64>
required

Redeem count.

Required range: x >= 0
merge_count
integer<int64>
required

Merge count.

Required range: x >= 0
split_count
integer<int64>
required

Split count.

Required range: x >= 0
converted_count
integer<int64>
required

Converted count.

Required range: x >= 0
converted_shares_gained
number<double>
required

Converted shares gained.

converted_shares_lost
number<double>
required

Converted shares lost.

outcomes_traded
integer<int64>
required

Outcomes traded.

Required range: x >= 0
last_block
integer<int64>
required

Last block.

Required range: x >= 0
category
string | null

Category.

trader
null | object

Trader wallet or profile.

total_pnl_usd
number<double>

Total PnL in USD.

unrealized_pnl_usd
number<double>

Unrealized PnL in USD.

realized_pnl_pct
number<double> | null

Realized PnL percent.

total_pnl_pct
number<double> | null

Total PnL percent.

total_splits
integer<int64>

Number of split transactions in the selected timeframe.

Required range: x >= 0
convert_collateral_usd
number<double>

Convert collateral in USD.

split_volume_usd
number<double>

USD collateral split into outcome tokens in the selected timeframe.

best_trade_pnl_usd
number<double> | null

Best trade PnL in USD.

best_trade_condition_id
string | null

Best trade condition ID.

worst_trade_pnl_usd
number<double> | null

Worst trade PnL in USD.

worst_trade_condition_id
string | null

Worst trade condition ID.

best_trade_metadata
null | object

Market metadata (condition_id, slug, title, question, image_url, event_slug) for the market behind the best PnL trade in this summary at this timeframe. null when no trade qualifies.

worst_trade_metadata
null | object

Market metadata for the market behind the worst PnL trade.

total_shares_sold
number<double>

Total shares sold (sells + merges; redemption shares excluded).

first_trade_at
integer<int64> | null

First trade at timestamp.

last_trade_at
integer<int64> | null

Last trade at timestamp.

Last modified on July 28, 2026