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

Trading (1.0.0)

Endpoint

Authenticated endpoints for placing and managing orders (currently only limit orders are supported)


Place order

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

Place a new prediction market limit order. Currently only limit orders are supported. Requires authentication and NewOrder permission.

Place order › Request Body

symbol
string · required

Contract instrument symbol

Example: GEMI-FEDJAN26-DN25
orderType
string · enum · required

Order type (currently only limit orders are supported)

Enum values:
limit
side
string · 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
string · enum · required

The outcome being traded (Yes or No)

Enum values:
yes
no
timeInForce
string · 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
  • maker-or-cancel - Only add liquidity to the order book; if any part would fill immediately, the entire order is cancelled. Also known as "post-only".
Enum values:
good-til-cancel
immediate-or-cancel
fill-or-kill
maker-or-cancel
Default: good-til-cancel

Place order › Responses

Order created successfully

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

The outcome being traded (Yes or No)

Enum values:
yes
no
orderType
string · enum

Order type (currently only limit orders are supported)

Enum values:
limit
quantity
string

Original order quantity

filledQuantity
string

Amount filled so far

remainingQuantity
string

Amount remaining to fill

price
string

Limit price

avgExecutionPrice
string | null

Average price of fills

createdAt
string · date-time
updatedAt
string · date-time
cancelledAt
string | null · date-time
object
POST/v1/prediction-markets/order
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/order \
  --header 'Content-Type: application/json' \
  --data '
{
  "symbol": "GEMI-FEDJAN26-DN25",
  "orderType": "limit",
  "side": "buy",
  "quantity": "100",
  "price": "0.65",
  "outcome": "yes",
  "timeInForce": "good-til-cancel"
}
'
shell
Example Request Body
{
  "symbol": "GEMI-FEDJAN26-DN25",
  "orderType": "limit",
  "side": "buy",
  "quantity": "100",
  "price": "0.65",
  "outcome": "yes",
  "timeInForce": "good-til-cancel"
}
json
Place a limit order to buy 100 YES contracts at 0.65
application/json
Example Responses
{
  "orderId": 12345678901,
  "status": "open",
  "symbol": "GEMI-FEDJAN26-DN25",
  "side": "buy",
  "outcome": "yes",
  "orderType": "limit",
  "quantity": "100",
  "filledQuantity": "0",
  "remainingQuantity": "100",
  "price": "0.65",
  "avgExecutionPrice": null,
  "createdAt": "2025-12-15T10:30:00.000Z",
  "updatedAt": "2025-12-15T10:30:00.000Z",
  "cancelledAt": null,
  "contractMetadata": {
    "contractId": "contract_123",
    "contractName": "FEDJAN26-DN25",
    "contractTicker": "FEDJAN26-DN25",
    "eventTicker": "FEDJAN26",
    "eventName": "Will Fed Funds Rate drop at least 0.25% at January 2026 meeting?",
    "category": "economics",
    "contractStatus": "active",
    "imageUrl": "https://example.com/fed.png",
    "expiryDate": "2026-01-31T23:59:59.000Z",
    "resolvedAt": null,
    "description": "Resolves YES if Federal Reserve lowers the target rate by 0.25% or more at the January 2026 FOMC meeting"
  }
}
json
application/json

Cancel order

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

Cancel an existing prediction market order. Requires authentication and CancelOrder permission.

Cancel order › Request Body

orderId
integer · int64 · required

The order ID to cancel

Example: 12345678

Cancel order › Responses

Order cancelled successfully

result
string
message
string
POST/v1/prediction-markets/order/cancel
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/order/cancel \
  --header 'Content-Type: application/json' \
  --data '
{
  "orderId": 12345678
}
'
shell
Example Request Body
{
  "orderId": 12345678
}
json
Example Responses
{
  "result": "ok",
  "message": "Order 12345678 cancelled successfully"
}
json
application/json

MarketsPositions