Bitnomial Market Data WebSocket API

Real-time WebSocket market-data feed delivering trade, order book, block trade, and market status messages for subscribed products.

AsyncAPI Specification

bitnomial-market-data-asyncapi.yml Raw ↑
asyncapi: 3.0.0
info:
  title: Bitnomial Market Data WebSocket API
  version: v1
  description: >-
    Real-time market-data feed for Bitnomial's CFTC-regulated derivatives
    exchange. Clients open a WebSocket connection and must send a subscribe
    message within 10 seconds or they are disconnected. Faithful AsyncAPI
    representation generated by the API Evangelist enrichment pipeline from
    Bitnomial's published WebSocket API documentation; not an official
    Bitnomial artifact.
  externalDocs:
    url: https://bitnomial.com/exchange/docs/api/websocket/subscribe/
x-apievangelist:
  generated: '2026-07-18'
  method: generated
  source: https://bitnomial.com/exchange/docs/api/websocket/subscribe/
defaultContentType: application/json
channels:
  trade:
    address: trade
    description: Trade updates for subscribed products.
    messages:
      tradeUpdate:
        $ref: '#/components/messages/TradeUpdate'
  book:
    address: book
    description: Order book updates for subscribed products.
    messages:
      bookUpdate:
        $ref: '#/components/messages/BookUpdate'
  block:
    address: block
    description: Block-trade updates for subscribed products.
    messages:
      blockUpdate:
        $ref: '#/components/messages/BlockUpdate'
  status:
    address: status
    description: Market/product status messages.
    messages:
      statusUpdate:
        $ref: '#/components/messages/StatusUpdate'
  control:
    address: control
    description: Client subscribe/unsubscribe control messages and disconnects.
    messages:
      subscribe:
        $ref: '#/components/messages/Subscribe'
      unsubscribe:
        $ref: '#/components/messages/Unsubscribe'
      disconnect:
        $ref: '#/components/messages/Disconnect'
operations:
  subscribe:
    action: send
    channel:
      $ref: '#/channels/control'
    messages:
      - $ref: '#/channels/control/messages/subscribe'
    description: >-
      Subscribe to one or more channels for one or more product codes. Must be
      sent within 10 seconds of connecting.
  receiveTrade:
    action: receive
    channel:
      $ref: '#/channels/trade'
  receiveBook:
    action: receive
    channel:
      $ref: '#/channels/book'
  receiveBlock:
    action: receive
    channel:
      $ref: '#/channels/block'
  receiveStatus:
    action: receive
    channel:
      $ref: '#/channels/status'
components:
  messages:
    Subscribe:
      name: subscribe
      payload:
        type: object
        properties:
          type:
            type: string
            const: subscribe
          product_codes:
            type: array
            items:
              type: string
            example: [BUCZ26, BUCO]
          channels:
            type: array
            items:
              type: string
              enum: [trade, book, block, status]
    Unsubscribe:
      name: unsubscribe
      payload:
        type: object
        properties:
          type:
            type: string
            const: unsubscribe
          product_codes:
            type: array
            items:
              type: string
          channels:
            type: array
            items:
              type: string
              enum: [trade, book, block, status]
    Disconnect:
      name: disconnect
      payload:
        type: object
        properties:
          reason:
            type: string
            description: Explanation for why the connection was terminated.
    TradeUpdate:
      name: trade
      payload:
        type: object
        description: Trade event for a product.
    BookUpdate:
      name: book
      payload:
        type: object
        description: Order book update for a product.
    BlockUpdate:
      name: block
      payload:
        type: object
        description: Block-trade event for a product.
    StatusUpdate:
      name: status
      payload:
        type: object
        description: Market or product status message.