GeminiGemini
Demo environmentGet API key
  • Overview
  • Crypto Trading
  • Prediction Markets
  • Perpetuals
  • Stocks
  • API Reference
  • SDKs & Tools
Changelog
Gemini logoGemini logo

© 2026 Gemini Space Station, Inc.

Overview
Core Concepts
    Events, contracts, and outcomesCombo contracts
Market Data
    OverviewFetching Markets
    Ticker formats
      OverviewCryptoSportsSports Market TaxonomyCommoditiesWeather
Trading
    QuickstartOrder lifecycle and settlement
    Full REST reference
      Combo RFQ
        List CombosGet ComboCreate Combo
      Events
      Volume
      Terms
      Order Management
      Positions
      Rewards
    WebSocket APIs
      OverviewAuthenticationMessage format
      Streams
        Book tickerL2 partial depthL2 differential depthTrade streamOrder eventsBalance updatesPosition updatesContract statusPrediction
      Utility
      Subscriptions
      L2 Data
      Order management
      Combo RFQ
        OverviewWebSocket streamsQuote methodsMaker integrationExamples
Market Makers
    Maker Fee-Free Trading PromoTaker Rewards ProgramMaker Rebate ProgramLiquidity Rewards ProgramMarket Maker Program
Resources
    SchemasDemo environmentRate limitsErrors

List Combos

REST APIsPrediction MarketsCombosList Combos

List Combos

GEThttps://api.gemini.com/v1/prediction-markets/combos

Returns a paginated list of combo contracts. Each combo includes its full leg breakdown and per-leg resolution status. When no status filter is supplied, the endpoint returns Active combos.

Production availability

This Combo Prediction Markets endpoint is not currently enabled in production.

GETv1/prediction-markets/combos
curl --request GET \
  --url https://api.gemini.com/v1/prediction-markets/combos

Query Parameters

statusstring
Filter by combo contract status (for example, Active, Settled, or Voided). Defaults to Active when omitted.
contractIdinteger
Filter to combos that contain a specific underlying contract ID as a leg
instrumentRegisteredboolean
Filter by whether the combo has been registered with an instrument symbol
limitinteger
Maximum number of results to return (max 500)Default: 50
offsetinteger
Number of results to skip for paginationDefault: 0

Responses

Successful response

combosarray·required
List of combo contracts matching the query
combos[].contractobject·required
Metadata for the combo contract itself (ticker, status, expiry, etc.)
combos[].contract.contractIdstring
combos[].contract.contractNamestring
combos[].contract.contractTickerstring
combos[].contract.eventTickerstring
combos[].contract.eventNamestring
combos[].contract.categorystring
combos[].contract.contractStatusstring
combos[].contract.eventTypestring
Event type ("binary" or "categorical")
combos[].contract.expiryDatestring (date-time)
combos[].contract.resolvedAtstring (date-time)
combos[].contract.resolutionSidestring
Winning outcome if resolved ("yes" or "no")
combos[].contract.parentEventTickerstring
Parent event ticker for sub-events
combos[].contract.startTimestring (date-time)
Start datetime (ISO 8601)
combos[].legsarray·required
Ordered list of legs that make up this combo
combos[].legs[].comboIdinteger (int64)·required
Internal ID of the parent combo contractExample: 456
combos[].legs[].legIndexinteger·required
Zero-based position of this leg in the comboExample: 0
combos[].legs[].contractIdstring·required
Internal ID of the underlying single contract, represented as a decimal stringExample: 101
combos[].legs[].requiredOutcomestring·enum·required
The outcome this leg must settle for the combo to settle YESEnum values: YesNoExample: Yes
combos[].legs[].legOutcomestring
The outcome this leg has settled to, if resolved (`"Yes"` or `"No"`). Null while the leg is still active.Example: null
combos[].legs[].resolvedAtstring (date-time)
UTC timestamp when this leg resolved. Null while still active.Example: null
combos[].legs[].contractobject
Full metadata for the underlying single contract
combos[].legs[].contract.contractIdstring
combos[].legs[].contract.contractNamestring
combos[].legs[].contract.contractTickerstring
combos[].legs[].contract.eventTickerstring
combos[].legs[].contract.eventNamestring
combos[].legs[].contract.categorystring
combos[].legs[].contract.contractStatusstring
combos[].legs[].contract.eventTypestring
Event type ("binary" or "categorical")
combos[].legs[].contract.expiryDatestring (date-time)
combos[].legs[].contract.resolvedAtstring (date-time)
combos[].legs[].contract.resolutionSidestring
Winning outcome if resolved ("yes" or "no")
combos[].legs[].contract.parentEventTickerstring
Parent event ticker for sub-events
combos[].legs[].contract.startTimestring (date-time)
Start datetime (ISO 8601)
paginationobject·required
pagination.limitinteger
Example: 50
pagination.offsetinteger
Example: 0
pagination.totalinteger
Example: 100
Example Responses
{
  "combos": [
    {
      "contract": {
        "contractId": "456",
        "contractName": "BTC EOY26 > $120k AND ETH EOY26 > $4k",
        "contractTicker": "GEMI-CMB-0526-A7F3B2C1D4E5",
        "eventTicker": "GEMI-CMB-0526-A7F3B2C1D4E5",
        "eventName": "BTC EOY26 > $120k AND ETH EOY26 > $4k",
        "category": "Combo",
        "contractStatus": "Active",
        "eventType": "binary",
        "expiryDate": "2026-12-31T23:59:59Z",
        "resolvedAt": null,
        "resolutionSide": null,
        "parentEventTicker": null,
        "startTime": null
      },
      "legs": [
        {
          "comboId": 456,
          "legIndex": 0,
          "contractId": "101",
          "requiredOutcome": "Yes",
          "legOutcome": null,
          "resolvedAt": null,
          "contract": {
            "contractId": "101",
            "contractName": "BTC above $120,000 at year-end 2026",
            "contractTicker": "GEMI-BTC-EOY26-HI120000",
            "eventTicker": "GEMI-BTC-EOY26",
            "eventName": "Bitcoin Year-End 2026",
            "category": "Crypto",
            "contractStatus": "Active",
            "eventType": "binary",
            "expiryDate": "2026-12-31T23:59:59Z",
            "resolvedAt": null,
            "resolutionSide": null,
            "parentEventTicker": null,
            "startTime": null
          }
        },
        {
          "comboId": 456,
          "legIndex": 1,
          "contractId": "202",
          "requiredOutcome": "Yes",
          "legOutcome": null,
          "resolvedAt": null,
          "contract": {
            "contractId": "202",
            "contractName": "ETH above $4,000 at year-end 2026",
            "contractTicker": "GEMI-ETH-EOY26-HI4000",
            "eventTicker": "GEMI-ETH-EOY26",
            "eventName": "Ethereum Year-End 2026",
            "category": "Crypto",
            "contractStatus": "Active",
            "eventType": "binary",
            "expiryDate": "2026-12-31T23:59:59Z",
            "resolvedAt": null,
            "resolutionSide": null,
            "parentEventTicker": null,
            "startTime": null
          }
        }
      ]
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 1
  }
}
PreviousCombosNextGet Combo