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

# Crypto Prices Playground

> Real-time crypto price ticks relayed from Chainlink Data Streams (Mercury). One tick per upstream observation.



## AsyncAPI

````yaml websocket/asyncapi.json crypto_prices
id: crypto_prices
title: Crypto Prices
description: >-
  Real-time crypto price ticks relayed from Chainlink Data Streams (Mercury).
  One tick per upstream observation.
servers:
  - id: production
    protocol: wss
    host: wss.predexon.com
    bindings: []
    variables: []
address: /
parameters: []
bindings: []
operations:
  - &ref_1
    id: sendSubscribeCryptoPrices
    title: Send subscribe crypto prices
    type: receive
    messages:
      - &ref_6
        id: SubscribeCryptoPrices
        payload:
          - name: Subscribe to Crypto Prices
            description: >-
              Subscribe to Chainlink Data Streams crypto price ticks. Use the
              chainlink platform with type 'crypto'. Only feeds filter or
              wildcard supported.
            type: object
            properties:
              - name: action
                type: string
                description: Must be 'subscribe'
                required: true
              - name: platform
                type: string
                description: Must be 'chainlink'
                required: true
              - name: version
                type: integer
                description: Must be 1
                required: true
              - name: type
                type: string
                description: Must be 'crypto'
                required: true
              - name: filters
                type: object
                description: Only 'feeds' filter supported. Use ["*"] for wildcard.
                required: true
                properties:
                  - name: feeds
                    type: array
                    description: >-
                      Symbols to subscribe to (e.g. 'BTC/USD'), or ["*"] for all
                      entitled feeds.
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - action
            - platform
            - version
            - type
            - filters
          properties:
            action:
              type: string
              description: Must be 'subscribe'
              x-parser-schema-id: <anonymous-schema-269>
            platform:
              type: string
              description: Must be 'chainlink'
              x-parser-schema-id: <anonymous-schema-270>
            version:
              type: integer
              description: Must be 1
              x-parser-schema-id: <anonymous-schema-271>
            type:
              type: string
              description: Must be 'crypto'
              x-parser-schema-id: <anonymous-schema-272>
            filters:
              type: object
              description: Only 'feeds' filter supported. Use ["*"] for wildcard.
              properties:
                feeds:
                  type: array
                  description: >-
                    Symbols to subscribe to (e.g. 'BTC/USD'), or ["*"] for all
                    entitled feeds.
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-275>
                  x-parser-schema-id: <anonymous-schema-274>
              x-parser-schema-id: <anonymous-schema-273>
          examples:
            - action: subscribe
              platform: chainlink
              version: 1
              type: crypto
              filters:
                feeds:
                  - BTC/USD
                  - ETH/USD
            - action: subscribe
              platform: chainlink
              version: 1
              type: crypto
              filters:
                feeds:
                  - '*'
          x-parser-schema-id: <anonymous-schema-268>
        title: Subscribe to Crypto Prices
        description: >-
          Subscribe to Chainlink Data Streams crypto price ticks. Use the
          chainlink platform with type 'crypto'. Only feeds filter or wildcard
          supported.
        example: |-
          {
            "action": "subscribe",
            "platform": "chainlink",
            "version": 1,
            "type": "crypto",
            "filters": {
              "feeds": [
                "BTC/USD",
                "ETH/USD"
              ]
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SubscribeCryptoPrices
          - id: x-parser-message-name
            value: SubscribeCryptoPrices
    bindings: []
    extensions: &ref_0
      - id: x-mint
        value: &ref_11
          content: >-
            <Warning>WebSocket requires a **Dev** or **Pro** API key. Free tier
            keys cannot connect. [Get your key
            →](https://dashboard.predexon.com)</Warning>
      - id: x-parser-unique-object-id
        value: crypto_prices
  - &ref_2
    id: sendUnsubscribeCryptoPrices
    title: Send unsubscribe crypto prices
    type: receive
    messages:
      - &ref_7
        id: Unsubscribe
        payload:
          - name: Unsubscribe
            description: Remove a subscription by ID.
            type: object
            properties:
              - name: action
                type: string
                description: Must be 'unsubscribe'
                required: true
              - name: subscription_id
                type: string
                description: Subscription ID from the ack response (e.g. sub_2f4b15b33798)
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - action
            - subscription_id
          properties:
            action:
              type: string
              description: Must be 'unsubscribe'
              x-parser-schema-id: <anonymous-schema-15>
            subscription_id:
              type: string
              description: Subscription ID from the ack response (e.g. sub_2f4b15b33798)
              x-parser-schema-id: <anonymous-schema-16>
          examples:
            - action: unsubscribe
              subscription_id: sub_2f4b15b33798
          x-parser-schema-id: <anonymous-schema-14>
        title: Unsubscribe
        description: Remove a subscription by ID.
        example: |-
          {
            "action": "unsubscribe",
            "subscription_id": "sub_2f4b15b33798"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Unsubscribe
          - id: x-parser-message-name
            value: Unsubscribe
    bindings: []
    extensions: *ref_0
  - &ref_3
    id: sendUpdateCryptoPrices
    title: Send update crypto prices
    type: receive
    messages:
      - &ref_8
        id: Update
        payload:
          - name: Update Subscription
            description: >-
              Replace filters on an existing subscription. Not supported on the
              orderbook channel.
            type: object
            properties:
              - name: action
                type: string
                description: Must be 'update'
                required: true
              - name: subscription_id
                type: string
                description: Subscription ID to update
                required: true
              - name: filters
                type: object
                description: New filters (replaces existing filters entirely)
                required: true
                properties:
                  - name: users
                    type: array
                    description: Wallet addresses
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: condition_ids
                    type: array
                    description: Market condition IDs
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: market_slugs
                    type: array
                    description: Market URL slugs
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: status
                    type: string
                    description: confirmed, pending, or all (orders channel only)
                    enumValues:
                      - confirmed
                      - pending
                      - all
                    required: false
                  - name: token_ids
                    type: array
                    description: CLOB token IDs (orderbook channel only)
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
                  - name: feeds
                    type: array
                    description: Chainlink crypto feed symbols (crypto_prices channel only)
                    required: false
                    properties:
                      - name: item
                        type: string
                        required: false
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - action
            - subscription_id
            - filters
          properties:
            action:
              type: string
              description: Must be 'update'
              x-parser-schema-id: <anonymous-schema-18>
            subscription_id:
              type: string
              description: Subscription ID to update
              x-parser-schema-id: <anonymous-schema-19>
            filters:
              type: object
              description: New filters (replaces existing filters entirely)
              properties:
                users:
                  type: array
                  description: Wallet addresses
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-22>
                  x-parser-schema-id: <anonymous-schema-21>
                condition_ids:
                  type: array
                  description: Market condition IDs
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-24>
                  x-parser-schema-id: <anonymous-schema-23>
                market_slugs:
                  type: array
                  description: Market URL slugs
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-26>
                  x-parser-schema-id: <anonymous-schema-25>
                status:
                  type: string
                  description: confirmed, pending, or all (orders channel only)
                  enum:
                    - confirmed
                    - pending
                    - all
                  x-parser-schema-id: <anonymous-schema-27>
                token_ids:
                  type: array
                  description: CLOB token IDs (orderbook channel only)
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-29>
                  x-parser-schema-id: <anonymous-schema-28>
                feeds:
                  type: array
                  description: Chainlink crypto feed symbols (crypto_prices channel only)
                  items:
                    type: string
                    x-parser-schema-id: <anonymous-schema-31>
                  x-parser-schema-id: <anonymous-schema-30>
              x-parser-schema-id: <anonymous-schema-20>
          examples:
            - action: update
              subscription_id: sub_2f4b15b33798
              filters:
                users:
                  - 0xnew_address...
                status: all
          x-parser-schema-id: <anonymous-schema-17>
        title: Update Subscription
        description: >-
          Replace filters on an existing subscription. Not supported on the
          orderbook channel.
        example: |-
          {
            "action": "update",
            "subscription_id": "sub_2f4b15b33798",
            "filters": {
              "users": [
                "0xnew_address..."
              ],
              "status": "all"
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Update
          - id: x-parser-message-name
            value: Update
    bindings: []
    extensions: *ref_0
  - &ref_4
    id: receiveAckCryptoPrices
    title: Receive ack crypto prices
    type: send
    messages:
      - &ref_9
        id: Ack
        payload:
          - name: Acknowledgement
            description: >-
              Server acknowledgement for subscribe, unsubscribe, and update
              actions.
            type: object
            properties:
              - name: type
                type: string
                description: ack
                required: true
              - name: subscription_id
                type: string
                description: The subscription ID
                required: true
              - name: channel
                type: string
                description: >-
                  Channel name (trades, activity, lifecycle, orderbook, oracle,
                  collateral, crypto_prices)
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            type:
              type: string
              description: ack
              x-parser-schema-id: <anonymous-schema-33>
            subscription_id:
              type: string
              description: The subscription ID
              x-parser-schema-id: <anonymous-schema-34>
            channel:
              type: string
              description: >-
                Channel name (trades, activity, lifecycle, orderbook, oracle,
                collateral, crypto_prices)
              x-parser-schema-id: <anonymous-schema-35>
          required:
            - type
            - subscription_id
            - channel
          examples:
            - type: ack
              subscription_id: sub_2f4b15b33798
              channel: trades
          x-parser-schema-id: <anonymous-schema-32>
        title: Acknowledgement
        description: Server acknowledgement for subscribe, unsubscribe, and update actions.
        example: |-
          {
            "type": "ack",
            "subscription_id": "sub_2f4b15b33798",
            "channel": "trades"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Ack
          - id: x-parser-message-name
            value: Ack
    bindings: []
    extensions: *ref_0
  - &ref_5
    id: receivePriceFeed
    title: Receive price feed
    type: send
    messages:
      - &ref_10
        id: PriceFeed
        payload:
          - name: Price Feed Tick
            description: Single price tick from a Chainlink Data Streams feed.
            type: object
            properties:
              - name: event_type
                type: string
                description: Always 'price_feed'
                enumValues:
                  - price_feed
                required: true
              - name: feed
                type: string
                description: Feed symbol (e.g. 'BTC/USD')
                required: true
              - name: price
                type: number
                description: Mid / benchmark price
                required: true
              - name: bid
                type: number
                description: Bid price
                required: true
              - name: ask
                type: number
                description: Ask price
                required: true
              - name: observed_at
                type: integer
                description: Upstream observation timestamp (Unix seconds)
                required: true
              - name: timestamp
                type: integer
                description: Same as observed_at (Unix seconds)
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            event_type:
              type: string
              description: Always 'price_feed'
              enum:
                - price_feed
              x-parser-schema-id: <anonymous-schema-277>
            feed:
              type: string
              description: Feed symbol (e.g. 'BTC/USD')
              x-parser-schema-id: <anonymous-schema-278>
            price:
              type: number
              description: Mid / benchmark price
              x-parser-schema-id: <anonymous-schema-279>
            bid:
              type: number
              description: Bid price
              x-parser-schema-id: <anonymous-schema-280>
            ask:
              type: number
              description: Ask price
              x-parser-schema-id: <anonymous-schema-281>
            observed_at:
              type: integer
              description: Upstream observation timestamp (Unix seconds)
              x-parser-schema-id: <anonymous-schema-282>
            timestamp:
              type: integer
              description: Same as observed_at (Unix seconds)
              x-parser-schema-id: <anonymous-schema-283>
          required:
            - event_type
            - feed
            - price
            - bid
            - ask
            - observed_at
            - timestamp
          examples:
            - event_type: price_feed
              feed: BTC/USD
              price: 66225.49
              bid: 66221.69
              ask: 66229.46
              observed_at: 1774672588
              timestamp: 1774672588
          x-parser-schema-id: <anonymous-schema-276>
        title: Price Feed Tick
        description: Single price tick from a Chainlink Data Streams feed.
        example: |-
          {
            "event_type": "price_feed",
            "feed": "BTC/USD",
            "price": 66225.49,
            "bid": 66221.69,
            "ask": 66229.46,
            "observed_at": 1774672588,
            "timestamp": 1774672588
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: PriceFeed
          - id: x-parser-message-name
            value: PriceFeed
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_1
  - *ref_2
  - *ref_3
receiveOperations:
  - *ref_4
  - *ref_5
sendMessages:
  - *ref_6
  - *ref_7
  - *ref_8
receiveMessages:
  - *ref_9
  - *ref_10
extensions:
  - id: x-mint
    value: *ref_11
  - id: x-parser-unique-object-id
    value: crypto_prices
securitySchemes:
  - id: apiKey
    name: api_key
    type: httpApiKey
    description: Your Predexon API key
    in: query
    extensions: []

````