# Place Order Channel

### Description

:::tip

The ACK response only indicates that the request has been successfully accepted. Please use the [WebSocket order](/docs/uta/websocket/private/Order-Channel) push channel to confirm the actual order status.

:::

This endpoint allows order placement across spot, margin, or futures markets, as well as Reality (rToken) stocks, with customizable parameters, including
price, quantity, and order type, etc.

- Reality (rToken) rate limit<br/>
  User level: 5/sec/UID by default, 30/sec/UID for whitelisted users (contact your BD/RM to apply).

- Futures<br/>
  For one-way mode, reduce-only orders are allowed to place. If a reduce only order already exists and the order
  quantity equals the position size, or if a new reduce only order exceeds the remaining position size, the previous
  reduction order will be automatically canceled and replaced. In this case, the returned orderId will be null.
  It is recommended to always provide a clientOid.
- Margin<br/>
  Margin orders will automatically trigger fund borrowing.
- Order Check
    - Futures:price must meet the price multiplier and be a multiple of priceMultiplier, and conform to the
      pricePrecision decimal places. qty must be greater than or equal to minOrderAmount and be a multiple of
      sizeMultiplier.
    - Spot:price must meet the decimal place requirement. qty must be greater than or equal to minOrderAmount.
- Open Position Logic
    - Hedge-mode<br/>
      Open long: side=buy & posSide=long<br/>
      Open Short: side=sell & posSide=short<br/>
      Close long: side=sell & posSide=long<br/>
      Close short: side=buy & posSide=short<br/>
    - One-way-mode<br/>
      Open long: side=buy<br/>
      Open short: side=sell<br/>
      Close long: side=sell & reduceOnly=yes<br/>
      Close short: side=buy & reduceOnly=yes<br/>
- Order Limit
    - Futures: 400 orders across all USDT, Coin-M, and USDC futures trading pairs.
    - Spot: 400 orders across all spot and margin trading pairs.
- ClientOid Constraints
  Please ensure your clientOid matches the regular expression `^[0-9A-Za-z_:#\\-+\\s]{1,32}$`, consisting of 1 to 32
  characters, including periods (.), uppercase letters, colons (:), lowercase letters, numbers, underscores (_), and
  hyphens (-).
- Request Monitor <br/>
  The API requests will be monitored. If the total number of orders for a single account (including master and
  sub-accounts) exceeds a set daily limit (UTC 00:00 - UTC 24:00), the platform reserves the right to issue reminders,
  warnings, and enforce necessary restrictions. By using the API, clients acknowledge and agree to comply with these
  terms.
- Error Sample `{ "code":"40762", "msg":"The order size is greater than the max open size", "requestTime":1627293504612 }`
  This error code may occur in the following scenarios.
    - Insufficient account balance.
    - The position tier for this symbol has reached its
      limit. <a href='https://www.bitget.com/trade-info/position-gear?symbolId=BTCUSDT_UMCBL'>Position tiers</a>
- Note: If the following errors occur when placing an order, please use clientOid to query the order details to confirm
  the final result of the operation.<br/>

- **COIN-M Futures Symbol Format Description:**<br/>
    - <u>The symbol format for the new COIN-M business line is "XXXUSD_CM". For example, the BTCUSD trading pair in
      COIN-M futures is formatted as BTCUSD_CM.</u>
    - The new COIN-M business line does not support modifying orders, ADL, strategy orders，or preset
      take-profit/stop-loss orders.

```json title="Error Code Examples"
{ "code": "40010", "msg": "Request timed out", "id": 1666268894074, "event":"error" }
{ "code": "40725", "msg": "service return an error", "id": 1666268894071, "event":"error" }
{ "code": "45001", "msg": "Unknown error", "id": 1666268894071, "event":"error" }
```

<div className="api-aligning">

```json title="Request Example" 
{
  "op": "trade",
  "id": "1750034396082",
  "category": "spot",
  "topic": "place-order",
  "requestTime": "1750034396082",
  "args": [
    {
      "orderType": "limit",
      "price": "100",
      "qty": "0.1",
      "side": "buy",
      "symbol": "BTCUSDT",
      "timeInForce": "gtc",
    }
  ]
}
```

### Request Parameters

| Parameter         | Type               | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 
|:------------------|:-------------------|----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| op                | String             | Yes      | Operation: <br/> `trade`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| id                | String             | Yes      | Request identifier                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| topic             | String             | Yes      | Topic: <br/> `place-order`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| category          | String             | Yes      | Category (must be lowercase)<br/>`spot`Spot<br/>`margin` Margin<br/> `usdt-futures` USDT futures<br/>`coin-futures` Coin futures<br/>`usdc-futures` USDC futures                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| apiCode           | String             | No       | API rebate identifier                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| requestTime       | String             | No       | Request time (client-side timestamp)<br/>Used to calculate the time difference with `receiveWindow`<br/>If not provided, `receiveWindow` will have no effect                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| args              | List&lt;Object&gt; | Yes      | Channel list                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| &gt; symbol       | String             | Yes      | Symbol name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| &gt; [orderType](/docs/uta/enum#ordertype)    | String             | Yes      | Order type <br/>`limit` : Limit order<br/> `market` : Market order                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| &gt; qty          | String             | Yes      | Order quantity <br/>`Spot/Margin`<br/> For market buy orders,the unit is **quote coin**<br/>For limit and market sell orders, the unit is **base coin**<br/> `USDT/USDC-Futures` <br/> The unit is **base coin** <br/> `COIN-Futures` <br/> The unit is **<u>quote coin</u>**                                                                                                                                                                                                                                                                                                                                                                                                           |
| &gt; price        | String             | No       | Order price <br/> This field is required when the order type is a `limit` order .<br/>This field is not applicable  when the order type is a `market` order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| &gt; side         | String             | Yes      | Order side<br/>`buy`<br/>`sell`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| &gt; posSide      | String             | No       | Position side<br/>`long` <br/>`short` <br/>This field is required in hedge-mode positions.<br/>Available only for futures                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| &gt; timeInForce  | String             | No       | [Time in force](https://www.bitget.com/support/articles/12560603818004) <br/> `gtc`: Good 'til canceled. It remains active until it is either filled or manually canceled.<br/>`ioc`: Immediate or cancel. It must be executed immediately, with any unfilled portion canceled.<br/>`fok`: Fill or kill. It must be fully executed immediately, or it is canceled entirely. <br/> `post_only`: Post only. It will only be added to the order book as a maker. <br/>[`rpi`](https://www.bitget.com/support/articles/12560603867770) Retail Price Improvement order. A non-displayed limit order that provides price improvement for retail order flow. Only available for accounts with RPI market maker permissions.<br/>This field is required when orderType is `limit`. If omitted, it defaults to `gtc` |
| &gt; reduceOnly   | String             | No       | Reduce-only identifier<br/>`YES`/`NO`<br/>default`NO`; `YES` indicates that your position may only be reduced in size upon the activation of this order                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| &gt; clientOid    | String             | No       | Client order ID<br/>Must match the regular expression `^[0-9A-Za-z_:#\-+\s]{1,32}$`, i.e. 1 to 32 characters, consisting of uppercase and lowercase letters, digits, underscores (_), hyphens (-), plus signs (+), colons (:), number signs (#), and spaces                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| &gt; stpMode      | String             | No       | [STP Mode(Self Trade Prevention)](https://www.bitget.com/support/articles/12560603812732)<br/>`none`: STP is not applied; orders are matched normally without comparing user IDs (Default)<br/>`cancel_taker`: when a self-trade is detected, the taker order is canceled and the maker order remains in the order book  <br/>`cancel_maker`: when a self-trade is detected, the maker order is canceled and the taker order continues to execute  <br/>`cancel_both`: when a self-trade is detected, both the taker and maker orders are canceled<br/>The STP action is determined by the taker order's `stpMode`; the maker order's existing `stpMode` setting is not considered.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| &gt; tpTriggerBy  | String             | No       | Preset Take-Profit Trigger Type<br/>`market`Market Price<br/>`mark` Mark Price<br/>If not specified, the default value is market price <br/> Note: This field is only valid for the contract business lines: USDT-Futures, COIN-Futures, and USDC-Futures.                                                                                                                                                                                                                                                                                                                                                                                                                              |
| &gt; slTriggerBy  | String             | No       | Preset Stop-Loss Trigger Type<br/>`market`Market Price<br/>`mark` Mark Price<br/>If not specified, the default value is market price <br/> Note: This field is only valid for the contract business lines: USDT-Futures, COIN-Futures, and USDC-Futures.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| &gt; takeprofit   | String             | No       | Preset Take-Profit Trigger Price                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| &gt; stoploss     | String             | No       | Preset Stop-Loss Trigger Price                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| &gt; tpOrderType  | String             | No       | Take-Profit Trigger Strategy Order Type<br/>`limit` Limit Order<br/>`market` Market Order                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| &gt; slOrderType  | String             | No       | Stop-Loss Trigger Strategy Order Type<br/>`limit` Limit Order<br/>`market` Market Order                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| &gt; tpLimitPrice | String             | No       | Take-Profit Strategy Order Execution Price<br/>This field is only valid for limit orders (when `tpOrderType=limit`); it is ignored for market orders.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| &gt; slLimitPrice | String             | No       | Stop-Loss Strategy Order Execution Price<br/>This field is only valid for limit orders (when `slOrderType=limit`); it is ignored for market orders.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| &gt; marginMode      | String             | No       | Margin mode<br/>`crossed` Cross margin<br/>`isolated` Isolated margin<br/>If not provided, defaults to cross margin<br/>Available only for futures                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| &gt; autoBorrow      | String             | No       | Auto borrow switch<br/>`yes` Enable<br/>`no` Disable (default)<br/>Only applicable to spot orders. When enabled, if the obtained coin does not support borrowing while the consumed coin does, and the available balance of the consumed coin is insufficient, the system automatically borrows the consumed coin to make up the shortfall. |
| &gt; receiveWindow   | String             | No       | Valid window period (order TTL mechanism)<br/>Unit: milliseconds. Valid range: [10, 60000]<br/>If not specified, the order remains valid until canceled or filled<br/>Note: `receiveWindow` is only effective when `requestTime` is also provided                                                                                                                                                                                                                                                                                                                                                                                                                                       |

</div>


<div className="api-aligning">

```json title="Response Example"
{
  "event": "trade",
  "id": "1750034396082",
  "category": "spot",
  "topic": "place-order",
  "args": [
    {
      "symbol": "BTCUSDT",
      "orderId": "xxxxxxxx",
      "clientOid": "xxxxxxxx",
      "cTime": "1750034397008",
      "receiveTime": "1750034396998123",
      "pushTime": "1750034397076456"
    }
  ],
  "code": "0",
  "msg": "success",
  "connId": "xxxxxxxxxx",
  "rateLimit": [
    {
      "limit": "10",
      "remaining": "9"
    }
  ],
  "ts": "1750034397076"
}
```

### Response Parameters

| Parameters        | Type               | Description                                                                                                                                   |
|:------------------|:-------------------|:----------------------------------------------------------------------------------------------------------------------------------------------|
| event             | String             | Event<br/>`trade`/`error`                                                                                                                     |
| id                | String             | Request identifier                                                                                                                            |
| topic             | String             | Topic<br/>`place-order`                                                                                                                       |
| category          | String             | Category <br/>`spot`Spot<br/>`margin` Margin<br/> `usdt-futures` USDT futures<br/>`coin-futures` Coin futures<br/>`usdc-futures` USDC futures |
| args              | List&lt;Object&gt; | Channel list                                                                                                                                  |
| &gt; symbol       | String             | Symbol name                                                                                                                                   |
| &gt; orderId      | String             | Order ID                                                                                                                                      |
| &gt; clientOid    | String             | Client order ID                                                                                                                               |
| &gt; cTime        | String             | Order creation time <br/>Unix millisecond timestamp                                                                                           |
| &gt; receiveTime  | String             | Gateway receive time <br/>Unix microsecond timestamp                                                                                          |
| &gt; pushTime     | String             | Gateway push time <br/>Unix microsecond timestamp                                                                                             |
| code              | String             | Code                                                                                                                                          |
| msg               | String             | Message                                                                                                                                       |
| connId            | String             | Connection ID                                                                                                                                 |
| rateLimit         | Array              | Rate limit balance array                                                                                                                      |
| &gt; limit        | String             | Rate limit quota for this dimension                                                                                                           |
| &gt; remaining    | String             | Remaining available quota                                                                                                                     |
| ts                | String             | Timestamp                                                                                                                                     |

</div>

































