---
title: "Place market order"
method: POST
path: "/orders/market"
tags: ["Trading"]
---

# Place market order

`POST /orders/market`

Creates a new market order.

**Sell orders** - send `quantity` (base asset amount to sell). Do not send `amount`.

**Buy orders** - send `amount` (maximum quote asset to spend). The base quantity is
derived automatically from the live orderbook, using the same logic as the easy buy
feature. Do not send `quantity`. Minimum spend is 5 quote units.

## Request body

- PlaceMarketOrderRequest
  - `market` string, required
  - `side` 'buy' | 'sell', required
  - `quantity` string — Sell orders only. Base asset quantity to sell. Must not be sent on a buy order.
  - `amount` string — Buy orders only. Maximum quote asset to spend. The base quantity is derived automatically from the live orderbook. Must not be sent on a sell order. Minimum 5 quote units.
  - `client_order_id` string — Optional idempotency key.

## Response `201`

Order created successfully.

- Order
  - `order_id` string
  - `client_order_id` string
  - `market` string
  - `side` 'buy' | 'sell'
  - `type` 'limit' | 'market' | 'stop_limit' | 'stop_market'
  - `price` string, nullable — Null for market orders.
  - `quantity` string
  - `filled` string
  - `remaining` string
  - `status` 'open' | 'partially_filled' | 'filled' | 'cancelled' | 'rejected'
  - `time_in_force` 'GTC' | 'IOC' | 'FOK'
  - `created_at` integer
  - `updated_at` integer
  - `cancelled_at` integer, nullable — Present when the order has been cancelled.

## Other responses

- `400` — Invalid request parameters.
- `401` — Missing or invalid authentication headers.
- `429` — Rate limit exceeded.
- `503` — Service temporarily unavailable.

---

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