Skip to main content
GET
/
polymarket
/
trader
/
pnl
/
{address}
/
exits
Get trader position exits
curl --request GET \
  --url https://api.struct.to/v1/polymarket/trader/pnl/{address}/exits
[
  {
    "t": 1,
    "block": 123,
    "condition": "<string>",
    "position": "<string>",
    "event_slug": "<string>",
    "market_slug": "<string>",
    "title": "<string>",
    "question": "<string>",
    "image_url": "<string>",
    "outcome": "<string>",
    "category": "<string>",
    "pnl_usd": 123,
    "pnl_pct": 123,
    "cost_basis_usd": 123,
    "outcome_index": 1
  }
]

Path Parameters

address
string
required

Trader wallet address

Query Parameters

timeframe
enum<string>

Default: lifetime

Available options:
1d,
7d,
30d,
lifetime
from
integer<int64>

Start unix seconds. Overrides the timeframe lower bound.

to
integer<int64>

End unix seconds

reason
enum<string>

Return only exits with this reason Reason a position closed: a 2×2 of resolved-vs-sold and win-vs-loss.

Available options:
resolved_win,
resolved_loss,
sold_win,
sold_loss
category
enum<string>

Return only exits in this market category Polymarket UI category.

Available options:
Politics,
Sports,
Crypto,
Finance,
Culture,
Mentions,
Weather,
Economics,
Tech
count_back
integer<int32>

Maximum exits to return. Default 500, max 2500.

limit
integer<int32>

Alias for count_back. Default 500, max 2500.

sort_by
enum<string>

Sort field. Default exit_time. Sort field for trader position exits.

Available options:
exit_time,
pnl_usd,
pnl_pct,
cost_basis_usd
sort_direction
enum<string>

Sort direction for sort_by. Default desc.

Available options:
asc,
desc
profitability
string

Shortcut: highest or lowest. Sorts by pnl_pct desc/asc.

min_pnl_usd
number<double>

Minimum realized PnL USD to include.

max_pnl_usd
number<double>

Maximum realized PnL USD to include.

min_pnl_pct
number<double>

Minimum realized PnL percent to include.

max_pnl_pct
number<double>

Maximum realized PnL percent to include.

offset
integer<int32>

Offset for ranked sort pagination. Max 3500.

pagination_key
string

Cursor from a previous response

Response

200 - application/json

Trader position exits

t
integer<int64>
required

Exit time in unix seconds.

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

Block number the exit was recorded at.

condition
string
required

Market condition id.

position
string
required

Outcome token id.

event_slug
string
required

Event slug.

market_slug
string
required

Market slug.

title
string
required

Market title.

question
string
required

Market question.

image_url
string
required

Market image URL.

outcome
string
required

Outcome name.

category
string
required

Polymarket top-level category (e.g. "Politics"). Empty when the market's tags hadn't resolved to a category at exit time.

pnl_usd
number<double>
required

Realized PnL in USD for the position at exit.

pnl_pct
number<double>
required

Realized PnL percent for the position at exit.

cost_basis_usd
number<double>
required

Amount paid into the position, in USD.

reason
enum<string>
required

Why the position closed.

Available options:
resolved_win,
resolved_loss,
sold_win,
sold_loss
outcome_index
integer<int32> | null

Outcome index within the market, when known.

Required range: x >= 0
Last modified on June 13, 2026