Authenticated REST endpoints for placing and managing orders. Treat REST order placement as payload reference or a one-off server workflow; for active trading and market making, prefer WebSocket order.place.
Place order
Place a new prediction market order. Supports limit and stop-limit order types. Requires authentication and NewOrder permission.
Before sending orders, check GET /v1/prediction-markets/terms/status. If hasAcceptedLatest is false, display GET /v1/prediction-markets/terms and call POST /v1/prediction-markets/terms/accept, then retry the order.
Stop-Limit Orders
A stop-limit order is an order type that allows for order placement when a price reaches a specified level. Stop-limit orders take in both a price and a stopPrice as parameters. The stopPrice is the price that triggers the order to be placed on the continuous live order book at the price. For buy orders, the stopPrice must be greater than or equal to the last trade price and less than or equal to the price; for sell orders, the stopPrice must be less than or equal to the last trade price and greater than or equal to the price. Both price and stopPrice must be in the 0-1 range.
Place order › Request Body
symbolContract instrument symbol
orderTypeOrder type. stop-limit orders require a stopPrice that triggers a limit order at price when the market reaches the trigger.
sidequantityNumber of contracts
priceLimit price (0-1 range)
outcomeThe outcome being traded (Yes or No)
stopPriceThe 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.
timeInForceOrder execution behavior:
good-til-cancel- Order remains active until filled or cancelled (default)immediate-or-cancel- Fill immediately or cancel remainingfill-or-kill- Fill entire order immediately or cancel
makerOrCancelSet to true to require maker-only behavior. If the order would immediately take liquidity, the order is cancelled instead of filling.
Place order › Responses
Order created successfully
orderIdhashOrderIdclientOrderIdglobalOrderIdstatussymbolsideoutcomeThe outcome being traded (Yes or No)
orderTypeOrder type. stop-limit orders require a stopPrice that triggers a limit order at price when the market reaches the trigger.
quantityOriginal order quantity
filledQuantityAmount filled so far
remainingQuantityAmount remaining to fill
priceLimit price
stopPriceStop trigger price (populated for stop-limit orders)
avgExecutionPriceAverage price of fills
createdAtupdatedAtcancelledAtPlace a batch of orders
Place between 1 and 20 prediction market orders in one authenticated request. The complete payload is signed once using the standard private REST authentication headers. Each entry accepts the same fields as POST /v1/prediction-markets/order.
The operation is synchronous and non-atomic. Gemini validates the entire batch before submitting any orders. If the batch or any entry fails up-front validation, the request fails and no orders are submitted. After validation succeeds, orders are submitted sequentially and each result is returned in request order. An exchange rejection for one order does not stop later orders from being submitted; it appears as an error and message for that entry in the 200 response.
Place a batch of orders › Request Body
Orders to submit. Every entry is validated before any order is submitted. All orders use the account associated with the authenticated request.
Place a batch of orders › Responses
Batch processed. Results are returned in request order and may contain both successful orders and per-entry errors.
One result for each submitted order, in request order.
Cancel a batch of orders
Cancel between 1 and 20 prediction market orders in one authenticated request. The complete payload is signed once using the standard private REST authentication headers. Each order ID may be a JSON integer or a quoted numeric string.
The operation is synchronous and non-atomic. Gemini validates all order IDs before attempting any cancellation. If the batch is empty, contains more than 20 entries, or contains an invalid ID, the request fails and no orders are cancelled. After validation succeeds, cancellations are attempted sequentially and each result is returned in request order. A rejection for one cancellation does not stop later cancellations from being attempted; it appears as an error and message for that entry in the 200 response.
Cancel a batch of orders › Request Body
Order IDs to cancel. Each ID may be an integer or a quoted numeric string. All IDs are validated before any cancellation is attempted.
Cancel a batch of orders › Responses
Batch processed. Results are returned in request order and may contain both successful cancellations and per-entry errors.
One result for each requested cancellation, in request order.