Skip to main content

FAQ

Frequently asked questions about the USDⓈ-Margined Futures API.

Is Self Trade Prevention (STP) supported?

No. The API does not support Self Trade Prevention. The selfTradePreventionMode and tradeGroupId parameters do not exist on any endpoint, and there is no EXPIRED_IN_MATCH order status. Orders from the same account can match against each other and will fill normally. If you need to avoid self-trades, implement the check on the client side.

How do I send parameters to order endpoints?

POST, PUT, and DELETE endpoints accept parameters only as a JSON request body (Content-Type: application/json). Form-encoded bodies (application/x-www-form-urlencoded) are not supported, and body parameters cannot be mixed with query-string parameters. GET endpoints take parameters in the query string. In all cases, timestamp and signature go in the query string for HMAC authentication.

What format is orderId?

Order IDs are UUID strings (e.g. "3c9074dc-8fd5-4dfd-8f62-a2f95b9d20e2"), not incrementing integers. Treat orderId as an opaque string: store it as-is and pass it back unchanged when querying or cancelling. clientOrderId remains a user-chosen string of up to 36 characters.

Does my listenKey stay alive while my WebSocket is connected?

No. A listenKey expires 60 minutes after it was created or last refreshed, regardless of any open WebSocket connection. Call PUT /fapi/v1/listenKey periodically (e.g. every 30 minutes) to keep it alive. If it has expired, re-issue one via POST /fapi/v1/listenKey.

Is Hedge Mode (dual position side) available?

No. The exchange runs in one-way position mode only. POST /fapi/v1/positionSide/dual with dualSidePosition=true returns error -4059, and orders must use positionSide=BOTH (or omit it). LONG / SHORT appear only as descriptive field values in position query responses.

Is Isolated Margin available?

No. The exchange runs in cross-margin mode only. POST /fapi/v1/marginType with marginType=ISOLATED returns error -4046.

Is batch order placement available?

No. POST /fapi/v1/batchOrders is not available — place orders one at a time via POST /fapi/v1/order. Batch cancel is available via DELETE /fapi/v1/batchOrders.

Which kline intervals are supported?

The natively supported intervals are 1m, 5m, 15m, 1h, 4h, 1d, 1w, 1M. On GET /fapi/v1/klines, some other Binance-style intervals are accepted but silently mapped to the closest supported interval; on WebSocket, only the eight native intervals produce data. See Enum Definitions for the full mapping table.