Gemini Predictions is a centralized prediction market run by Gemini. Like Kalshi, it uses traditional limit-order semantics with server-side authentication — no client-side signing needed.Documentation Index
Fetch the complete documentation index at: https://docs.delphimarkets.com/llms.txt
Use this file to discover all available pages before exploring further.
At a glance
| Chain | None (centralized exchange) |
| Wallet model | None (USD account balance) |
| Quote token | USD |
| Signing | Server-side (HMAC-SHA512) |
| Auth | Gemini API key + HMAC secret, registered once |
Prerequisites
- A Gemini account with Predictions enabled
- A Gemini API key with order placement permissions — generate at exchange.gemini.com (or exchange.sandbox.gemini.com for testing)
- Save the API key and HMAC secret immediately — Gemini only shows the secret once
One-time setup: register credentials
Place an order
buildGeminiOrder is a thin convenience helper — it just shapes your input into the JSON the API expects. There’s no cryptography happening client-side; you can construct the payload by hand if you prefer:
Order parameters
| Field | Type | Description |
|---|---|---|
symbol | string | Gemini contract symbol (e.g. GEMI-FEDJAN26-DN25). |
side | 'buy' | 'sell' | Buy to enter long, sell to enter short or close. |
outcome | 'yes' | 'no' | Which outcome of the market. |
quantity | number | Number of contracts. |
price | number | Limit price in [0.01, 0.99]. |
timeInForce | string? | Default 'good-til-cancel'. Other Gemini values: 'fill-or-kill', 'immediate-or-cancel'. |
Query and cancel
Common pitfalls
401 Unauthorized when placing first order
401 Unauthorized when placing first order
HMAC secret got rotated and orders fail
HMAC secret got rotated and orders fail
Gemini lets you rotate the HMAC secret while keeping the same API key ID. If you rotate, re-register on Delphi with the new secret:
Sandbox vs production
Sandbox vs production
The Delphi server points at production Gemini by default. Sandbox API keys (from
exchange.sandbox.gemini.com) won’t work without server-side configuration. Contact Delphi support if you need sandbox routing.Symbol format
Symbol format
Gemini contract symbols include the expiry encoded in the suffix (e.g.
FEDJAN26 = Fed meeting January 2026). Always pull the latest active symbols from Gemini’s market data endpoint before placing orders — old symbols will return “market not found” once they settle.API reference
POST /api/v1/orders— accepts aGeminiPredictionOrderinsigned_orderPOST /api/v1/users/{userID}/credentials— pass_as the path segment

