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

# Crypto underlying

> Live Chainlink underlying USD ticks for crypto up/down charts (btc, eth, …). Isolated from probability price rooms.



## AsyncAPI

````yaml datastream/pm-crypto.json cryptoUnderlying
id: cryptoUnderlying
title: Crypto underlying
description: >-
  Live Chainlink underlying USD ticks for crypto up/down charts (btc, eth, …).
  Isolated from probability price rooms.
servers:
  - id: production
    protocol: wss
    host: datastream.solanatracker.io
    bindings: []
    variables:
      - id: apiKey
        description: Your unique API key from Data API subscription
        defaultValue: YOUR_DATASTREAM_KEY
        allowedValues: []
        examples: []
address: /
parameters: []
bindings: []
operations:
  - &ref_1
    id: subscribeCryptoUnderlying
    title: Subscribe crypto underlying
    description: Subscribe to Chainlink underlying price ticks
    type: receive
    messages:
      - &ref_4
        id: joinCryptoUnderlying
        payload:
          - name: joinCryptoUnderlying
            description: Subscribe to Chainlink underlying price ticks
            type: object
            properties:
              - name: type
                type: string
                description: join
                required: true
              - name: room
                type: string
                description: 'Room pattern: `pm:crypto:{asset}`'
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - type
            - room
          properties:
            type:
              type: string
              const: join
              default: join
              x-parser-schema-id: <anonymous-schema-2>
            room:
              type: string
              description: 'Room pattern: `pm:crypto:{asset}`'
              default: pm:crypto:btc
              x-parser-schema-id: <anonymous-schema-3>
          examples:
            - type: join
              room: pm:crypto:btc
          x-parser-schema-id: <anonymous-schema-1>
        title: Join crypto underlying
        description: Subscribe to Chainlink underlying price ticks
        example: |-
          {
            "type": "join",
            "room": "pm:crypto:btc"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: joinCryptoUnderlying
          - id: x-parser-message-name
            value: joinCryptoUnderlying
    bindings: []
    extensions: &ref_0
      - id: x-displayName
        value: Crypto Underlying
      - id: x-parser-unique-object-id
        value: cryptoUnderlying
  - &ref_3
    id: receiveCryptoUnderlyingMessage
    title: Receive crypto underlying message
    description: Receive Crypto Underlying updates
    type: send
    messages:
      - &ref_6
        id: cryptoUnderlyingMessage
        payload:
          - name: cryptoUnderlyingMessage
            description: Crypto Underlying update
            type: object
            properties:
              - name: type
                type: string
                description: message
                required: false
              - name: room
                type: string
                required: false
              - name: data
                type: object
                description: >-
                  Flat room data. Envelope fields plus event-specific fields
                  (trade/price/orderbook/…) at the top level.
                required: false
                properties:
                  - name: type
                    type: string
                    description: >-
                      Event kind (trade, price, orderbook_snapshot, quote,
                      crypto_price, …)
                    required: true
                  - name: channel
                    type: string
                    enumValues:
                      - prices
                      - trades
                      - orderbook
                      - quotes
                      - volume
                      - market_lifecycle
                      - resolution
                    required: true
                  - name: exchange
                    type: string
                    enumValues:
                      - kalshi
                      - polymarket
                    required: true
                  - name: marketId
                    type: string
                    required: true
                  - name: eventId
                    type: string
                    required: false
                  - name: seriesId
                    type: string
                    required: false
                  - name: category
                    type: string
                    required: false
                  - name: sport
                    type: string
                    required: false
                  - name: sourceId
                    type: string
                    description: Exchange/source idempotency key (omit when empty)
                    required: false
                  - name: timestamp
                    type: integer
                    description: Unix epoch milliseconds
                    required: true
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            type:
              type: string
              const: message
              x-parser-schema-id: <anonymous-schema-8>
            room:
              type: string
              x-parser-schema-id: <anonymous-schema-9>
            data:
              type: object
              description: >-
                Flat room data. Envelope fields plus event-specific fields
                (trade/price/orderbook/…) at the top level.
              additionalProperties: true
              required:
                - type
                - channel
                - exchange
                - marketId
                - timestamp
              properties:
                type:
                  type: string
                  description: >-
                    Event kind (trade, price, orderbook_snapshot, quote,
                    crypto_price, …)
                  x-parser-schema-id: <anonymous-schema-10>
                channel:
                  type: string
                  enum:
                    - prices
                    - trades
                    - orderbook
                    - quotes
                    - volume
                    - market_lifecycle
                    - resolution
                  x-parser-schema-id: <anonymous-schema-11>
                exchange:
                  type: string
                  enum:
                    - kalshi
                    - polymarket
                  x-parser-schema-id: <anonymous-schema-12>
                marketId:
                  type: string
                  x-parser-schema-id: <anonymous-schema-13>
                eventId:
                  type: string
                  x-parser-schema-id: <anonymous-schema-14>
                seriesId:
                  type: string
                  x-parser-schema-id: <anonymous-schema-15>
                category:
                  type: string
                  x-parser-schema-id: <anonymous-schema-16>
                sport:
                  type: string
                  x-parser-schema-id: <anonymous-schema-17>
                sourceId:
                  type: string
                  description: Exchange/source idempotency key (omit when empty)
                  x-parser-schema-id: <anonymous-schema-18>
                timestamp:
                  type: integer
                  description: Unix epoch milliseconds
                  x-parser-schema-id: <anonymous-schema-19>
              x-parser-schema-id: RealtimeData
          examples:
            - type: message
              room: pm:crypto:btc
              data:
                type: crypto_price
                channel: prices
                exchange: polymarket
                marketId: btc/usd
                category: crypto
                sourceId: chainlink:btc/usd:1782753357213
                timestamp: 1782753357213
                symbol: BTC
                pair: btc/usd
                asset: btc
                value: 64822.23
                source: chainlink
          x-parser-schema-id: <anonymous-schema-7>
        title: Crypto underlying message
        description: Crypto Underlying update
        example: |-
          {
            "type": "message",
            "room": "pm:crypto:btc",
            "data": {
              "type": "crypto_price",
              "channel": "prices",
              "exchange": "polymarket",
              "marketId": "btc/usd",
              "category": "crypto",
              "sourceId": "chainlink:btc/usd:1782753357213",
              "timestamp": 1782753357213,
              "symbol": "BTC",
              "pair": "btc/usd",
              "asset": "btc",
              "value": 64822.23,
              "source": "chainlink"
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: cryptoUnderlyingMessage
          - id: x-parser-message-name
            value: cryptoUnderlyingMessage
    bindings: []
    extensions: *ref_0
  - &ref_2
    id: unsubscribeCryptoUnderlying
    title: Unsubscribe crypto underlying
    description: Unsubscribe from Crypto Underlying
    type: receive
    messages:
      - &ref_5
        id: leaveCryptoUnderlying
        payload:
          - name: leaveCryptoUnderlying
            description: Unsubscribe from Crypto Underlying
            type: object
            properties:
              - name: type
                type: string
                description: leave
                required: true
              - name: room
                type: string
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - type
            - room
          properties:
            type:
              type: string
              const: leave
              default: leave
              x-parser-schema-id: <anonymous-schema-21>
            room:
              type: string
              default: pm:crypto:btc
              x-parser-schema-id: <anonymous-schema-22>
          examples:
            - type: leave
              room: pm:crypto:btc
          x-parser-schema-id: <anonymous-schema-20>
        title: Leave crypto underlying
        description: Unsubscribe from Crypto Underlying
        example: |-
          {
            "type": "leave",
            "room": "pm:crypto:btc"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: leaveCryptoUnderlying
          - id: x-parser-message-name
            value: leaveCryptoUnderlying
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_1
  - *ref_2
receiveOperations:
  - *ref_3
sendMessages:
  - *ref_4
  - *ref_5
receiveMessages:
  - *ref_6
extensions:
  - id: x-displayName
    value: Crypto Underlying
  - id: x-parser-unique-object-id
    value: cryptoUnderlying
securitySchemes:
  - id: apiKeyAuth
    name: apiKey
    type: httpApiKey
    description: >-
      API key for authentication. Include your Datastream key in the connection
      URL: wss://datastream.solanatracker.io/{DATASTREAM_KEY}
    in: header
    extensions: []

````