TypeScript SDK — Predictions: Combos
Create and query combo instruments — bundles of prediction market contracts traded as a single unit. All methods are on client.predictions.
Availability — Combo endpoints are not currently enabled in production. They are available in the sandbox environment for testing.
createCombo
POST /v1/prediction-markets/combos · Authenticated
Create a new combo instrument from 2–6 contract legs. Each leg specifies a contractId (decimal string of the numeric contract ID) and a requiredOutcome ("Yes" or "No" — capitalized). This is a POST mutation — never automatically retried. The request body is validated client-side.
Code
Validated fields per leg:
| Field | Rule | Required |
|---|---|---|
contractId | string only — the SDK validates it as a string, not a numeric value (passing a number will fail validation) | Yes |
requiredOutcome | "Yes" or "No" (capitalized) | Yes |
Validated — The
legsarray must contain 2–6 items. The SDK validates each leg locally and throwsValidationErroron mismatch before making a network call. See Request Validation.
Tip — Response fields
combo.id,combo.instrumentId, andcombo.legs[*].comboIdarebigint. See Data Types.
getComboByInstrumentSymbol
GET /v1/prediction-markets/combos/{instrumentSymbol} · Public
Look up a combo by its instrument symbol. Returns a ComboResponse with a contract metadata object and a legs array.
Code
Tip —
legs[*].comboIdvalues arebigint.
Auto-retry — This GET endpoint automatically retries on 429/502/503/504 status codes.
listCombos
GET /v1/prediction-markets/combos · Public
List available combos with optional filters. Returns a ListCombosResponse with a .combos array and a .pagination object.
Code
Tip — The
statusfilter value is capitalized (e.g."Active", not"active"). ThecontractIdfilter is a numeric ID (bigint), not a ticker string.
Auto-retry — This GET endpoint automatically retries on transient failures.
What's next
- Events & Discovery — browse and search prediction market events
- Order Management — place, cancel, and query orders
- Positions & Terms — open and settled positions, terms acceptance
- Data Types — why
combo.idandcontractIdarebigint - Request Validation — how client-side validation works