---
title: "Open a futures position"
method: POST
path: "/api/futures/trade/create-order"
tags: ["Futures · Trading"]
---

# Open a futures position

`POST /api/futures/trade/create-order`

## Request

- Base URL: `https://api.binibit.com`
- URL: `https://api.binibit.com/api/futures/trade/create-order`
- Auth: none declared

Limit or market via `isMarket`, long or short via `isLong`. Stop-loss and take-profit
            are levels attached to this order, not orders of their own — there is no separate stop-entry type. The
            margin comes from the UTA account named in `futuresAccountId`. A repeated clientOrderId returns
            200 with the original order id and isExisting=true; repeat parameters are not compared. Status 30 or 40
            means the original order did not become a position. A 200 response always carries a
            non-empty `id`; a rejection is always a 400 response with an PublicApi.Models.ApiErrorDto.

## Request body

- CreateFuturesOrderDto: Request body for opening a futures position. There is no separate stop-entry order type: stop-loss and take-profit are levels attached to this order, not orders of their own.
  - `isMarket` boolean: True to execute immediately at market. False for a limit order, which then requires PublicApi.Models.Futures.CreateFuturesOrderDto.Price and rests until the market reaches it.
  - `isLong` boolean: True to go long (buy), false to go short (sell).
  - `leverage` integer: Per-order leverage. Defaults to 10x when omitted; values above the pair maximum are silently reduced to maxLeverage.
  - `price` number, double, nullable: Limit price. Required for a limit order; ignored when PublicApi.Models.Futures.CreateFuturesOrderDto.IsMarket is true.
  - `stopLoss` number, double, nullable: Optional stop-loss trigger price, attached to the position this order opens. Omit for none.
  - `takeProfit` number, double, nullable: Optional take-profit trigger price, attached to the position this order opens. Omit for none.
  - `amount` number, double: Order size in the pair's base asset. Must be at least minOrderSize. When lotSize is positive, the amount must be an exact multiple or the server returns 400 invalid_amount (110102); it does not round to a lot. Digits beyond quantityPrecision are truncated downward.
  - `currencyPairCode` string, nullable: Pair to trade, e.g. `BTC_USDT`.
  - `futuresAccountId` string, uuid: Which Unified Trading Account puts up the margin — take the `id` from `GET api/uta/accounts`. Each sub-account is an isolated margin pool, so this choice decides what a liquidation can reach.
  - `clientOrderId` string, nullable: Optional client-supplied idempotency key, echoed back in the response and on the position/order. A repeat with the same key for the same user returns the existing order's id instead of opening a new one (no time window).

## Response `200`

OK

- CreateOrderCommandResultDto: What an accepted order creation returns. Acceptance is not execution — poll the orders history or the positions endpoint to see what became of it.
  - `id` string, nullable: Exchange-assigned order identifier. Use it to close, cancel or look the order up.
  - `clientOrderId` string, nullable: The identifier you supplied on the request, echoed back so a reply can be matched to its send. Null when none was sent.
  - `isExisting` boolean: True when clientOrderId already identified an order: the same id is returned with 200. Repeat request parameters are not compared with the original.
  - `futuresOrderStatus` integer, nullable: Current status of that order. Status 30 (cancelled) or 40 (error) means the original order did not become a position. Null when an older core has not supplied this field.

## Other responses

- `400`: Bad Request

## Changes

- **2026-10-13** `13dbac1613c4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/binibit/apis/webapp/changes/api/futures/trade/create-order/post.md)

---

[API](https://skmtc.dev/binibit/apis/webapp.md) - [All operations](https://skmtc.dev/binibit/apis/webapp/llms.txt) - [OpenAPI document](https://skmtc.dev/binibit/apis/webapp/revisions/13dbac1613c4?raw)
