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

Positions (1.0.0)

Endpoint

Authenticated endpoints for viewing positions and order history


Get active orders

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

Returns a list of currently open (active) orders. Requires authentication.

Get active orders › Request Body

symbol
string

Filter by contract instrument symbol

Example: GEMI-FEDJAN26-DN25
limit
integer · max: 100

Maximum number of results to return (default 50, max 100)

Default: 50
offset
integer

Number of results to skip for pagination

Default: 0

Get active orders › Responses

Successful response

object[]
object
POST/v1/prediction-markets/orders/active
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/orders/active \
  --header 'Content-Type: application/json' \
  --data '
{
  "symbol": "GEMI-FEDJAN26-DN25",
  "limit": 0,
  "offset": 0
}
'
shell
Example Request Body
{
  "symbol": "GEMI-FEDJAN26-DN25",
  "limit": 0,
  "offset": 0
}
json
Example Responses
{
  "orders": [
    {
      "orderId": 12345678901,
      "status": "open",
      "symbol": "GEMI-FEDJAN26-DN25",
      "side": "buy",
      "outcome": "yes",
      "orderType": "limit",
      "quantity": "100",
      "filledQuantity": "25",
      "remainingQuantity": "75",
      "price": "0.65",
      "avgExecutionPrice": "0.64",
      "createdAt": "2025-12-15T10:30:00.000Z",
      "updatedAt": "2025-12-15T11:00: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"
      }
    },
    {
      "orderId": 12345678902,
      "status": "open",
      "symbol": "GEMI-FEDJAN26-DN25",
      "side": "sell",
      "outcome": "yes",
      "orderType": "limit",
      "quantity": "50",
      "filledQuantity": "0",
      "remainingQuantity": "50",
      "price": "0.65",
      "avgExecutionPrice": null,
      "createdAt": "2025-12-15T12:00:00.000Z",
      "updatedAt": "2025-12-15T12:00: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"
      }
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "count": 2
  }
}
json
application/json

Get order history

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

Returns historical orders (filled or cancelled). Use /orders/active for open orders. Requires authentication.

Get order history › Request Body

status
string · enum

Filter by order status

Enum values:
filled
cancelled
symbol
string

Filter by contract instrument symbol

Example: GEMI-FEDJAN26-DN25
limit
integer · max: 100

Maximum number of results to return (default 50, max 100)

Default: 50
offset
integer

Number of results to skip for pagination

Default: 0

Get order history › Responses

Successful response

object[]
object
POST/v1/prediction-markets/orders/history
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/orders/history \
  --header 'Content-Type: application/json' \
  --data '
{
  "status": "filled",
  "symbol": "GEMI-FEDJAN26-DN25",
  "limit": 0,
  "offset": 0
}
'
shell
Example Request Body
{
  "status": "filled",
  "symbol": "GEMI-FEDJAN26-DN25",
  "limit": 0,
  "offset": 0
}
json
Example Responses
{
  "orders": [
    {
      "orderId": 12345678,
      "hashOrderId": {},
      "clientOrderId": {},
      "globalOrderId": {},
      "status": "open",
      "symbol": "symbol",
      "side": "buy",
      "outcome": "yes",
      "orderType": "limit",
      "quantity": "quantity",
      "filledQuantity": "filledQuantity",
      "remainingQuantity": "remainingQuantity",
      "price": "price",
      "avgExecutionPrice": {},
      "createdAt": "2024-08-25T15:00:00Z",
      "updatedAt": "2024-08-25T15:00:00Z",
      "cancelledAt": "2024-08-25T15:00:00Z",
      "contractMetadata": {
        "contractId": "contractId",
        "contractName": "contractName",
        "contractTicker": "contractTicker",
        "eventTicker": "eventTicker",
        "eventName": "eventName",
        "category": "category",
        "contractStatus": "contractStatus",
        "imageUrl": {},
        "eventImageUrl": {},
        "eventType": "eventType",
        "expiryDate": "2024-08-25T15:00:00Z",
        "resolvedAt": "2024-08-25T15:00:00Z",
        "resolutionSide": {},
        "description": {},
        "sortOrder": {},
        "parentEventTicker": {},
        "template": {},
        "color": {},
        "startTime": "2024-08-25T15:00:00Z"
      }
    }
  ],
  "pagination": {
    "limit": 0,
    "offset": 0,
    "count": 0
  }
}
json
application/json

Get positions

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

Returns current filled positions for the authenticated user.

Get positions › Responses

Successful response

object[]
total
integer | null

Total number of positions (for pagination)

POST/v1/prediction-markets/positions
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/positions
shell
Example Responses
{
  "positions": [
    {
      "symbol": "GEMI-FEDJAN26-DN25",
      "instrumentId": 1001,
      "totalQuantity": "125",
      "quantityOnHold": "10",
      "avgPrice": "0.63",
      "outcome": "yes",
      "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",
        "eventImageUrl": "https://example.com/fed-event.png",
        "eventType": "binary",
        "expiryDate": "2026-01-31T23:59:59.000Z",
        "resolvedAt": null,
        "resolutionSide": null,
        "description": "Resolves YES if Federal Reserve lowers the target rate by 0.25% or more at the January 2026 FOMC meeting",
        "sortOrder": null,
        "parentEventTicker": null,
        "template": "binary",
        "color": null,
        "startTime": null
      },
      "prices": {
        "buy": {
          "yes": "0.63",
          "no": "0.37"
        },
        "sell": {
          "yes": "0.61",
          "no": "0.35"
        },
        "bestBid": "0.61",
        "bestAsk": "0.63",
        "lastTradePrice": "0.62"
      },
      "resolutionSide": null,
      "isAboveAutoStartThreshold": false,
      "isLive": true,
      "realizedPl": "0"
    },
    {
      "symbol": "GEMI-FEDJAN26-DN25",
      "instrumentId": 1001,
      "totalQuantity": "200",
      "quantityOnHold": "0",
      "avgPrice": "0.36",
      "outcome": "no",
      "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",
        "eventImageUrl": "https://example.com/fed-event.png",
        "eventType": "binary",
        "expiryDate": "2026-01-31T23:59:59.000Z",
        "resolvedAt": null,
        "resolutionSide": null,
        "description": "Resolves YES if Federal Reserve lowers the target rate by 0.25% or more at the January 2026 FOMC meeting",
        "sortOrder": null,
        "parentEventTicker": null,
        "template": "binary",
        "color": null,
        "startTime": null
      },
      "prices": {
        "buy": {
          "yes": "0.37",
          "no": "0.63"
        },
        "sell": {
          "yes": "0.35",
          "no": "0.61"
        },
        "bestBid": "0.35",
        "bestAsk": "0.37",
        "lastTradePrice": "0.36"
      },
      "resolutionSide": null,
      "isAboveAutoStartThreshold": false,
      "isLive": true,
      "realizedPl": "0"
    }
  ],
  "total": 2
}
json
application/json

Get volume metrics

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

Returns per-contract share volume metrics for an event, including the authenticated user's taker and maker volumes.

All volumes are in shares (number of contracts traded), not dollar amounts.

  • totalQty — Total taker volume across all participants for this contract
  • userAggressorQty — The authenticated user's taker (aggressor) volume
  • userRestingQty — The authenticated user's maker (resting) volume, counted when another order fills against the user's resting limit order

An optional time range can be specified to filter trades within a specific window.

Get volume metrics › Request Body

eventTicker
string · required

The event ticker symbol

Example: FED260318
startTime
integer · int64

Start of time range filter (epoch milliseconds). If omitted, defaults to the earliest contract creation time.

endTime
integer · int64

End of time range filter (epoch milliseconds). If omitted, includes all trades up to now.

Get volume metrics › Responses

Successful response

eventTicker
string

The event ticker

Example: FED260318
object[]
POST/v1/prediction-markets/metrics/volume
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/metrics/volume \
  --header 'Content-Type: application/json' \
  --data '
{
  "eventTicker": "FED260318"
}
'
shell
Example Request Body
{
  "eventTicker": "FED260318"
}
json
application/json
Example Responses
{
  "eventTicker": "FED260318",
  "contracts": [
    {
      "symbol": "GEMI-FED260318-CUT25",
      "totalQty": "94625",
      "userAggressorQty": "1",
      "userRestingQty": "0"
    },
    {
      "symbol": "GEMI-FED260318-CUTGT25",
      "totalQty": "68666",
      "userAggressorQty": "0",
      "userRestingQty": "0"
    },
    {
      "symbol": "GEMI-FED260318-HIKE",
      "totalQty": "15397",
      "userAggressorQty": "0",
      "userRestingQty": "0"
    },
    {
      "symbol": "GEMI-FED260318-MAINTAIN",
      "totalQty": "20400",
      "userAggressorQty": "5",
      "userRestingQty": "0"
    }
  ]
}
json
application/json

Trading