Get wallet open positions

/v4/data/prediction/wallets/{address}/positions

100 credits per API call

Current open positions held by a wallet — one row per outcome token, with unrealised PnL, current value, lifetime cost basis, and the parent market's question, slug and outcome metadata. Useful for "what's in my portfolio right now" views and per-market drill-downs.

Platform support

  • Polymarket only. Kalshi wallets return 400.

Filtering, sorting and pagination

  • market scopes the response to a comma-separated list of

    condition ids (0x + 64 hex), up to 50 entries.

  • eventId scopes the response to a comma-separated list of

    Polymarket numeric event ids, up to 50 entries. Mutually exclusive with
    market — passing both returns 400.

  • sizeThreshold filters out positions smaller than the given

    size. Defaults to 1; pass 0 to include dust.

  • redeemable=true returns positions on resolved markets that

    the wallet has won but has not yet redeemed. mergeable=true
    returns positions eligible for merging back to USDC. Both default to
    false.

  • sortBy accepts CURRENT, INITIAL, TOKENS, CASHPNL, PERCENTPNL, TITLE, RESOLVING, PRICE, AVGPRICE. Defaults to TOKENS. Combine with sortDirection (ASC / DESC, defaults to DESC).
  • title filters by a substring of the market question.
  • Pagination is offset-based — limit (1..500, default 100) and offset (0..10000, default 0).

Other notes

  • address is normalised to lowercase before being echoed in the

    response (every row's proxyWallet).

  • negativeRisk indicates whether the parent market is part of

    Polymarket's negative-risk grouping (e.g. multi-candidate winner-take-all
    markets).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Wallet address (0x + 40 hex). Kalshi addresses return 400.

Query Params
string

Comma-separated list of condition ids (0x + 64 hex) to scope the response
to. Up to 50 entries. Mutually exclusive with eventId.

string

Comma-separated list of Polymarket numeric event ids to scope the response
to. Up to 50 entries. Mutually exclusive with market.

number
≥ 0
Defaults to 1

Minimum position size to include. Defaults to 1; pass 0 to include
dust positions.

boolean
Defaults to false

When true, returns positions on resolved markets that the wallet has won
but has not yet redeemed. Defaults to false.

boolean
Defaults to false

When true, returns positions eligible for merging back to USDC.
Defaults to false.

string
enum

Sort key. Defaults to TOKENS.

string
enum

Sort direction. Defaults to DESC.

Allowed:
string
length ≤ 100

Filter rows where the market question contains this substring.

integer
1 to 500
Defaults to 100

Page size. Defaults to 100.

integer
0 to 10000
Defaults to 0

Page offset. Defaults to 0.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json