> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joyride.exchange/llms.txt
> Use this file to discover all available pages before exploring further.

# Order book updates

> Order book snapshots for an instrument at a given depth.
The first message after subscription is a full snapshot.




## AsyncAPI

````yaml _generated/asyncapi.yaml bookChannel
id: bookChannel
title: Order book updates
description: |
  Order book snapshots for an instrument at a given depth.
  The first message after subscription is a full snapshot.
servers:
  - id: production
    protocol: wss
    host: joyride.exchange
    bindings: []
    variables: []
address: book.{instrument_id}.{depth}
parameters:
  - id: instrument_id
    jsonSchema:
      type: string
      description: Instrument identifier.
      examples:
        - SOL_USDC-28FEB26-150-C
    description: Instrument identifier.
    type: string
    required: true
    deprecated: false
  - id: depth
    jsonSchema:
      type: string
      description: Number of price levels per side.
      default: '10'
      examples:
        - '10'
    description: Number of price levels per side.
    type: string
    required: true
    deprecated: false
bindings: []
operations:
  - &ref_1
    id: receiveBookUpdate
    title: Receive book update
    description: Receive order book snapshots and updates for a subscribed instrument.
    type: receive
    messages:
      - &ref_2
        id: BookUpdate
        contentType: application/json
        payload:
          - name: Order book snapshot
            description: 'Data format: `{ bids: [...], asks: [...] }` — no wrapper fields.'
            type: object
            properties:
              - name: bids
                type: array
                description: Bid levels, best (highest) first
                required: true
                properties:
                  - name: price
                    type: integer
                    description: Price in USDC micros
                    required: true
                  - name: size
                    type: integer
                    description: Aggregate size in millicontracts
                    required: true
                  - name: count
                    type: integer
                    description: Number of orders at this level
                    required: true
              - name: asks
                type: array
                description: Ask levels, best (lowest) first
                required: true
                properties:
                  - name: price
                    type: integer
                    description: Price in USDC micros
                    required: true
                  - name: size
                    type: integer
                    description: Aggregate size in millicontracts
                    required: true
                  - name: count
                    type: integer
                    description: Number of orders at this level
                    required: true
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            bids:
              type: array
              description: Bid levels, best (highest) first
              items: &ref_0
                type: object
                properties:
                  price:
                    type: integer
                    description: Price in USDC micros
                    x-parser-schema-id: <anonymous-schema-157>
                  size:
                    type: integer
                    description: Aggregate size in millicontracts
                    x-parser-schema-id: <anonymous-schema-158>
                  count:
                    type: integer
                    description: Number of orders at this level
                    x-parser-schema-id: <anonymous-schema-159>
                required:
                  - price
                  - size
                  - count
                x-parser-schema-id: PriceLevel
              x-parser-schema-id: <anonymous-schema-156>
            asks:
              type: array
              description: Ask levels, best (lowest) first
              items: *ref_0
              x-parser-schema-id: <anonymous-schema-160>
          required:
            - bids
            - asks
          x-parser-schema-id: <anonymous-schema-155>
        title: Order book snapshot
        description: 'Data format: `{ bids: [...], asks: [...] }` — no wrapper fields.'
        example: |-
          {
            "bids": {
              "price": 123,
              "size": 123,
              "count": 123
            },
            "asks": {
              "price": 123,
              "size": 123,
              "count": 123
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: BookUpdate
    bindings: []
    extensions:
      - id: x-parser-unique-object-id
        value: bookChannel
sendOperations:
  - *ref_1
receiveOperations: []
sendMessages:
  - *ref_2
receiveMessages: []
extensions:
  - id: x-parser-unique-object-id
    value: bookChannel
securitySchemes: []

````