GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Changelog
Gemini Crypto Exchange LogoGemini Crypto Exchange Logo

© 2026 Gemini Space Station, Inc.

Information
Markets
    List prediction market eventsgetGet event by tickergetGet strike price for eventgetList newly listed eventsgetList recently settled eventsgetList upcoming eventsgetList event categoriesget
Volume
    Get daily prediction market trade volumegetGet hourly prediction market trade volumeget
Terms
    Get prediction market termsgetGet prediction market terms statusgetAccept prediction market termspost
Trading
    Place orderpostPlace a batch of orderspostCancel orderpostCancel a batch of orderspost
Positions
    Get active orderspostGet order historypostGet positionspostGet settled positionspostGet volume metricspost
Combos
    List combo contractsgetCreate or retrieve a canonical combopostGet combo by instrument symbolget
Rewards
    Get maker-rebate rate schedulegetList maker-rebate payoutspostGet maker-rebate lifetime summarygetGet liquidity-rewards program configgetList liquidity-rewards eventsgetGet liquidity-rewards daily summarygetGet liquidity-rewards lifetime summaryget
Schemas
Gemini Prediction Markets API
Gemini Prediction Markets API

Combos

Server

Public endpoints for discovering and inspecting combo contracts, plus an authenticated endpoint to create or retrieve a canonical combo. Combos are multi-leg contracts; order entry uses the same place/cancel endpoints as single contracts.


List combo contracts

GET
https://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 status is omitted, the endpoint returns only Active combos. This Combo Prediction Markets endpoint is not currently enabled in production.

List combo contracts › query Parameters

status
​string

Filter by combo contract status (for example, Active, Settled, or Voided). Defaults to Active when omitted.

contractId
​integer · int64

Filter to combos that contain a specific underlying contract ID as a leg

instrumentRegistered
​boolean

Filter by whether the combo has been registered with an instrument symbol

limit
​integer · min: 1 · max: 500

Maximum number of results to return (max 500)

Default: 50
offset
​integer · min: 0

Number of results to skip for pagination

Default: 0

List combo contracts › Responses

Successful response

ListCombosResponse
​ComboResponse[] · required

List of combo contracts matching the query

​object · required
GET/v1/prediction-markets/combos
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/combos
shell
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 } }
json
application/json

Create or retrieve a canonical combo

POST
https://api.gemini.com
/v1/prediction-markets/combos

Creates a combo from two to six underlying contract legs for the authenticated account. The service canonicalizes the complete leg set, so submitting the same legs again returns the existing combo regardless of leg order. The account is derived from the authenticated API key; do not include an account ID in the request. This Combo Prediction Markets endpoint is not currently enabled in production.

Requires signed private REST authentication, the PredictionsNewOrder permission, and an unrestricted trading account. A new canonical combo returns 201 Created with alreadyExisted: false; an existing canonical combo returns 200 OK with alreadyExisted: true.

Create or retrieve a canonical combo › Request Body

A canonical combo definition. The authenticated account is derived from the signed request and is not a request field.
CreateComboRequest
​CreateComboLeg[] · minItems: 2 · maxItems: 6 · required

Two to six distinct underlying contract legs. The service canonicalizes their complete set, so leg order does not create a distinct combo.

Create or retrieve a canonical combo › Responses

The canonical combo already exists.

CreateComboResponse
​ComboSummary · required
alreadyExisted
​boolean · required

false when this request created the canonical combo; true when the canonical combo already existed.

POST/v1/prediction-markets/combos
curl --request POST \ --url https://api.gemini.com/v1/prediction-markets/combos \ --header 'Content-Type: application/json' \ --data ' { "legs": [ { "contractId": "101", "requiredOutcome": "Yes" }, { "contractId": "202", "requiredOutcome": "No" } ] } '
shell
Example Request Body
{ "legs": [ { "contractId": "101", "requiredOutcome": "Yes" }, { "contractId": "202", "requiredOutcome": "No" } ] }
json
application/json
Example Responses
{ "combo": { "id": 456, "canonicalLegKey": "101:Yes|202:No", "legCount": 2, "displayName": "BTC EOY26 > $120k AND ETH EOY26 <= $4k", "status": "Active", "instrumentId": 98765, "instrumentSymbol": "GEMI-CMB-0526-A7F3B2C1D4E5", "instrumentRegistered": true, "latestExpiryDate": "2026-12-31T23:59:59.000Z", "createdAt": "2026-05-01T12:00:00.000Z", "updatedAt": "2026-05-01T12:00:00.000Z", "legs": [ { "comboId": 456, "legIndex": 0, "contractId": "101", "requiredOutcome": "Yes" }, { "comboId": 456, "legIndex": 1, "contractId": "202", "requiredOutcome": "No" } ] }, "alreadyExisted": true }
json
application/json

Get combo by instrument symbol

GET
https://api.gemini.com
/v1/prediction-markets/combos/{instrumentSymbol}

Returns the full specification of a single combo contract identified by its instrument symbol, including leg breakdown and per-leg resolution status. This Combo Prediction Markets endpoint is not currently enabled in production.

Get combo by instrument symbol › path Parameters

instrumentSymbol
​string · required

The combo contract's instrument symbol (e.g. GEMI-CMB-0526-A7F3B2C1D4E5)

Get combo by instrument symbol › Responses

Successful response

ComboResponse
​object · required

Metadata for the combo contract itself (ticker, status, expiry, etc.)

​ComboLeg[] · required

Ordered list of legs that make up this combo

GET/v1/prediction-markets/combos/{instrumentSymbol}
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/combos/:instrumentSymbol
shell
Example Responses
{ "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 } } ] }
json
application/json

PositionsRewards