WhiteBit Place Spot Market Order Sized in Stock
Version 1.0.0
Place a spot market order sized in the base asset on both sides. This method behaves like `order_market_place` with one difference: `amount` is always [stock](/glossary#stock), on a buy as well as on a sell. Use it when sizing logic works in coins rather than in quote currency.
Channels
Messages
Servers
AsyncAPI Specification
asyncapi: 3.0.0
info:
title: WhiteBit Place Spot Market Order Sized in Stock
version: 1.0.0
description: |
Place a spot market order sized in the base asset on both sides.
This method behaves like `order_market_place` with one difference: `amount` is always
[stock](/glossary#stock), on a buy as well as on a sell. Use it when sizing logic works
in coins rather than in quote currency.
x-auth-required: true
x-rate-limits:
connections-per-minute: 1000
order-placements-per-10-seconds: 10000
x-error-codes:
- code: 10
message: balance not enough
description: "On a buy the engine still spends money, so the balance must cover the amount multiplied by the best ask, plus fee. A shortfall fills the order only partially."
- code: 11
message: amount too small
description: "The order is below the market `minAmount` or `minTotal`."
- code: 12
message: not enough traders
description: "The order book is empty or too thin to execute any part of the order."
- code: 42
message: order slippage threshold
description: "The slippage guard stopped the order before it consumed the book further."
- code: 51
message: trading in the market is not allowed
description: "Trading is suspended, or the market runs in post-only mode — a market order is rejected there."
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 stock-denominated market order placement channel
messages:
orderMarketStockPlaceRequest:
$ref: '#/components/messages/orderMarketStockPlaceRequest'
orderMarketStockPlaceResponse:
$ref: '#/components/messages/orderMarketStockPlaceResponse'
operations:
sendOrderMarketStockPlaceRequest:
action: receive
channel:
$ref: '#/channels/~1ws'
messages:
- $ref: '#/channels/~1ws/messages/orderMarketStockPlaceRequest'
receiveOrderMarketStockPlaceResponse:
action: send
channel:
$ref: '#/channels/~1ws'
messages:
- $ref: '#/channels/~1ws/messages/orderMarketStockPlaceResponse'
components:
messages:
orderMarketStockPlaceRequest:
name: OrderMarketStockPlaceRequest
title: Place market order in stock
summary: Place a spot market order sized in stock
payload:
$ref: '#/components/schemas/OrderMarketStockPlaceRequest'
examples:
- name: orderMarketStockPlaceBuy
summary: |
Place a buy market order with parameters:
- params[0]: order object with market, side, and amount in stock
payload:
id: 500004
method: order_market_stock_place
params:
- market: ETH_USDT
side: buy
amount: "0.00105"
stp: "no"
orderMarketStockPlaceResponse:
name: OrderMarketStockPlaceResponse
title: Place Market Order In Stock Response
summary: Executed order object (status FILLED)
payload:
$ref: '#/components/schemas/OrderMarketStockPlaceResponse'
examples:
- name: orderMarketStockPlaceFilled
summary: Order matched in full, cost reported in deal_money
payload:
id: 500004
result:
id: 2423735871650
market: ETH_USDT
type: 202
side: 2
post_only: false
ioc: false
ctime: 1786452690.2037799
mtime: 1786452690.2037799
price: "0"
amount: "0.00105"
left: "0"
deal_stock: "0.00105"
deal_money: "1.9824945"
deal_fee: "0.0000021"
client_order_id: ""
stp: "no"
status: FILLED
error: null
schemas:
OrderMarketStockPlaceRequest:
type: object
required:
- id
- method
- params
properties:
id:
type: integer
description: Unique request identifier. The response echoes this value.
method:
type: string
const: order_market_stock_place
description: "Method name. Fixed value: `order_market_stock_place`."
params:
type: array
minItems: 1
maxItems: 1
items:
$ref: '#/components/schemas/OrderMarketStockPlaceParams'
description: Array containing exactly one order parameter object
OrderMarketStockPlaceParams:
type: object
required:
- market
- side
- amount
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 on both sides, at the market stock precision."
example: "0.00105"
client_order_id:
type: string
description: "Custom client order id, echoed on the response. 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."
OrderMarketStockPlaceResponse:
type: object
required:
- id
- result
- error
properties:
id:
type: integer
description: Request identifier matching the request
result:
type: object
description: "Executed order. Returns the standard order object; `deal_money` reports the money actually spent or received. This method reports `type` `202`."
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-market-stock-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.