WhiteBIT · AsyncAPI Specification

WhiteBit Place Spot Stop-Market Order

Version 1.0.0

Place a spot stop-market order over the WebSocket connection. The order waits outside the order book until the market reaches `activation_price`, then fires a market order. Because the resulting order carries no limit price, `price` is reported as `"0"`. The unit of `amount` follows the market-order convention: [money](/glossary#money) on a buy, [stock](/glossary#stock) on a sell. Use `order_stop_market_stock_place` for stock sizing on both sides.

View Spec View on GitHub CompanyCryptocurrencyExchangeTradingWebSocketAsyncAPIEventsWebSockets

Channels

/ws
Spot stop-market order placement channel

Messages

✉
orderStopMarketPlaceRequest
Place stop-market order
Place a spot stop-market order
✉
orderStopMarketPlaceResponse
Place Stop-Market Order Response
Accepted conditional order (status OPEN, not activated)

Servers

wss
production
WhiteBIT Global Server
wss
eu
WhiteBIT EU Server

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: WhiteBit Place Spot Stop-Market Order
  version: 1.0.0
  description: |
    Place a spot stop-market order over the WebSocket connection.

    The order waits outside the order book until the market reaches `activation_price`, then
    fires a market order. Because the resulting order carries no limit price, `price` is
    reported as `"0"`.

    The unit of `amount` follows the market-order convention: [money](/glossary#money) on a
    buy, [stock](/glossary#stock) on a sell. Use `order_stop_market_stock_place` for stock
    sizing on both sides.
  x-auth-required: true
  x-rate-limits:
    connections-per-minute: 1000
    order-placements-per-10-seconds: 10000
  x-error-codes:
    - code: 101
      message: activation price should not be equal to the last price
      description: "The activation price equals the current last price. Move the trigger to either side of it."
    - code: 251
      message: activation price is out of bands
      description: "The activation price falls outside the market price bands."
    - code: 159
      message: wrong limit price for stop market order
      description: "The trigger price is inconsistent with the resulting market order."
    - code: 42
      message: order slippage threshold
      description: "The slippage guard stopped the order created on activation."
    - code: 51
      message: trading in the market is not allowed
      description: "Trading is suspended, or the market runs in post-only mode — a stop method 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 stop-market order placement channel
    messages:
      orderStopMarketPlaceRequest:
        $ref: '#/components/messages/orderStopMarketPlaceRequest'
      orderStopMarketPlaceResponse:
        $ref: '#/components/messages/orderStopMarketPlaceResponse'

operations:
  sendOrderStopMarketPlaceRequest:
    action: receive
    channel:
      $ref: '#/channels/~1ws'
    messages:
      - $ref: '#/channels/~1ws/messages/orderStopMarketPlaceRequest'

  receiveOrderStopMarketPlaceResponse:
    action: send
    channel:
      $ref: '#/channels/~1ws'
    messages:
      - $ref: '#/channels/~1ws/messages/orderStopMarketPlaceResponse'

components:
  messages:
    orderStopMarketPlaceRequest:
      name: OrderStopMarketPlaceRequest
      title: Place stop-market order
      summary: Place a spot stop-market order
      payload:
        $ref: '#/components/schemas/OrderStopMarketPlaceRequest'
      examples:
        - name: orderStopMarketPlaceBuy
          summary: |
            Place a buy stop-market order with parameters:
            - params[0]: order object with market, side, amount in money, and activation_price
          payload:
            id: 500006
            method: order_stop_market_place
            params:
              - market: ETH_USDT
                side: buy
                amount: "3.00"
                activation_price: "1916.38"
                stp: "no"

    orderStopMarketPlaceResponse:
      name: OrderStopMarketPlaceResponse
      title: Place Stop-Market Order Response
      summary: Accepted conditional order (status OPEN, not activated)
      payload:
        $ref: '#/components/schemas/OrderStopMarketPlaceResponse'
      examples:
        - name: orderStopMarketPlaceAccepted
          summary: Order waiting for the trigger; the amount sent as "3.00" is echoed as "3"
          payload:
            id: 500006
            result:
              id: 2423735874404
              market: ETH_USDT
              type: 4
              side: 2
              post_only: false
              ioc: false
              ctime: 1786452690.5743451
              mtime: 1786452690.5743451
              activation_price: "1916.38"
              activation_condition: gte
              activated: 0
              price: "0"
              amount: "3"
              left: "3"
              deal_stock: "0"
              deal_money: "0"
              deal_fee: "0"
              client_order_id: ""
              stp: "no"
              status: OPEN
            error: null

  schemas:
    OrderStopMarketPlaceRequest:
      type: object
      required:
        - id
        - method
        - params
      properties:
        id:
          type: integer
          description: Unique request identifier. The response echoes this value.
        method:
          type: string
          const: order_stop_market_place
          description: "Method name. Fixed value: `order_stop_market_place`."
        params:
          type: array
          minItems: 1
          maxItems: 1
          items:
            $ref: '#/components/schemas/OrderStopMarketPlaceParams'
          description: Array containing exactly one order parameter object

    OrderStopMarketPlaceParams:
      type: object
      required:
        - market
        - side
        - amount
        - activation_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. Money on a buy, stock on a sell."
          example: "3.00"
        activation_price:
          type: string
          description: "Trigger price, validated against the market price bands. Outside them the call returns error `251`."
          example: "1916.38"
        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 applied to the order created on activation. Defaults to `no` when omitted."

    OrderStopMarketPlaceResponse:
      type: object
      required:
        - id
        - result
        - error
      properties:
        id:
          type: integer
          description: Request identifier matching the request
        result:
          type: object
          description: "Accepted conditional order with `price` `\"0\"`, because the order created on activation carries no limit price. Reports `type` `4`."
        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.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/whitebit-private-order-stop-market-place-asyncapi"
All 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.