---
title: "Place Trade"
method: POST
path: "/trading/orders"
tags: ["Trading"]
---

# Place Trade

`POST /trading/orders`

Place a buy or sell order on a centralized exchange.

Submit a new order to buy or sell an asset through a configured account and connector.
Supports spot trading (BUY/SELL) and perpetual futures trading with position actions (OPEN/CLOSE).
For market orders, the price is fetched automatically from the market data feed.
For limit orders, a price must be specified.

The order is submitted asynchronously to the exchange. The returned order_id can be used
to track the order status via the /orders/active or /orders/search endpoints, or to
cancel the order via the cancel endpoint.

## Request body

- TradeRequest — Request model for placing buy or sell orders. Used to submit new orders to centralized exchanges through a configured account and connector. Supports spot trading and perpetual futures with position actions. Example: ```json { "account_name": "main", "connector_name": "binance", "trading_pair": "BTC-USDT", "trade_type": "BUY", "amount": "0.001", "order_type": "LIMIT", "price": "42000.00", "position_action": "OPEN" } ```
  - `account_name` string, required — Name of the configured account to execute the trade. Must match an account in the configuration.
  - `connector_name` string, required — Name of the exchange connector (e.g., 'binance', 'binance_perpetual', 'kucoin', 'gate_io'). Use '_perpetual' suffix for futures trading.
  - `trading_pair` string, required — Trading pair in BASE-QUOTE format (e.g., 'BTC-USDT', 'ETH-USDC'). Must be a valid pair on the specified connector.
  - `trade_type` 'BUY' | 'SELL', required — Order direction. 'BUY' to purchase base asset, 'SELL' to sell base asset.
  - `amount` union, required — Quantity of base asset to trade. Must be positive and comply with exchange's minimum order size.
    - number
    - string
  - `order_type` 'LIMIT' | 'MARKET' | 'LIMIT_MAKER' — Order execution type. 'LIMIT' requires a price. 'MARKET' executes at best available price. 'LIMIT_MAKER' is a limit order that will be rejected if it would immediately match.
  - `price` union — Order price for LIMIT and LIMIT_MAKER orders. Required for limit orders, ignored for market orders. Must comply with exchange's tick size requirements.
    - number
    - string
  - `position_action` 'OPEN' | 'CLOSE' — Position action for perpetual futures trading. 'OPEN' to enter a new position or add to existing. 'CLOSE' to reduce or exit a position. For spot trading, this is typically 'OPEN'.

## Response `201`

Successful Response

- TradeResponse — Response model returned after placing an order. Contains confirmation of the submitted order including the assigned order ID for tracking. Note that a 'submitted' status means the order was sent to the exchange, not necessarily that it has been accepted or filled. Example: ```json { "order_id": "buy-BTC-USDT-1705123456789", "account_name": "main", "connector_name": "binance", "trading_pair": "BTC-USDT", "trade_type": "BUY", "amount": "0.001", "order_type": "LIMIT", "price": "42000.00", "status": "submitted" } ```
  - `order_id` string, required — Client order ID assigned by the system. Use this ID to track, cancel, or query the order.
  - `account_name` string, required — Name of the account that placed the order.
  - `connector_name` string, required — Name of the exchange connector used for the order.
  - `trading_pair` string, required — Trading pair for the order (e.g., 'BTC-USDT').
  - `trade_type` string, required — Order direction: 'BUY' or 'SELL'.
  - `amount` string, required — Order quantity in base asset.
  - `order_type` string, required — Order type: 'LIMIT', 'MARKET', or 'LIMIT_MAKER'.
  - `price` string, nullable, required — Order price. Null for market orders.
  - `status` string — Initial order status. 'submitted' indicates the order was sent to the exchange. Query /orders/active or /orders/search for updated status.

## Other responses

- `422` — Validation Error

## Changes

- **2025-12-20** `1005bcd47280` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/hummingbot/apis/hummingbot-api/changes/trading/orders/post.md)

---

[API](https://skmtc.dev/hummingbot/apis/hummingbot-api.md) · [All operations](https://skmtc.dev/hummingbot/apis/hummingbot-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hummingbot/hummingbot-api/revisions/cb6b6935c8e2/schema)
