GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Changelog
Gemini Crypto Exchange LogoGemini Crypto Exchange Logo

© 2026 Gemini Space Station, Inc.

Getting StartedAPI Specifications
Maker and Taker Incentives
    Market Maker ProgramMaker Rebate ProgramLiquidity Rewards ProgramTaker Rewards Program
WebSocket
    IntroductionAuthenticationMessage Format
    Streams
      Book TickerL2 Partial DepthL2 Differential DepthTrade StreamOrder EventsBalance UpdatesPosition UpdatesContract Status
    Playground
      OverviewconninfopingtimeSUBSCRIBEUNSUBSCRIBELIST_SUBSCRIPTIONSdepthorder.placeorder.cancelorder.cancel_allorder.cancel_session
REST APIs
    Combos
    Events
    Terms
    Order Management
      Place OrderPlace Batch OrdersCancel OrderCancel Batch OrdersGet Active OrdersGet Order History
    Positions
    Rewards
Combo Contracts
    Overview
Combos Request-for-Quote (RFQ)
    OverviewWebSocket StreamsQuote MethodsMaker IntegrationExamples
Tickers
    OverviewCryptoSportsCommoditiesWeather
Schemas

Get Order History

REST APIsPrediction MarketsOrder ManagementGet Order History

Get Order History

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

Returns historical orders for the authenticated user. To retrieve fully filled orders for a completed UTC day, set status to filled and provide from and to as epoch-millisecond bounds; from is inclusive and to is exclusive. A time-bounded response contains at most limit results and ignores offset, so split high-volume periods into non-overlapping ranges. Use WebSocket order events for live trading state; use this REST endpoint for audit, recovery, and settlement review.

POSTv1/prediction-markets/orders/history
curl --request POST \
  --url https://api.gemini.com/v1/prediction-markets/orders/history \
  --header 'Content-Type: application/json' \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>' \
  --data '
{
  "status": "filled",
  "from": 1775001600000,
  "to": 1775088000000,
  "limit": 1000
}
'

Roles

The API key you use to access this endpoint must have the Trader role assigned. See Roles for more information.

Headers

X-GEMINI-APIKEYstring·required
Your API key
X-GEMINI-SIGNATUREstring·required
HEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring·required
Base64-encoded JSON payload
Content-Typestring
Default: text/plain
Content-Lengthstring
Default: 0
Cache-Controlstring
Default: no-cache

Request Body

statusstring·enum
Filter by order statusEnum values: filledcancelled
symbolstring
Filter by contract instrument symbolExample: GEMI-FEDJAN26-DN25
limitinteger
Maximum number of results to return. Defaults to 50 and is capped at 1000.
offsetinteger
Number of results to skip for pagination. Offset is ignored when `from` or `to` is supplied.
frominteger (int64)
Inclusive start of the order-closed time range, expressed as Unix epoch milliseconds. Use with `to` for a UTC daily window.Example: 1775001600000
tointeger (int64)
Exclusive end of the order-closed time range, expressed as Unix epoch milliseconds. `from` must not be later than `to`.Example: 1775088000000

Responses

Successful response

ordersarray
orders[].orderIdinteger (int64)
Example: 12345678
orders[].hashOrderIdstring
orders[].clientOrderIdstring
orders[].globalOrderIdstring
orders[].statusstring·enum
Enum values: openfilledcancelled
orders[].symbolstring
orders[].sidestring·enum
Enum values: buysell
orders[].outcomestring·enum
The outcome being traded (Yes or No)Enum values: yesno
orders[].orderTypestring·enum
Order type. `stop-limit` orders require a `stopPrice` that triggers a limit order at `price` when the market reaches the trigger.Enum values: limitstop-limit
orders[].quantitystring
Original order quantity
orders[].filledQuantitystring
Amount filled so far
orders[].remainingQuantitystring
Amount remaining to fill
orders[].pricestring
Limit price
orders[].stopPricestring
Stop trigger price (populated for `stop-limit` orders)
orders[].avgExecutionPricestring
Average price of fills
orders[].createdAtstring (date-time)
orders[].updatedAtstring (date-time)
orders[].cancelledAtstring (date-time)
orders[].contractMetadataobject
orders[].contractMetadata.contractIdstring
orders[].contractMetadata.contractNamestring
orders[].contractMetadata.contractTickerstring
orders[].contractMetadata.eventTickerstring
orders[].contractMetadata.eventNamestring
orders[].contractMetadata.categorystring
orders[].contractMetadata.contractStatusstring
orders[].contractMetadata.eventTypestring
Event type ("binary" or "categorical")
orders[].contractMetadata.expiryDatestring (date-time)
orders[].contractMetadata.resolvedAtstring (date-time)
orders[].contractMetadata.resolutionSidestring
Winning outcome if resolved ("yes" or "no")
orders[].contractMetadata.parentEventTickerstring
Parent event ticker for sub-events
orders[].contractMetadata.startTimestring (date-time)
Start datetime (ISO 8601)
paginationobject
pagination.limitinteger
pagination.offsetinteger
pagination.countinteger
Number of items in current response
PreviousGet Active OrdersNextPositions
Last modified on July 21, 2026