Get user combo positions
Combinatorial (multi-market) positions held by a user, with per-leg breakdown. Also available at /v1/data/user//positions/combos (address from the path). Open positions with shares_balance below 0.001 are omitted (dust floor — e.g. sub-0.001 remainders left by “sell all” cashouts); resolved positions are served regardless of balance.
Query Parameters
User Profile Address (0x-prefixed, 40 hex chars)
^0x[a-fA-F0-9]{40}$"0x56687bf447db6ffa42ffe2204a05edaa20f55839"
One or more statuses, comma-separated (e.g. status=RESOLVED_WIN,RESOLVED_PARTIAL,RESOLVED_LOSS). Values are case-insensitive; any invalid member is a 400. Omit for the default listing (open positions plus resolved positions with a recorded resolution).
OPEN, PARTIAL, RESOLVED_PARTIAL, RESOLVED_WIN, RESOLVED_LOSS current_value_desc, first_entry_desc, entry_cost_desc, resolved_at_desc, updated_asc Comma-separated combo_condition_id values to filter to specific combos. These equal the market_id of isCombo rows on /activity. Omit for all of the user's combos.
Combo condition ID (0x-prefixed, 62 hex chars / bytes31). Equals the market_id (unified) / conditionId (legacy) of isCombo rows on /activity.
^0x[a-fA-F0-9]{62}$0 <= x <= 10000 <= x <= 100000Incremental-sync watermark (epoch seconds, inclusive): only rows whose updated_at is at or after this time. Positions mutate on resolution and redemption, so this catches changes a creation-time filter cannot. In sync mode (updatedAfter/updatedBefore/sort=updated_asc) every live row is returned regardless of balance, and the effective upper bound is clamped ~90s behind now (commit-visibility safety lag) — very recent rows appear on the next poll. Rows at the boundary may re-deliver: upsert by (combo_condition_id, combo_position_id).
Optional upper bound (epoch seconds, inclusive) for updated_at; clamped to the safety lag. Must be >= updatedAfter.
Opaque continuation token from a previous response's pagination.next_cursor. When present it supersedes offset (which is ignored). Invalid, tampered, or cross-endpoint tokens return 400.