GET /v3/wallets/{address}/positions?include_combos=true.
Request
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
market_id | string | — | Alias for condition_id |
condition_id | string | — | Combo condition ID |
position_id | string | — | Combo position ID |
status | string | — | open, closed, resolved, resolved_win, resolved_loss, redeemable, redeemed, observed, or all |
limit | integer | 100 | Results per page, max 300 |
offset | integer | 0 | Pagination offset |
Example
Response fields
| Field | Type | Description |
|---|---|---|
combo_condition_id | string | Combo condition ID |
combo_position_id | string | Combo ERC-1155 position ID |
shares_balance | string | Current combo share balance |
entry_avg_price_usdc | string | Weighted-average entry price |
entry_cost_usdc | string | Entry cost for current/lifetime accounting |
realized_pnl_usdc | string | Realized P&L |
unrealized_pnl_usdc | string or null | Unrealized P&L when available |
total_pnl_usdc | string | Realized + unrealized P&L |
status | string | Current combo position status |
legs | array | Leg metadata for the combo |
Resolution semantics
Redeemed combo positions are settled into weighted-average cost basis as soon as PolyNode observes the on-chain combo redemption. A fully redeemed winning combo returnsstatus: "RESOLVED_WIN", shares_balance: "0.000000", entry_cost_usdc: "0.00", and realized/total P&L equal to redemption payout minus entry basis. A fully redeemed losing combo returns status: "RESOLVED_LOSS" with zero open entry cost. entry_avg_price_usdc remains the historical weighted-average entry price after close.
Leg metadata is refreshed from Polymarket combo metadata. Resolved legs expose leg_status values such as RESOLVED_WIN or RESOLVED_LOSS, leg_resolved_at, and leg_current_price when available. legs_resolved and legs_pending are derived from those leg statuses.
