Parameters
string
required
The wallet to look up:
0x followed by 40 hex characters, in any case.string
Comma-separated outcome token IDs. Only return positions in these tokens.
string
default:"0"
Only return positions whose
amount is greater than this value, in the same raw units as amount. The default leaves out closed positions.boolean
default:"false"
Set to
true to also return closed positions, whose amount is zero. When true, min_amount is ignored.string
default:"amount_desc"
amount_desc, amount_asc, realized_pnl_desc, or last_updated_at_desc. Ties are broken by token_id, ascending. A null value sorts as zero, but comes back as null.integer
default:"100"
Rows per page, up to
500. See pagination.string
The
next_cursor from a previous response. Use the same sort as the request that returned it.Response
object[]
One entry per outcome token the wallet has a position in, in
sort order.integer
The page size used for this response.
string | null
Pass it as
cursor to get the next page. null on the last page.How the data behaves
- Numbers are raw strings.
amount,avg_price,realized_pnl, andtotal_boughtcome back as strings in raw units of 10^6, so no precision is lost. Divide by 1,000,000 before you show them. Activity is different: it returns plain JSON numbers already in shares and USDC. - A position isn’t a balance.
amountis the net position from trades. The Balances feed returns the outcome tokens the wallet actually holds, which splits, merges, redeems, and plain transfers also change. The two can differ for the same token. - Positions are current. You can’t ask for a wallet’s positions at a past block. Responses carry
Cache-Control: public, max-age=2. - PnL is realized only.
realized_pnldoesn’t include gains or losses on shares the wallet still holds.
Errors
This endpoint returns the same errors as the other feeds. It returns400 BAD_REQUEST when address is missing or isn’t 40 hex characters, when sort isn’t one of the values above, or when cursor was issued for a different sort.