WhiteBit Place Spot Limit Order
Version 1.0.0
Place a spot limit order over the WebSocket connection. A limit order rests in the order book at the specified price until it is matched or canceled. This method accepts the full spot execution-flag set, including `rpi`. The connection must be authorized before any order method is called — see [Authorize](/websocket/account-streams/authorize).
Channels
Messages
Servers
AsyncAPI Specification
asyncapi: 3.0.0
info:
title: WhiteBit Place Spot Limit Order
version: 1.0.0
description: |
Place a spot limit order over the WebSocket connection.
A limit order rests in the order book at the specified price until it is matched or
canceled. This method accepts the full spot execution-flag set, including `rpi`.
The connection must be authorized before any order method is called — see
[Authorize](/websocket/account-streams/authorize).
x-auth-required: true
x-rate-limits:
connections-per-minute: 1000
order-placements-per-10-seconds: 10000
x-error-codes:
- code: 1
message: invalid argument
description: "A required parameter is missing, an enum value is invalid, or the execution flags conflict. The message names the offending field. `ioc` cannot be combined with `post_only` or `rpi`."
- code: 10
message: balance not enough
description: "The available spot balance does not cover the order."
- code: 11
message: amount too small
description: "The order is below the market `minAmount` or `minTotal`. Check both via `GET /api/v4/public/markets`."
- code: 12
message: not enough traders
description: "The order book is too thin to execute the order."
- code: 13
message: order by taker price
description: "A post-only order would cross the spread and take liquidity. Lower the price for a buy, or raise it for a sell."
- code: 40
message: order is not post only
description: "The market is in post-only mode and the order does not carry the post-only flag."
- code: 51
message: trading in the market is not allowed
description: "Trading on the market is suspended, or the market status blocks this method."
- code: 154
message: price is outside spread
description: "The price falls outside the allowed spread."
- code: 250
message: price must be >= X / <= Y
description: "The price falls outside the market price band. The message states the accepted boundary."
servers:
production:
host: wss.whitebit.com
protocol: wss
description: WhiteBIT Global Server
eu:
host: api.whitebit.eu
protocol: wss
description: WhiteBIT EU Server
channels:
/ws:
address: /ws
description: Spot limit order placement channel
messages:
orderLimitPlaceRequest:
$ref: '#/components/messages/orderLimitPlaceRequest'
orderLimitPlaceResponse:
$ref: '#/components/messages/orderLimitPlaceResponse'
operations:
sendOrderLimitPlaceRequest:
action: receive
channel:
$ref: '#/channels/~1ws'
messages:
- $ref: '#/channels/~1ws/messages/orderLimitPlaceRequest'
receiveOrderLimitPlaceResponse:
action: send
channel:
$ref: '#/channels/~1ws'
messages:
- $ref: '#/channels/~1ws/messages/orderLimitPlaceResponse'
components:
messages:
orderLimitPlaceRequest:
name: OrderLimitPlaceRequest
title: Place limit order
summary: Place a spot limit order
payload:
$ref: '#/components/schemas/OrderLimitPlaceRequest'
examples:
- name: orderLimitPlaceBuy
summary: |
Place a buy limit order with parameters:
- params[0]: order object with market, side, amount, and price
payload:
id: 500002
method: order_limit_place
params:
- market: ETH_USDT
side: buy
amount: "0.00108"
price: "1859.75"
stp: "no"
orderLimitPlaceResponse:
name: OrderLimitPlaceResponse
title: Place Limit Order Response
summary: Accepted order object (status OPEN)
payload:
$ref: '#/components/schemas/OrderLimitPlaceResponse'
examples:
- name: orderLimitPlaceAccepted
summary: Order accepted and resting in the order book
payload:
id: 500002
result:
id: 2423735868673
market: ETH_USDT
type: 1
side: 2
post_only: false
ioc: false
ctime: 1786452689.828402
mtime: 1786452689.828402
price: "1859.75"
amount: "0.00108"
left: "0.00108"
deal_stock: "0"
deal_money: "0"
deal_fee: "0"
client_order_id: ""
stp: "no"
status: OPEN
error: null
schemas:
OrderLimitPlaceRequest:
type: object
required:
- id
- method
- params
properties:
id:
type: integer
description: Unique request identifier. The response echoes this value.
method:
type: string
const: order_limit_place
description: "Method name. Fixed value: `order_limit_place`."
params:
type: array
minItems: 1
maxItems: 1
items:
$ref: '#/components/schemas/OrderLimitPlaceParams'
description: Array containing exactly one order parameter object
OrderLimitPlaceParams:
type: object
required:
- market
- side
- amount
- price
properties:
market:
type: string
description: "Spot market name. A futures market is rejected with error `1`."
example: ETH_USDT
side:
type: string
enum: ["buy", "sell"]
description: "Order side. The response reports the side numerically: `1` for sell, `2` for buy."
amount:
type: string
description: "Order size in stock, at the market stock precision. Must clear both `minAmount` and `minTotal`."
example: "0.00108"
price:
type: string
description: "Limit price in money, at the market money precision. Validated against the maker and taker price bands for the given side."
example: "1859.75"
client_order_id:
type: string
description: "Custom client order id, echoed on every response for the order. Must be unique among active orders — a collision returns error `43`."
stp:
type: string
enum: ["no", "co", "cn", "cb"]
description: "Self-trade prevention mode: `no`=No Prevention, `co`=Cancel Oldest, `cn`=Cancel Newest, `cb`=Cancel Both. Defaults to `no` when omitted."
post_only:
type: boolean
description: "Reject the order instead of taking liquidity. Cannot be combined with `ioc`."
ioc:
type: boolean
description: "Immediate-or-cancel — cancel the unmatched remainder instead of resting it. Cannot be combined with `post_only` or `rpi`."
rpi:
type: boolean
description: "Retail Price Improvement order. Implies `post_only`; cannot be combined with `ioc`."
OrderLimitPlaceResponse:
type: object
required:
- id
- result
- error
properties:
id:
type: integer
description: Request identifier matching the request
result:
type: object
description: "Accepted order. Returns the standard order object. A limit order reports `type` `1`."
error:
type: "null"
description: Error object (null on success)
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/asyncapis/whitebit-private-order-limit-place-asyncapi"
curl "https://apis.io/api/v1/asyncapis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.