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

# Public Trades

> Public trade notifications when trades occur.

**Requirements:**
- No additional channel-level authentication beyond the authenticated WebSocket connection
- Market specification optional (omit to receive all trades)
- Updates sent immediately after trade execution

**Use case:** Trade feed, volume analysis




## AsyncAPI

````yaml asyncapi.yaml trade
id: trade
title: Public Trades
description: >
  Public trade notifications when trades occur.


  **Requirements:**

  - No additional channel-level authentication beyond the authenticated
  WebSocket connection

  - Market specification optional (omit to receive all trades)

  - Updates sent immediately after trade execution


  **Use case:** Trade feed, volume analysis
servers:
  - id: production
    protocol: wss
    host: external-api-ws.kalshi.com
    bindings: []
    variables: []
address: trade
parameters: []
bindings: []
operations:
  - &ref_2
    id: receiveTrade
    title: Trade Update
    description: Receive public trade notifications
    type: send
    messages:
      - &ref_3
        id: trade
        contentType: application/json
        payload:
          - name: Trade Update
            description: Public trade information
            type: object
            properties:
              - name: type
                type: string
                description: trade
                required: true
              - name: sid
                type: integer
                description: >-
                  Server-generated subscription identifier (sid) used to
                  identify the channel
                required: true
              - name: seq
                type: integer
                description: >-
                  Sequential number that should be checked if you want to
                  guarantee you received all the messages. Used for
                  snapshot/delta consistency
                required: true
              - name: msg
                type: object
                required: true
                properties:
                  - name: trade_id
                    type: string
                    description: Unique identifier for the trade
                    required: true
                  - name: market_ticker
                    type: string
                    description: Unique market identifier
                    examples: &ref_0
                      - FED-23DEC-T3.00
                      - HIGHNY-22DEC23-B53.5
                    required: true
                  - name: yes_price_dollars
                    type: string
                    description: Yes side price in dollars
                    required: true
                  - name: no_price_dollars
                    type: string
                    description: No side price in dollars
                    required: true
                  - name: count_fp
                    type: string
                    description: Fixed-point contracts traded (2 decimals)
                    required: true
                  - name: taker_side
                    type: string
                    description: Market side
                    enumValues:
                      - 'yes'
                      - 'no'
                    required: true
                  - name: taker_outcome_side
                    type: string
                    description: Market side
                    enumValues:
                      - 'yes'
                      - 'no'
                    required: true
                  - name: taker_book_side
                    type: string
                    description: >-
                      Side of the book for an order or trade. 'bid' is
                      equivalent to outcome_side 'yes'; 'ask' is equivalent to
                      outcome_side 'no'.
                    enumValues:
                      - bid
                      - ask
                    required: true
                  - name: is_block_trade
                    type: boolean
                    description: True if the trade was matched off book as a block trade
                    required: true
                  - name: ts
                    type: integer
                    description: Deprecated - Unix timestamp in seconds. Use ts_ms instead.
                    deprecated: true
                    required: true
                  - name: ts_ms
                    type: integer
                    description: Unix timestamp in milliseconds
                    required: true
              - name: sending_ts_ms
                type: integer
                description: >-
                  Unix timestamp in milliseconds when Kalshi queued this message
                  at the network layer.
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - type
            - sid
            - seq
            - msg
          properties:
            type:
              type: string
              const: trade
              x-parser-schema-id: <anonymous-schema-108>
            sid:
              type: integer
              description: >-
                Server-generated subscription identifier (sid) used to identify
                the channel
              minimum: 1
              x-parser-schema-id: subscriptionId
            seq:
              type: integer
              description: >-
                Sequential number that should be checked if you want to
                guarantee you received all the messages. Used for snapshot/delta
                consistency
              minimum: 1
              x-parser-schema-id: sequenceNumber
            msg:
              type: object
              required:
                - trade_id
                - market_ticker
                - yes_price_dollars
                - no_price_dollars
                - count_fp
                - taker_side
                - taker_outcome_side
                - taker_book_side
                - is_block_trade
                - ts
                - ts_ms
              properties:
                trade_id:
                  type: string
                  description: Unique identifier for the trade
                  format: uuid
                  x-parser-schema-id: <anonymous-schema-110>
                market_ticker:
                  type: string
                  description: Unique market identifier
                  examples: *ref_0
                  x-parser-schema-id: marketTicker
                yes_price_dollars:
                  type: string
                  description: Yes side price in dollars
                  x-rust-type: common::types::Price
                  x-rust-serialize-with: ws::dto::serde_money::serialize_price_dollars
                  x-parser-schema-id: <anonymous-schema-111>
                no_price_dollars:
                  type: string
                  description: No side price in dollars
                  x-rust-type: common::types::Price
                  x-rust-serialize-with: ws::dto::serde_money::serialize_price_dollars
                  x-parser-schema-id: <anonymous-schema-112>
                count_fp:
                  type: string
                  description: Fixed-point contracts traded (2 decimals)
                  x-rust-type: common::types::Amount
                  x-rust-serialize-with: ws::dto::serde_money::serialize_amount_fixed_point_count
                  x-parser-schema-id: <anonymous-schema-113>
                taker_side: &ref_1
                  type: string
                  description: Market side
                  enum:
                    - 'yes'
                    - 'no'
                  x-parser-schema-id: marketSide
                taker_outcome_side: *ref_1
                taker_book_side:
                  type: string
                  description: >-
                    Side of the book for an order or trade. 'bid' is equivalent
                    to outcome_side 'yes'; 'ask' is equivalent to outcome_side
                    'no'.
                  enum:
                    - bid
                    - ask
                  x-parser-schema-id: bookSide
                is_block_trade:
                  type: boolean
                  description: True if the trade was matched off book as a block trade
                  x-parser-schema-id: <anonymous-schema-114>
                ts:
                  type: integer
                  deprecated: true
                  description: Deprecated - Unix timestamp in seconds. Use ts_ms instead.
                  format: int64
                  x-parser-schema-id: <anonymous-schema-115>
                ts_ms:
                  type: integer
                  description: Unix timestamp in milliseconds
                  format: int64
                  x-parser-schema-id: <anonymous-schema-116>
              x-parser-schema-id: <anonymous-schema-109>
            sending_ts_ms:
              type: integer
              format: int64
              description: >-
                Unix timestamp in milliseconds when Kalshi queued this message
                at the network layer.
              x-parser-schema-id: sendingTimestampMs
          x-parser-schema-id: tradePayload
        title: Trade Update
        description: Public trade information
        example: |-
          {
            "type": "trade",
            "sending_ts_ms": 1669149841123,
            "sid": 11,
            "seq": 2,
            "msg": {
              "trade_id": "d91bc706-ee49-470d-82d8-11418bda6fed",
              "market_ticker": "HIGHNY-22DEC23-B53.5",
              "yes_price_dollars": "0.3600",
              "no_price_dollars": "0.6400",
              "count_fp": "136.00",
              "taker_side": "no",
              "taker_outcome_side": "no",
              "taker_book_side": "ask",
              "is_block_trade": false,
              "ts": 1669149841,
              "ts_ms": 1669149841000
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: trade
    bindings: []
    extensions:
      - id: x-parser-unique-object-id
        value: trade
sendOperations: []
receiveOperations:
  - *ref_2
sendMessages: []
receiveMessages:
  - *ref_3
extensions:
  - id: x-parser-unique-object-id
    value: trade
securitySchemes:
  - id: apiKey
    name: apiKey
    type: apiKey
    description: |
      API key authentication required for WebSocket connections.
      The API key should be provided during the WebSocket handshake.
    in: user
    extensions: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.