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

Schemas


Error

error
​string

Error code

Example: InvalidInput
message
​string

Human-readable error message

Example: orderId is required

PredictionMarketsTerms

termsType
​string · required

Terms type identifier

Example: PredictionsMarket
version
​integer · required

Latest terms version

Example: 3
content
​string · required

Terms content to display before acceptance

Example: These are the prediction market terms.
updatedAt
​string · date-time · required

UTC timestamp when the terms content was last updated

Example: 2026-05-18T17:00:00Z

PredictionMarketsTermsStatus

hasAcceptedLatest
​boolean · required

Whether the account group has accepted the latest configured Prediction Markets terms

Example: false
acceptedVersion
​integer | null

Latest terms version accepted by the account group, if any

Example: 2
latestVersion
​integer | null

Latest configured Prediction Markets terms version, if available

Example: 3

AcceptPredictionMarketsTermsResponse

success
​boolean · required

MarketStatus

string · enum
Enum values:
approved
active
closed
under_review
settled
invalid

Status of a prediction market

MarketType

string · enum
Enum values:
binary
categorical

Type of prediction market

OrderType

string · enum
Enum values:
limit
stop-limit

Order type. stop-limit orders require a stopPrice that triggers a limit order at price when the market reaches the trigger.

OrderSide

string · enum
Enum values:
buy
sell

Outcome

string · enum
Enum values:
yes
no

The outcome being traded (Yes or No)

TimeInForce

string · enum
Enum values:
good-til-cancel
immediate-or-cancel
fill-or-kill

Order execution behavior:

  • good-til-cancel - Order remains active until filled or cancelled (default)
  • immediate-or-cancel - Fill immediately or cancel remaining
  • fill-or-kill - Fill entire order immediately or cancel
Default: good-til-cancel

OrderStatus

string · enum
Enum values:
open
filled
cancelled

PositionStatus

string · enum
Enum values:
active
resolved
cancelled

Pagination

limit
​integer
offset
​integer
total
​integer

PaginationSimple

limit
​integer
offset
​integer
count
​integer

Number of items in current response

OrderBook

​OrderBookEntry[]
​OrderBookEntry[]

OrderBookEntry

side
​OrderSide · enum
Enum values:
buy
sell
price
​string
quantity
​string

OrderBookDepth

​OrderBookLevel[]
​OrderBookLevel[]
lastUpdateTime
​string · date-time

OrderBookLevel

price
​string
quantity
​string
orderCount
​integer

Contract

id
​string
label
​string

Human-readable label (e.g., "Yes", "No")

abbreviatedName
​string | null

Short form label (e.g., ">$90")

description
​object

Rich text description

prices
​ContractPrices

Current bid/ask pricing for the contract

totalShares
​string | null
color
​string | null
status
​MarketStatus · enum

Status of a prediction market

Enum values:
approved
active
closed
under_review
settled
invalid
imageUrl
​string | null
​array | null
createdAt
​string · date-time
expiryDate
​string | null · date-time
resolutionSide
​Outcome · enum

The outcome being traded (Yes or No)

Enum values:
yes
no
resolvedAt
​string | null · date-time
termsAndConditionsUrl
​string
ticker
​string
instrumentSymbol
​string
effectiveDate
​string | null · date-time
marketState
​string | null · enum

Trading state of the contract

Enum values:
open
closed
sortOrder
​integer | null

Display order within the event

​Strike

Strike price information for Up/Down crypto contracts

settlementValue
​string | null

The observed settlement price. Only present after the contract is settled.

Example: 87654.32
source
​string | null · deprecated

Deprecated: use the event-level sourceDetails (agency + index) instead. Data source identifier for price observation (e.g., "GRR-KAIKO_BTCUSD_60S"). Present for crypto Up/Down contracts.

Example: GRR-KAIKO_BTCUSD_60S

Strike

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

SourceDetails

PricePoint

timestamp
​string · date-time
price
​string

ContractPrices

Event

A prediction market event containing one or more tradeable contracts
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

Subcategory

Settlement

Settlement information for resolved events
value
​string | null

The observed settlement value (e.g., the price at expiry for crypto contracts)

Example: 87654.32

EventsResponse

​Event[]
​Pagination

ContractMetadata

contractId
​string
contractName
​string
contractTicker
​string
eventTicker
​string
eventName
​string
category
​string
contractStatus
​string
eventType
​string

Event type ("binary" or "categorical")

expiryDate
​string | null · date-time
resolvedAt
​string | null · date-time
resolutionSide
​string | null

Winning outcome if resolved ("yes" or "no")

parentEventTicker
​string | null

Parent event ticker for sub-events

startTime
​string | null · date-time

Start datetime (ISO 8601)

ComboLeg

comboId
​integer · int64

Internal ID of the parent combo contract

Example: 456
legIndex
​integer

Zero-based position of this leg in the combo

Example: 0
contractId
​integer · int64

Internal ID of the underlying single contract

Example: 101
requiredOutcome
​string

The outcome this leg must settle for the combo to settle YES ("Yes" at launch)

Example: Yes
legOutcome
​string | null

The outcome this leg has settled to, if resolved ("Yes" or "No"). Null while the leg is still active.

Example: null
resolvedAt
​string | null · date-time

UTC timestamp when this leg resolved. Null while still active.

Example: null
​object

Full metadata for the underlying single contract

ComboResponse

​object

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

​ComboLeg[]

Ordered list of legs that make up this combo

ListCombosResponse

​ComboResponse[]

List of combo contracts matching the query

​object

OrderRequest

symbol
​string · required

Contract instrument symbol

Example: GEMI-FEDJAN26-DN25
orderType
​OrderType · enum · required

Order type. stop-limit orders require a stopPrice that triggers a limit order at price when the market reaches the trigger.

Enum values:
limit
stop-limit
side
​OrderSide · enum · required
Enum values:
buy
sell
quantity
​string · required

Number of contracts

Example: 100
price
​string · required

Limit price (0-1 range)

Example: 0.65
outcome
​Outcome · enum · required

The outcome being traded (Yes or No)

Enum values:
yes
no
stopPrice
​string

The price to trigger a stop-limit order (0-1 range). Only available for stop-limit orders. See Stop-Limit Orders above for stopPrice/price constraints.

Example: 0.60
timeInForce
​TimeInForce · enum

Order execution behavior:

  • good-til-cancel - Order remains active until filled or cancelled (default)
  • immediate-or-cancel - Fill immediately or cancel remaining
  • fill-or-kill - Fill entire order immediately or cancel
Enum values:
good-til-cancel
immediate-or-cancel
fill-or-kill
Default: good-til-cancel
makerOrCancel
​boolean

Set to true to require maker-only behavior. If the order would immediately take liquidity, the order is cancelled instead of filling.

Default: false

OrderResponse

orderId
​integer · int64
hashOrderId
​string | null
clientOrderId
​string | null
globalOrderId
​string | null
status
​OrderStatus · enum
Enum values:
open
filled
cancelled
symbol
​string
side
​OrderSide · enum
Enum values:
buy
sell
outcome
​Outcome · enum

The outcome being traded (Yes or No)

Enum values:
yes
no
orderType
​OrderType · enum

Order type. stop-limit orders require a stopPrice that triggers a limit order at price when the market reaches the trigger.

Enum values:
limit
stop-limit
quantity
​string

Original order quantity

filledQuantity
​string

Amount filled so far

remainingQuantity
​string

Amount remaining to fill

price
​string

Limit price

stopPrice
​string | null

Stop trigger price (populated for stop-limit orders)

avgExecutionPrice
​string | null

Average price of fills

createdAt
​string · date-time
updatedAt
​string · date-time
cancelledAt
​string | null · date-time
​ContractMetadata

OrdersResponse

​OrderResponse[]
​PaginationSimple

Position

symbol
​string
instrumentId
​integer · int64
totalQuantity
​string

Total position size

quantityOnHold
​string

Quantity currently on hold from open orders

avgPrice
​string

Average entry price

outcome
​Outcome · enum

The outcome being traded (Yes or No)

Enum values:
yes
no
​ContractMetadata
prices
​PositionPrices

Current bid/ask/last-trade prices for the contract

resolutionSide
​string | null

Winning outcome ("yes" or "no") if the contract has resolved

isAboveAutoStartThreshold
​boolean

Whether the position is above the auto-start threshold

isLive
​boolean

Whether the market is currently live/active

realizedPl
​string | null

Realized profit/loss from sells

PositionPrices

PositionsResponse

​Position[]
total
​integer | null

Total number of positions (for pagination)

SettledPosition

A historically settled position in a resolved prediction market contract.
accountId
​integer · int64

Account that held the position

instrumentId
​integer · int64

Unique instrument identifier for the contract

instrumentSymbol
​string

Contract instrument symbol

Example: GEMI-FEDJAN26-DN25
position
​string

Signed position held at settlement. Positive values represent a yes position; negative values represent a no position.

Example: 125
positionQuantity
​string

Absolute quantity held at settlement (unsigned)

Example: 125
outcome
​Outcome · enum

The outcome being traded (Yes or No)

Enum values:
yes
no
payout
​string

Payout received from settlement. 0 when the position lost.

Example: 125.00
resolutionSide
​string · enum

The winning outcome of the contract

Enum values:
yes
no
settledAt
​string · date-time

Settlement timestamp (ISO 8601)

​ContractMetadata
costBasis
​string | null

Total amount spent to enter the position, net of any prior realized P&L from partial sells. Omitted when cost-basis data is not available.

Example: 78.75
realizedPnl
​string | null

Realized profit or loss recorded from sells prior to settlement. Omitted when not available.

Example: 0
netProfit
​string | null

Net profit for the position, computed as payout - costBasis + realizedPnl. Omitted when costBasis is not available.

Example: 46.25

SettledPositionsResponse

​SettledPosition[]
total
​integer | null

Total number of settled positions returned

totalPayout
​string | null

Sum of payout across all returned positions

totalCostBasis
​string | null

Sum of costBasis across all returned positions. Only present when cost-basis data is available.

totalNetProfit
​string | null

Sum of netProfit across all returned positions. Only present when cost-basis data is available.

ContractShareVolume

symbol
​string

Contract instrument symbol

Example: GEMI-FED260318-CUT25
totalQty
​string

Total taker volume across all participants (in shares)

Example: 94625
userAggressorQty
​string | null

The authenticated user's taker (aggressor) volume (in shares)

Example: 1
userRestingQty
​string | null

The authenticated user's maker (resting) volume (in shares)

Example: 0

VolumeMetricsResponse

eventTicker
​string

The event ticker

Example: FED260318
​ContractShareVolume[]

MakerRebateRateRule

id
​integer · int64 · required

Stable identifier for this rate rule.

Example: 12
rebate_multiplier_bps
​integer · int32 · required

Portion of the maker fee that is rebated, in basis points (10000 bps = 100%).

Example: 5000
effective_from
​string | null · date-time · required

ISO-8601 timestamp at which this rule becomes effective. Always present; in practice never null.

Example: 2026-03-19T00:00:00Z
category
​string

Market category this rule applies to. When absent, the rule applies to all categories.

Example: Crypto
effective_to
​string · date-time

ISO-8601 timestamp after which this rule is superseded. Omitted when the rule is still current.

Example: 2026-04-19T00:00:00Z

MakerRebateRatesResponse

​MakerRebateRateRule[] · required

MakerRebatePayout

id
​integer · int64 · required

Stable payout identifier.

Example: 9182
total_volume_usd
​string · required

Total qualifying maker volume contributing to this payout, in USD.

Example: 12450.00
total_rebate_usd
​string · required

Total rebate paid, in USD.

Example: 6.23
total_fill_count
​integer · int32 · required

Number of qualifying maker fills that contributed to the payout.

Example: 187
status
​string · required

Payout status (e.g. PENDING, PAID).

Example: PAID
paid_at
​string | null · date-time · required

ISO-8601 timestamp at which the rebate was credited. Always present; null for payouts that have not yet been paid.

Example: 2026-05-20T21:00:00Z
created_at
​string | null · date-time · required

ISO-8601 timestamp at which the payout row was created. Always present.

Example: 2026-05-20T20:55:12Z

MakerRebatePayoutsResponse

​MakerRebatePayout[] · required

MakerRebateLifetimeSummary

total_earned_usd
​string · required

Sum of total_rebate_usd across payouts in the window.

Example: 152.40
total_fill_count
​integer · int64 · required

Sum of qualifying maker fills across payouts in the window.

Example: 4218
total_volume_usd
​string · required

Sum of qualifying maker volume (USD) across payouts in the window.

Example: 304800.00
payout_count
​integer · int32 · required

Number of payouts in the window. Always present; 0 when no payouts exist in the window.

Example: 27
first_payout_date
​string | null · date · required

Date of the earliest payout in the window, or null if no payouts exist.

Example: 2026-03-19
last_payout_date
​string | null · date · required

Date of the most recent payout in the window, or null if no payouts exist.

Example: 2026-05-20

LiquidityRewardsConfig

enabled
​boolean · required

True when the program is fully configured upstream. When false, the response collapses to { "enabled": false } only.

Example: true
max_spread_cents
​integer · int32

Quotes wider than this spread score zero in the scoring algorithm. Only present when enabled is true.

Example: 10
min_payout_threshold_usd
​string

Daily reward amounts below this threshold are suppressed (sub-threshold accounts get no row at all). Only present when enabled is true.

Example: 1.00

LiquidityRewardEvent

event_ticker
​string · required

Event ticker (e.g. BTC2605202100).

Example: BTC2605202100
title
​string · required

Event title.

Example: BTC above $95,000?
category
​string · required

Market category.

Example: Crypto
daily_pool_usd
​string · required

Daily USD reward pool budgeted for this event.

Example: 500.00
pool_source
​string · enum · required

Whether the pool came from a per-event override or the category default.

Enum values:
event_override
category_default
unspecified
Example: event_override
ends_at
​string | null · date-time · required

ISO-8601 timestamp at which the event ends and stops scoring. null when the underlying event has no end timestamp set.

Example: 2026-05-20T21:00:00Z
qualifying_maker_count
​integer · int32 · required

Number of accounts that met qualifying-maker criteria in the most recent snapshot window for this event.

Example: 14
icon_url
​string

Optional URL for the event icon. Omitted when not configured.

Example: https://example.com/btc.png

LiquidityRewardsEventsResponse

​LiquidityRewardEvent[] · required
​Pagination · required
last_score_date
​string | null · date · required

Most recent date for which scoring has been written. null when no scoring has run yet.

Example: 2026-05-19

LiquidityEventScore

event_id
​integer · int64 · required

Stable event identifier.

Example: 1234567890
event_name
​string · required

Event title.

Example: BTC above $95,000?
category_name
​string · required

Market category.

Example: Crypto
normalized_score
​string · required

This account's normalized score for the event on the scoring date (0-1 range as a decimal string).

Example: 0.4521
snapshot_count
​integer · int32 · required

Number of snapshots in which this account had a qualifying quote.

Example: 1180
total_snapshots
​integer · int32 · required

Total snapshots taken for the event on the scoring date.

Example: 1440
event_reward_usd
​string · required

Portion of the day's total reward attributed to this event.

Example: 8.20

LiquidityDailySummary

payout_date
​string · date · required

Date the payout applies to (Eastern Time).

Example: 2026-05-07
total_reward_usd
​string · required

Total USD reward for the day across all events the account scored on.

Example: 12.45
payout_status
​string · required

Status of the day's payout (e.g. PENDING, PAID, ZERO_AMOUNT).

Example: PAID
paid_at
​string | null · date-time · required

ISO-8601 timestamp the day's payout was credited. Always present; null if not yet paid.

Example: 2026-05-08T21:00:00Z
​LiquidityEventScore[] · required

Per-event score breakdown showing how the day's total was distributed.

LiquidityRewardsDailySummaryResponse

​LiquidityDailySummary[] · required

LiquidityRewardsLifetimeSummary

total_earned_usd
​string · required

Sum of total_reward_usd across daily payouts in the window.

Example: 84.20
payout_count
​integer · int32 · required

Number of daily payouts in the window. Always present; 0 when no payouts exist in the window.

Example: 12
first_payout_date
​string | null · date · required

Date of the earliest payout in the window, or null if no payouts exist.

Example: 2026-05-08
last_payout_date
​string | null · date · required

Date of the most recent payout in the window, or null if no payouts exist.

Example: 2026-05-20
On this page
  • Error
  • PredictionMarketsTerms
  • PredictionMarketsTermsStatus
  • AcceptPredictionMarketsTermsResponse
  • MarketStatus
  • MarketType
  • OrderType
  • OrderSide
  • Outcome
  • TimeInForce
  • OrderStatus
  • PositionStatus
  • Pagination
  • PaginationSimple
  • OrderBook
  • OrderBookEntry
  • OrderBookDepth
  • OrderBookLevel
  • Contract
  • Strike
  • SourceDetails
  • PricePoint
  • ContractPrices
  • Event
  • Subcategory
  • Settlement
  • EventsResponse
  • ContractMetadata
  • ComboLeg
  • ComboResponse
  • ListCombosResponse
  • OrderRequest
  • OrderResponse
  • OrdersResponse
  • Position
  • PositionPrices
  • PositionsResponse
  • SettledPosition
  • SettledPositionsResponse
  • ContractShareVolume
  • VolumeMetricsResponse
  • MakerRebateRateRule
  • MakerRebateRatesResponse
  • MakerRebatePayout
  • MakerRebatePayoutsResponse
  • MakerRebateLifetimeSummary
  • LiquidityRewardsConfig
  • LiquidityRewardEvent
  • LiquidityRewardsEventsResponse
  • LiquidityEventScore
  • LiquidityDailySummary
  • LiquidityRewardsDailySummaryResponse
  • LiquidityRewardsLifetimeSummary