GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Resources
  • Changelog

© 2026 Gemini Space Station, Inc.

Gemini Crypto Exchange LogoGemini Crypto Exchange Logo
Markets
    List prediction market eventsgetGet event by tickergetGet strike price for eventgetList newly listed eventsgetList recently settled eventsgetList upcoming eventsgetList event categoriesget
Trading
    Place orderpostCancel orderpost
Positions
    Get active orderspostGet order historypostGet positionspostGet volume metricspost
Schemas
Gemini Prediction Markets API
Gemini Prediction Markets API

Markets (1.0.0)

Endpoint

Public endpoints for browsing prediction markets.

Market Data: For real-time order book and market data, use the existing APIs with the contract's instrumentSymbol (e.g., GEMI-FEDJAN26-DN25):

  • Get Current Order Book - View bids and asks
  • Get Ticker - Recent trading activity
  • WebSocket Market Data - Real-time streaming updates

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
string[] · 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

object[]
object
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 2025?",
      "slug": "bitcoin-100k-2025",
      "description": "Bitcoin must reach $100,000 USD on any major exchange by December 31, 2025",
      "imageUrl": "https://example.com/btc.png",
      "type": "binary",
      "category": "crypto",
      "series": null,
      "ticker": "BTC100K2025",
      "status": "active",
      "resolvedAt": null,
      "createdAt": "2025-01-01T00:00:00.000Z",
      "effectiveDate": "2025-01-01T00:00:00.000Z",
      "expiryDate": "2025-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": "2025-01-01T00:00:00.000Z",
          "expiryDate": "2025-12-31T23:59:59.000Z",
          "resolutionSide": null,
          "resolvedAt": null,
          "termsAndConditionsUrl": "https://example.com/terms",
          "ticker": "BTC100K-YES",
          "instrumentSymbol": "GEMI-BTC100K-YES",
          "effectiveDate": "2025-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": "2025-01-01T00:00:00.000Z",
          "expiryDate": "2025-12-31T23:59:59.000Z",
          "resolutionSide": null,
          "resolvedAt": null,
          "termsAndConditionsUrl": "https://example.com/terms",
          "ticker": "BTC100K-NO",
          "instrumentSymbol": "GEMI-BTC100K-NO",
          "effectiveDate": "2025-01-01T00:00:00.000Z"
        }
      ]
    },
    {
      "id": "evt_124",
      "title": "Will ETH reach $5k by end of 2025?",
      "slug": "ethereum-5k-2025",
      "description": "Ethereum must reach $5,000 USD on any major exchange by December 31, 2025",
      "imageUrl": "https://example.com/eth.png",
      "type": "binary",
      "category": "crypto",
      "series": null,
      "ticker": "ETH5K2025",
      "status": "active",
      "resolvedAt": null,
      "createdAt": "2025-01-01T00:00:00.000Z",
      "effectiveDate": "2025-01-01T00:00:00.000Z",
      "expiryDate": "2025-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": "2025-01-01T00:00:00.000Z",
          "expiryDate": "2025-12-31T23:59:59.000Z",
          "resolutionSide": null,
          "resolvedAt": null,
          "termsAndConditionsUrl": "https://example.com/terms",
          "ticker": "ETH5K-YES",
          "instrumentSymbol": "GEMI-ETH5K-YES",
          "effectiveDate": "2025-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": "2025-01-01T00:00:00.000Z",
          "expiryDate": "2025-12-31T23:59:59.000Z",
          "resolutionSide": null,
          "resolvedAt": null,
          "termsAndConditionsUrl": "https://example.com/terms",
          "ticker": "ETH5K-NO",
          "instrumentSymbol": "GEMI-ETH5K-NO",
          "effectiveDate": "2025-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
id
string
title
string
slug
string
description
string | null
imageUrl
string | null
type
string · enum

Type of prediction market

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

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

Example: BTC100K2025
status
string · enum

Status of a prediction market

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

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
object | null

Nested category information for the event

source
string | null

Data source identifier for price observation. Aggregated from contracts for crypto Up/Down events.

Example: GRR-KAIKO_BTCUSD_60S
object

Settlement information for resolved events

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 2025?",
  "slug": "bitcoin-100k-2025",
  "description": {},
  "imageUrl": {},
  "type": "binary",
  "category": "crypto",
  "series": {},
  "ticker": "BTC100K2025",
  "status": "approved",
  "resolvedAt": "2024-08-25T15:00:00Z",
  "createdAt": "2024-08-25T15:00:00Z",
  "contracts": [
    {
      "id": "id",
      "label": "label",
      "abbreviatedName": {},
      "description": {},
      "prices": {},
      "totalShares": {},
      "color": {},
      "status": "approved",
      "imageUrl": {},
      "priceHistory": {},
      "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": {},
      "strike": {
        "value": "87500.00",
        "type": "reference",
        "availableAt": "2024-08-25T15:00:00Z"
      },
      "source": "GRR-KAIKO_BTCUSD_60S",
      "settlementValue": "87654.32"
    }
  ],
  "contractOrderbooks": {},
  "volume": "125000.00",
  "liquidity": "50000.00",
  "tags": {},
  "effectiveDate": "2024-08-25T15:00:00Z",
  "expiryDate": "2024-08-25T15:00:00Z",
  "subcategory": {},
  "source": "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
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

object[]
object
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

object[]
object
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

object[]
object
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
string[] · 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": [
    "string"
  ]
}
json
application/json

Trading