Skip to main content

Documentation Index

Fetch the complete documentation index at: https://polynode.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Returns every position a wallet has ever held, enriched with market metadata, live token prices, computed unrealized P&L, settlement status, and redemption data. All amounts are in USD.

Request

GET /v3/wallets/{address}/positions

Path parameters

ParameterTypeDescription
addressstringWallet address (0x-prefixed, case-insensitive)

Query parameters

ParameterTypeDefaultDescription
statusstringallFilter: open, closed, redeemable, redeemed
sortstringpnlSort by: pnl, amount, volume, avg_price
orderstringdescSort direction: asc or desc
condition_idstringFilter by market condition ID
market_slugstringFilter by market slug
min_sizenumberMinimum position size in USD (e.g. min_size=10.0)
limitinteger100Results per page (max 1000)
offsetinteger0Pagination offset

Position statuses

StatusMeaning
openWallet holds shares in an active (unresolved) market
closedPosition fully sold before market resolved
redeemableMarket resolved, wallet still holds shares that can be redeemed
redeemedMarket resolved and shares have been redeemed

Examples

All positions

curl https://api.polynode.dev/v3/wallets/0xa9857c7bcb9bcfafd2c132ab053f34f678610058/positions?limit=1
{
  "address": "0xa9857c7bcb9bcfafd2c132ab053f34f678610058",
  "positions": [
    {
      "token_id": "56311531524793560667677947517355066819344622894461317832902534277368408457717",
      "size": 0.003332,
      "avg_price": 0.479999,
      "realized_pnl": 0.083202,
      "unrealized_pnl": 0.0,
      "total_pnl": 0.083202,
      "current_price": 0.0,
      "total_bought": 2.083332,
      "initial_value": 0.001599,
      "redeemable_payout": 0.0,
      "resolved": true,
      "price_source": "settlement",
      "status": "redeemable",
      "market": "Bitcoin Up or Down - May 13, 6:55AM-7:00AM ET",
      "slug": "btc-updown-5m-1778669700",
      "outcome": "Down",
      "outcome_index": 1,
      "opposite_asset": "75458928898922591833639657019011228747535375591777673334858165385124723756977",
      "image": "https://polymarket-upload.s3.us-east-2.amazonaws.com/BTC+fullsize.png",
      "condition_id": "0xa1118bf183058190b9b47529d94eed53d0210c65531990019c09b893cb64b73b",
      "event_slug": "btc-updown-5m-1778669700",
      "neg_risk": false,
      "market_status": "live",
      "tag_slugs": ["hide-from-new", "recurring", "up-or-down", "crypto-prices", "crypto", "bitcoin", "5M"],
      "last_trade_at": "1778670064",
      "resolved_at": "0",
      "winning_outcome_index": null,
      "won": null
    }
  ],
  "rows_returned": 1,
  "has_more": true,
  "offset": 0,
  "limit": 1,
  "elapsed_ms": 45
}

Only open positions

curl https://api.polynode.dev/v3/wallets/0x.../positions?status=open

Only redeemable (resolved but not yet claimed)

curl https://api.polynode.dev/v3/wallets/0x.../positions?status=redeemable
The redeemable_payout field shows the exact USD amount the wallet can claim.

Sort by unrealized P&L

curl https://api.polynode.dev/v3/wallets/0x.../positions?status=open&sort=unrealized&order=desc

Response fields

Position data

FieldTypeDescription
token_idstringOutcome token ID
sizenumberCurrent shares held in USD (0 if closed/redeemed)
avg_pricenumberWeighted-average entry price in USD
realized_pnlnumberRealized P&L from closed trades (USD)
unrealized_pnlnumberPaper P&L: (current_price - avg_price) * size
total_pnlnumberrealized_pnl + unrealized_pnl
current_pricenumberLatest token price (USD, from settlement, CLOB mid, or last fill)
total_boughtnumberTotal USD spent buying this position
initial_valuenumberavg_price * size at current holdings
redeemable_payoutnumberUSD claimable if redeemed now (0 for losing outcomes)
resolvedbooleanWhether the market has settled
price_sourcestringPrice source: settlement, clob_mid, v1_condition, last_fill
statusstringopen, closed, redeemable, or redeemed

Market context

FieldTypeDescription
marketstringMarket question text
slugstringMarket URL slug
outcomestringOutcome label (e.g. “Yes”, “No”, “Trump”)
outcome_indexintegerOutcome position (0 or 1)
opposite_assetstringToken ID of the other outcome in this market
imagestringMarket image URL
condition_idstringMarket condition ID
event_slugstringParent event slug
neg_riskbooleanWhether this is a neg-risk (multi-outcome) market
market_statusstringlive, closed, resolved-win, or resolved-loss
tag_slugsarrayCategory tags for this market

Timestamps and resolution

FieldTypeDescription
last_trade_atstringUnix timestamp of the most recent fill for this token
resolved_atstringUnix timestamp when the market was resolved
winning_outcome_indexintegerWhich outcome won (0 or 1), null if unresolved
wonbooleanWhether this position’s outcome won, null if unresolved

Use cases

  • Portfolio dashboard — show a trader’s open positions with live P&L and market context
  • Redemption alerts — find wallets with unclaimed payouts using ?status=redeemable
  • Performance analysis — sort by P&L to see best and worst positions
  • Copy trading — see what a wallet is currently holding with ?status=open&sort=amount