FUTURES_TRADE | Success: 201 Created | KYC is required, with no exemptionLeverage can lose your entire margin. At 10x, a 10% move against you wipes out the position. Read 04. Futures Trading Explained before using this endpoint.
| Field | Type | Required | Notes |
|---|---|---|---|
symbol | string | Yes | BASE-QUOTE. Check GET /v1/market/futures/symbols first |
positionSide | string | Yes | LONG or SHORT |
side | string | Yes | BUY or SELL |
orderType | string | Yes | MARKET or LIMIT. Note: orderType, not type as on spot |
quantity | decimal string | Yes | Greater than 0 |
price | decimal string | Conditional | Required for LIMIT, forbidden for MARKET |
timeInForce | string | No | GTC only. Forbidden on MARKET |
leverage | integer | Yes | 1 to the maximum, which defaults to 20. A real number, not a string |
marginMode | string | Yes | ISOLATED or CROSS |
reduceOnly | boolean | No | Defaults to false. A real boolean. The string "false" is rejected |
Not supported at all: stopPrice,triggerPrice,takeProfit,stopLossandclientOrderIddo not exist.timeInForcesupports onlyGTC, so there is no IOC, FOK or post-only.
quantity x referencePrice / leverage, plus a buffer that defaults to 5%, rounded up. A reduceOnly order already covered by an open position can legitimately reserve "0".| Status | code | Cause |
|---|---|---|
400 | VALIDATION_ERROR | Schema failure; unknown contract; leverage must be an integer between 1 and 20; no live price available |
409 | INSUFFICIENT_MARGIN | Not enough in the futures wallet |
409 | MARGIN_MODE_CONFLICT | An open position on this symbol already uses the other margin mode |
429 | RATE_LIMITED | 30 orders per minute per user, which is separate from the per-key limit |
403 | KYC_REQUIRED or API_PERMISSION_DENIED |
status from the body, not the HTTP code.