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
Terms
    Get prediction market termsgetGet prediction market terms statusgetAccept prediction market termspost
Trading
    Place orderpostCancel orderpost
Positions
    Get active orderspostGet order historypostGet positionspostGet settled positionspostGet volume metricspost
Combos
    List combo contractsgetGet 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

Markets

Server

Public endpoints for browsing prediction markets.

Market Data: Use these REST endpoints to discover active events and each contract's instrumentSymbol (e.g., GEMI-FEDJAN26-DN25). For active trading and market making, prefer Prediction Markets WebSocket streams with that instrumentSymbol.

  • List Events - Discover active events and instrument symbols
  • Prediction Markets WebSocket Streams - Stream prices, depth, order events, and positions

List prediction market events

GET
https://api.gemini.com
/v1/prediction-markets/events

Returns a paginated list of prediction market events with optional filtering by status, category, and search text.

List prediction market events › query Parameters

status
​MarketStatus[] · style: form · explode: true

Filter by event status (can specify multiple)

Enum values:
approved
active
closed
under_review
settled
invalid
category
​string[] · style: form · explode: true

Filter by category (can specify multiple). If omitted, returns events from all categories.

search
​string

Search text to filter events by title

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 prediction market events › Responses

Successful response

EventsResponse
​Event[]
​Pagination
GET/v1/prediction-markets/events
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/events
shell
Example Responses
{ "data": [ { "id": "evt_123", "title": "Will Bitcoin reach $100k by end of 2028?", "slug": "bitcoin-100k-2028", "description": "Bitcoin must reach $100,000 USD on any major exchange by December 31, 2028", "imageUrl": "https://example.com/btc.png", "type": "binary", "category": "crypto", "series": null, "ticker": "BTC100K2028", "status": "active", "resolvedAt": null, "createdAt": "2026-01-01T00:00:00.000Z", "effectiveDate": "2026-01-01T00:00:00.000Z", "expiryDate": "2028-12-31T23:59:59.000Z", "liquidity": "500000.00", "tags": [ "bitcoin", "cryptocurrency", "price-prediction" ], "contracts": [ { "id": "contract_123", "label": "Yes", "description": null, "prices": { "buy": { "yes": "0.65", "no": "0.35" }, "sell": { "yes": "0.65", "no": "0.35" }, "bestBid": "0.64", "bestAsk": "0.66", "lastTradePrice": "0.65" }, "totalShares": "1000000", "color": "#00ff00", "status": "active", "imageUrl": null, "priceHistory": null, "createdAt": "2026-01-01T00:00:00.000Z", "expiryDate": "2028-12-31T23:59:59.000Z", "resolutionSide": null, "resolvedAt": null, "termsAndConditionsUrl": "https://example.com/terms", "ticker": "BTC100K-YES", "instrumentSymbol": "GEMI-BTC100K-YES", "effectiveDate": "2026-01-01T00:00:00.000Z" }, { "id": "contract_124", "label": "No", "description": null, "prices": { "buy": { "yes": "0.35", "no": "0.65" }, "sell": { "yes": "0.35", "no": "0.65" }, "bestBid": "0.34", "bestAsk": "0.36", "lastTradePrice": "0.35" }, "totalShares": "1000000", "color": "#ff0000", "status": "active", "imageUrl": null, "priceHistory": null, "createdAt": "2026-01-01T00:00:00.000Z", "expiryDate": "2028-12-31T23:59:59.000Z", "resolutionSide": null, "resolvedAt": null, "termsAndConditionsUrl": "https://example.com/terms", "ticker": "BTC100K-NO", "instrumentSymbol": "GEMI-BTC100K-NO", "effectiveDate": "2026-01-01T00:00:00.000Z" } ] }, { "id": "evt_124", "title": "Will ETH reach $5k by end of 2028?", "slug": "ethereum-5k-2028", "description": "Ethereum must reach $5,000 USD on any major exchange by December 31, 2028", "imageUrl": "https://example.com/eth.png", "type": "binary", "category": "crypto", "series": null, "ticker": "ETH5K2028", "status": "active", "resolvedAt": null, "createdAt": "2026-01-01T00:00:00.000Z", "effectiveDate": "2026-01-01T00:00:00.000Z", "expiryDate": "2028-12-31T23:59:59.000Z", "liquidity": "300000.00", "tags": [ "ethereum", "cryptocurrency", "price-prediction" ], "contracts": [ { "id": "contract_125", "label": "Yes", "description": null, "prices": { "buy": { "yes": "0.48", "no": "0.52" }, "sell": { "yes": "0.48", "no": "0.52" }, "bestBid": "0.47", "bestAsk": "0.49", "lastTradePrice": "0.48" }, "totalShares": "800000", "color": "#00ff00", "status": "active", "imageUrl": null, "priceHistory": null, "createdAt": "2026-01-01T00:00:00.000Z", "expiryDate": "2028-12-31T23:59:59.000Z", "resolutionSide": null, "resolvedAt": null, "termsAndConditionsUrl": "https://example.com/terms", "ticker": "ETH5K-YES", "instrumentSymbol": "GEMI-ETH5K-YES", "effectiveDate": "2026-01-01T00:00:00.000Z" }, { "id": "contract_126", "label": "No", "description": null, "prices": { "buy": { "yes": "0.52", "no": "0.48" }, "sell": { "yes": "0.52", "no": "0.48" }, "bestBid": "0.51", "bestAsk": "0.53", "lastTradePrice": "0.52" }, "totalShares": "800000", "color": "#ff0000", "status": "active", "imageUrl": null, "priceHistory": null, "createdAt": "2026-01-01T00:00:00.000Z", "expiryDate": "2028-12-31T23:59:59.000Z", "resolutionSide": null, "resolvedAt": null, "termsAndConditionsUrl": "https://example.com/terms", "ticker": "ETH5K-NO", "instrumentSymbol": "GEMI-ETH5K-NO", "effectiveDate": "2026-01-01T00:00:00.000Z" } ] } ], "pagination": { "limit": 50, "offset": 0, "total": 2 } }
json
application/json

Get event by ticker

GET
https://api.gemini.com
/v1/prediction-markets/events/{eventTicker}

Returns detailed information about a specific prediction market event.

Get event by ticker › path Parameters

eventTicker
​string · required

The event ticker symbol (e.g., "BTC100K")

Get event by ticker › Responses

Successful response

A prediction market event containing one or more tradeable contracts
Event
id
​string
title
​string
slug
​string
description
​string | null
imageUrl
​string | null
type
​MarketType · enum

Type of prediction market

Enum values:
binary
categorical
category
​string
series
​string | null
ticker
​string

The event ticker (e.g., "BTC100K2028")

Example: BTC100K2028
status
​MarketStatus · enum

Status of a prediction market

Enum values:
approved
active
closed
under_review
settled
invalid
resolvedAt
​string | null · date-time
createdAt
​string · date-time
​Contract[]

Tradeable contracts within this event

​object
volume
​string

Total trading volume in USD

Example: 125000.00
liquidity
​string

Total liquidity in USD

Example: 50000.00
tags
​array | null
effectiveDate
​string · date-time
expiryDate
​string | null · date-time
subcategory
​Subcategory

Nested category information for the event

sourceDetails
​SourceDetails

Structured data source information for price observation. Replaces the deprecated flat source string on the event and contract. Present for crypto Up/Down events. Both fields are omitted when not available.

​Settlement

Settlement information for resolved events

source
​string | null · deprecated

Deprecated: use sourceDetails (agency + index) instead. Data source identifier for price observation. Aggregated from contracts for crypto Up/Down events.

Example: GRR-KAIKO_BTCUSD_60S
GET/v1/prediction-markets/events/{eventTicker}
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/events/:eventTicker
shell
Example Responses
{ "id": "id", "title": "Will Bitcoin reach $100k by end of 2028?", "slug": "bitcoin-100k-2028", "description": "description", "imageUrl": "imageUrl", "type": "binary", "category": "crypto", "series": "series", "ticker": "BTC100K2028", "status": "approved", "resolvedAt": "2024-08-25T15:00:00Z", "createdAt": "2024-08-25T15:00:00Z", "contracts": [ { "id": "id", "label": "label", "abbreviatedName": "abbreviatedName", "description": {}, "prices": { "buy": { "yes": "0.42", "no": "0.58" }, "sell": { "yes": "0.42", "no": "0.58" }, "bestBid": "0.49", "bestAsk": "0.54", "lastTradePrice": "0.75" }, "totalShares": "totalShares", "color": "color", "status": "approved", "imageUrl": "imageUrl", "priceHistory": [ { "timestamp": "2024-08-25T15:00:00Z", "price": "price" } ], "createdAt": "2024-08-25T15:00:00Z", "expiryDate": "2024-08-25T15:00:00Z", "resolutionSide": "yes", "resolvedAt": "2024-08-25T15:00:00Z", "termsAndConditionsUrl": "termsAndConditionsUrl", "ticker": "ticker", "instrumentSymbol": "instrumentSymbol", "effectiveDate": "2024-08-25T15:00:00Z", "marketState": "open", "sortOrder": 0, "strike": { "value": "87500.00", "type": "reference", "availableAt": "2026-03-27T19:45:00.000Z" }, "source": "GRR-KAIKO_BTCUSD_60S", "settlementValue": "87654.32" } ], "contractOrderbooks": { "key": { "bids": [ { "side": "buy", "price": "0.65", "quantity": "1000" } ], "asks": [ { "side": "buy", "price": "0.65", "quantity": "1000" } ] } }, "volume": "125000.00", "liquidity": "50000.00", "tags": [ "string" ], "effectiveDate": "2024-08-25T15:00:00Z", "expiryDate": "2024-08-25T15:00:00Z", "subcategory": { "id": 35, "slug": "crypto_solana", "name": "Solana", "path": [ "Crypto", "Solana" ] }, "source": "GRR-KAIKO_BTCUSD_60S", "sourceDetails": { "agency": "Kaiko", "index": "GRR-KAIKO_BTCUSD_60S" }, "settlement": { "value": "87654.32" } }
json
application/json

Get strike price for event

GET
https://api.gemini.com
/v1/prediction-markets/events/{eventTicker}/strike

Returns strike price information for a specific prediction market event.

Useful for crypto Up/Down contracts where the strike price becomes available at the start of the observation window (typically ~5 minutes before expiry for 5M contracts).

For Up/Down contracts, the value field will be null until the strike is captured at availableAt time.

Get strike price for event › path Parameters

eventTicker
​string · required

The event ticker symbol (e.g., "BTC05M2603271950")

Get strike price for event › Responses

Successful response

Strike price information for Up/Down crypto contracts
Strike
value
​string | null

The strike price value. Null for "reference" type strikes where the value is determined at availableAt time.

Example: 87500.00
type
​string · enum

Strike type - "reference" for Up/Down contracts, "above" for Higher/Lower contracts

Enum values:
reference
above
Example: reference
availableAt
​string | null · date-time

When the strike price becomes available

Example: 2026-03-27T19:45:00.000Z
GET/v1/prediction-markets/events/{eventTicker}/strike
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/events/:eventTicker/strike
shell
Example Responses
{ "value": "98000.50", "type": "reference", "availableAt": "2026-03-27T19:45:00.000Z" }
json
application/json

List newly listed events

GET
https://api.gemini.com
/v1/prediction-markets/events/newly-listed

Returns a list of prediction market events created in the last 24 hours, sorted by creation date (newest first).

List newly listed events › query Parameters

category
​string[] · style: form · explode: true

Filter by category (can specify multiple). If omitted, returns events from all categories.

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 newly listed events › Responses

Successful response

EventsResponse
​Event[]
​Pagination
GET/v1/prediction-markets/events/newly-listed
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/events/newly-listed
shell
Example Responses
{ "data": [ { "id": "4126", "title": "SOL price today at 12am EST", "slug": "sol-price-today-at-12am-est", "description": "Interval SOL price prediction event", "imageUrl": "https://images.ctfassets.net/example.png", "type": "categorical", "category": "Crypto", "series": "SOL1H", "ticker": "SOL2603050500", "status": "active", "resolvedAt": null, "createdAt": "2026-03-05T02:57:31.548Z", "effectiveDate": null, "expiryDate": "2026-03-05T05:00:00.000Z", "liquidity": null, "tags": [ "Solana" ], "contracts": [ { "id": "4126-33859", "label": "SOL > $90", "abbreviatedName": ">$90", "description": null, "prices": { "buy": { "yes": "0.42", "no": "0.58" }, "sell": { "yes": "0.42", "no": "0.58" }, "bestBid": "0.49", "bestAsk": "0.54", "lastTradePrice": "0.75" }, "totalShares": null, "color": "#4CAF50", "status": "active", "imageUrl": null, "priceHistory": null, "createdAt": "2026-03-05T02:57:31.548Z", "expiryDate": "2026-03-05T05:00:00.000Z", "resolutionSide": null, "resolvedAt": null, "termsAndConditionsUrl": "https://example.com/terms", "ticker": "HI90", "instrumentSymbol": "GEMI-SOL2603050500-HI90", "effectiveDate": null, "marketState": "open", "sortOrder": 1 } ] } ], "pagination": { "limit": 50, "offset": 0, "total": 1 } }
json
application/json

List recently settled events

GET
https://api.gemini.com
/v1/prediction-markets/events/recently-settled

Returns a list of prediction market events settled in the last 24 hours, sorted by resolution date (most recently settled first).

List recently settled events › query Parameters

category
​string[] · style: form · explode: true

Filter by category (can specify multiple). If omitted, returns events from all categories.

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 recently settled events › Responses

Successful response

EventsResponse
​Event[]
​Pagination
GET/v1/prediction-markets/events/recently-settled
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/events/recently-settled
shell
Example Responses
{ "data": [ { "id": "4100", "title": "SOL price today at 4am EST", "slug": "sol-price-today-at-4am-est", "description": "Interval SOL price prediction event", "imageUrl": "https://images.ctfassets.net/example.png", "type": "categorical", "category": "Crypto", "series": "SOL1H", "ticker": "SOL2603050400", "status": "settled", "resolvedAt": "2026-03-05T04:00:21.400Z", "createdAt": "2026-03-05T01:57:31.548Z", "effectiveDate": null, "expiryDate": "2026-03-05T04:00:00.000Z", "liquidity": null, "tags": [ "Solana" ], "contracts": [ { "id": "4100-33800", "label": "SOL > $90", "abbreviatedName": ">$90", "description": null, "prices": { "buy": {}, "sell": {}, "bestBid": null, "bestAsk": null, "lastTradePrice": "0.80" }, "totalShares": null, "color": "#4CAF50", "status": "settled", "imageUrl": null, "priceHistory": null, "createdAt": "2026-03-05T01:57:31.548Z", "expiryDate": "2026-03-05T04:00:00.000Z", "resolutionSide": "yes", "resolvedAt": "2026-03-05T04:00:21.400Z", "termsAndConditionsUrl": "https://example.com/terms", "ticker": "HI90", "instrumentSymbol": "GEMI-SOL2603050400-HI90", "effectiveDate": null, "marketState": "closed", "sortOrder": 1 } ] } ], "pagination": { "limit": 50, "offset": 0, "total": 1 } }
json
application/json

List upcoming events

GET
https://api.gemini.com
/v1/prediction-markets/events/upcoming

Returns a list of approved prediction market events that are not yet active (pre-launch), sorted by start time (soonest first).

List upcoming events › query Parameters

category
​string[] · style: form · explode: true

Filter by category (can specify multiple). If omitted, returns events from all categories.

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 upcoming events › Responses

Successful response

EventsResponse
​Event[]
​Pagination
GET/v1/prediction-markets/events/upcoming
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/events/upcoming
shell
Example Responses
{ "data": [ { "id": "4200", "title": "Lakers vs Celtics", "slug": "lakers-vs-celtics-march-10", "description": "NBA game prediction market", "imageUrl": "https://images.ctfassets.net/example.png", "type": "binary", "category": "Sports", "series": null, "ticker": "NBA260310LAL-BOS", "status": "approved", "resolvedAt": null, "createdAt": "2026-03-04T12:00:00.000Z", "effectiveDate": "2026-03-10T19:30:00.000Z", "expiryDate": "2026-03-11T02:00:00.000Z", "liquidity": null, "tags": [ "NBA", "Basketball" ], "subcategory": { "id": 10, "slug": "sports_nba", "name": "NBA", "path": [ "Sports", "NBA" ] }, "contracts": [ { "id": "4200-1", "label": "Lakers Win", "abbreviatedName": "LAL", "description": null, "prices": { "buy": {}, "sell": {}, "bestBid": null, "bestAsk": null, "lastTradePrice": null }, "totalShares": null, "color": "#552583", "status": "approved", "imageUrl": null, "priceHistory": null, "createdAt": "2026-03-04T12:00:00.000Z", "expiryDate": "2026-03-11T02:00:00.000Z", "resolutionSide": null, "resolvedAt": null, "termsAndConditionsUrl": "https://example.com/terms", "ticker": "LAL", "instrumentSymbol": "GEMI-NBA260310LAL-BOS-LAL", "effectiveDate": "2026-03-10T19:30:00.000Z", "marketState": "closed", "sortOrder": 1 } ] } ], "pagination": { "limit": 50, "offset": 0, "total": 1 } }
json
application/json

List event categories

GET
https://api.gemini.com
/v1/prediction-markets/categories

Returns available prediction market event categories, optionally filtered by event status.

List event categories › query Parameters

status
​MarketStatus[] · style: form · explode: true

Filter categories by event status

Enum values:
approved
active
closed
under_review
settled
invalid

List event categories › Responses

Successful response

categories
​string[]
GET/v1/prediction-markets/categories
curl --request GET \ --url https://api.gemini.com/v1/prediction-markets/categories
shell
Example Responses
{ "categories": [ "sports", "politics", "crypto", "entertainment" ] }
json
application/json

Terms