Skip to main content

Futures Order Lifecycle

This page describes the states a futures order moves through after you place it. Status values appear in the status field of every order response.

Status values

StatusDescription
RAISEDOpen order has been accepted by the exchange.
EXECUTEDOrder has fully executed. Terminal.
PARTIALLY_EXECUTEDOrder has been partially executed. Terminal — the unfilled remainder is no longer working.
CANCELLEDUser has cancelled the order. Terminal.
CANCELLATION_RAISEDIntermediate state. We've requested cancellation; resolves to CANCELLED once the exchange confirms.

State machine

Differs from Spot

Unlike Spot, PARTIALLY_EXECUTED is terminal for Futures. Once you see it, the unfilled remainder of the order is no longer working — you cannot expect it to keep filling. If you want to fill more, place a new order for the remaining quantity.

When you see RAISED

When you place an order, the response status may be RAISED. This means we've sent the order to the exchange and are waiting for an acknowledgement. To find out whether it eventually filled, cancelled, or expired, poll Get Order Status with the order_id until you see a terminal status.

Cancellation is two-phase

Calling Cancel Order moves the order to CANCELLATION_RAISED while we ask the exchange to cancel. Once the exchange confirms, status becomes CANCELLED. Don't treat CANCELLATION_RAISED as fully cancelled — the order may have filled in the gap before the cancel was processed.

Tracking position-level effects

Order events feed position state. After an order fills or partially fills, check Get Positions to see the resulting position size, average entry price, and unrealised PnL. See Position Lifecycle.