Skip to main content
Returns combo positions for a wallet. Each row includes balance, entry basis, realized/unrealized/total P&L, status, and leg metadata when available. For a combined standard + combo position list, call GET /v3/wallets/{address}/positions?include_combos=true.

Request

GET /v3/wallets/{address}/combos/positions

Query parameters

ParameterTypeDefaultDescription
market_idstringAlias for condition_id
condition_idstringCombo condition ID
position_idstringCombo position ID
statusstringopen, closed, resolved, resolved_win, resolved_loss, redeemable, redeemed, observed, or all
limitinteger100Results per page, max 300
offsetinteger0Pagination offset

Example

curl "https://api.polynode.dev/v3/wallets/0x63613e3b96f418332d43cd2af8dc321014d15907/combos/positions?limit=1"
{
  "address": "0x63613e3b96f418332d43cd2af8dc321014d15907",
  "positions": [
    {
      "position_type": "combo",
      "wallet_address": "0x63613e3b96f418332d43cd2af8dc321014d15907",
      "combo_condition_id": "0x030002fa8781d9f445d838e60524d70bf30000000000000000000000000000",
      "combo_position_id": "1356959103499736670017337806334234879289930581423500836189165811753797287936",
      "shares_balance": "0.000100",
      "entry_avg_price_usdc": "0.2285",
      "entry_cost_usdc": "0.00",
      "realized_pnl_usdc": "0.000000",
      "total_pnl_usdc": "0.000000",
      "status": "open",
      "legs_total": 3,
      "legs": [
        {
          "leg_index": 0,
          "leg_outcome_label": "Yes",
          "leg_status": "OPEN",
          "market": {
            "slug": "fifwc-ger-civ-2026-06-20",
            "event_title": "Germany vs. Cote d'Ivoire"
          }
        }
      ]
    }
  ],
  "rows_returned": 1,
  "has_more": true,
  "position_type": "combo",
  "source": "v3.wallet_combos.positions"
}

Response fields

FieldTypeDescription
combo_condition_idstringCombo condition ID
combo_position_idstringCombo ERC-1155 position ID
shares_balancestringCurrent combo share balance
entry_avg_price_usdcstringWeighted-average entry price
entry_cost_usdcstringEntry cost for current/lifetime accounting
realized_pnl_usdcstringRealized P&L
unrealized_pnl_usdcstring or nullUnrealized P&L when available
total_pnl_usdcstringRealized + unrealized P&L
statusstringCurrent combo position status
legsarrayLeg 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 returns status: "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.