> ## 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.

# Token changes

> Subscribe to all pool changes for a token



## AsyncAPI

````yaml datastream/pool-token-updates.json tokenChanges
id: tokenChanges
title: Token changes
description: Subscribe to all pool changes for a token
servers:
  - id: production
    protocol: wss
    host: datastream.solanatracker.io
    bindings: []
    variables:
      - id: apiKey
        description: Your unique API key from Data API subscription
        allowedValues: []
        examples: []
address: /
parameters: []
bindings: []
operations:
  - &ref_3
    id: subscribeToToken
    title: Subscribe to token
    description: Subscribe to token changes
    type: receive
    messages:
      - &ref_7
        id: joinToken
        payload:
          - name: joinToken
            description: Subscribe to token changes
            type: object
            properties:
              - name: type
                type: string
                description: join
                required: true
              - name: room
                type: string
                description: Token room (token:{tokenAddress})
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          required:
            - type
            - room
          properties:
            type:
              type: string
              const: join
              default: join
              x-parser-schema-id: <anonymous-schema-71>
            room:
              type: string
              pattern: ^token:[A-Za-z0-9]{32,44}$
              description: Token room (token:{tokenAddress})
              default: token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump
              x-parser-schema-id: <anonymous-schema-72>
          examples:
            - type: join
              room: token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump
          x-parser-schema-id: <anonymous-schema-70>
        title: Join token
        description: Subscribe to token changes
        example: |-
          {
            "type": "join",
            "room": "token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: joinToken
          - id: x-parser-message-name
            value: joinToken
    bindings: []
    extensions: &ref_0
      - id: x-parser-unique-object-id
        value: tokenChanges
  - &ref_5
    id: receiveTokenConfirmation
    title: Receive token confirmation
    description: Receive confirmation
    type: send
    messages:
      - &ref_9
        id: tokenJoined
        payload:
          - name: tokenJoined
            description: Token subscription confirmed
            type: object
            properties:
              - name: type
                type: string
                description: joined
                required: false
              - name: room
                type: string
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            type:
              type: string
              const: joined
              x-parser-schema-id: <anonymous-schema-74>
            room:
              type: string
              x-parser-schema-id: <anonymous-schema-75>
          examples:
            - type: joined
              room: token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump
          x-parser-schema-id: <anonymous-schema-73>
        title: Token joined
        description: Token subscription confirmed
        example: |-
          {
            "type": "joined",
            "room": "token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: tokenJoined
          - id: x-parser-message-name
            value: tokenJoined
    bindings: []
    extensions: *ref_0
  - &ref_6
    id: receiveTokenData
    title: Receive token data
    description: Receive token updates
    type: send
    messages:
      - &ref_10
        id: tokenMessage
        payload:
          - name: tokenMessage
            description: Token update notification
            type: object
            properties:
              - name: type
                type: string
                description: message
                required: false
              - name: room
                type: string
                required: false
              - name: data
                type: object
                required: false
                properties:
                  - name: poolId
                    type: string
                    required: false
                  - name: liquidity
                    type: object
                    required: false
                    properties:
                      - name: quote
                        type: number
                        required: false
                      - name: usd
                        type: number
                        required: false
                  - name: price
                    type: object
                    required: false
                    properties:
                      - name: quote
                        type: number
                        required: false
                      - name: usd
                        type: number
                        required: false
                  - name: tokenSupply
                    type: integer
                    required: false
                  - name: lpBurn
                    type: number
                    required: false
                  - name: tokenAddress
                    type: string
                    required: false
                  - name: marketCap
                    type: object
                    required: false
                    properties:
                      - name: quote
                        type: number
                        required: false
                      - name: usd
                        type: number
                        required: false
                  - name: decimals
                    type: integer
                    required: false
                  - name: security
                    type: object
                    required: false
                    properties:
                      - name: freezeAuthority
                        type: &ref_1
                          - string
                          - 'null'
                        required: false
                      - name: mintAuthority
                        type: &ref_2
                          - string
                          - 'null'
                        required: false
                  - name: quoteToken
                    type: string
                    required: false
                  - name: market
                    type: string
                    required: false
                  - name: deployer
                    type: string
                    required: false
                  - name: lastUpdated
                    type: integer
                    required: false
                  - name: createdAt
                    type: integer
                    required: false
                  - name: curvePercentage
                    type: number
                    required: false
                  - name: curve
                    type: string
                    required: false
                  - name: txns
                    type: object
                    required: false
                    properties:
                      - name: buys
                        type: integer
                        required: false
                      - name: sells
                        type: integer
                        required: false
                      - name: total
                        type: integer
                        required: false
                      - name: volume
                        type: number
                        required: false
                      - name: volume24h
                        type: number
                        required: false
                  - name: bundleId
                    type: string
                    required: false
                  - name: launchpad
                    type: object
                    required: false
                    properties:
                      - name: name
                        type: string
                        required: false
                      - name: url
                        type: string
                        required: false
                      - name: logo
                        type: string
                        required: false
                      - name: baseLiquidity
                        type: object
                        required: false
                        properties:
                          - name: amount
                            type: number
                            required: false
                          - name: usd
                            type: number
                            required: false
                      - name: quoteLiquidity
                        type: object
                        required: false
                        properties:
                          - name: amount
                            type: number
                            required: false
                          - name: usd
                            type: number
                            required: false
                  - name: meteoraCurve
                    type: object
                    required: false
                    properties:
                      - name: baseLiquidity
                        type: object
                        required: false
                        properties:
                          - name: base
                            type: number
                            required: false
                          - name: usd
                            type: number
                            required: false
                      - name: quoteLiquidity
                        type: object
                        required: false
                        properties:
                          - name: quote
                            type: number
                            required: false
                          - name: usd
                            type: number
                            required: false
                      - name: fee
                        type: number
                        required: false
                  - name: raydium
                    type: object
                    required: false
                    properties:
                      - name: baseLiquidity
                        type: number
                        required: false
                      - name: quoteLiquidity
                        type: number
                        required: false
                  - name: heaven
                    type: object
                    required: false
                    properties:
                      - name: baseLiquidity
                        type: number
                        required: false
                      - name: quoteLiquidity
                        type: number
                        required: false
                      - name: is_migrated
                        type: boolean
                        required: false
                      - name: migrationTime
                        type: integer
                        required: false
        headers: []
        jsonPayloadSchema:
          type: object
          properties:
            type:
              type: string
              const: message
              x-parser-schema-id: <anonymous-schema-77>
            room:
              type: string
              x-parser-schema-id: <anonymous-schema-78>
            data:
              type: object
              properties:
                poolId:
                  type: string
                  x-parser-schema-id: <anonymous-schema-10>
                liquidity:
                  type: object
                  properties:
                    quote:
                      type: number
                      x-parser-schema-id: <anonymous-schema-12>
                    usd:
                      type: number
                      x-parser-schema-id: <anonymous-schema-13>
                  x-parser-schema-id: <anonymous-schema-11>
                price:
                  type: object
                  properties:
                    quote:
                      type: number
                      x-parser-schema-id: <anonymous-schema-15>
                    usd:
                      type: number
                      x-parser-schema-id: <anonymous-schema-16>
                  x-parser-schema-id: <anonymous-schema-14>
                tokenSupply:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-17>
                lpBurn:
                  type: number
                  x-parser-schema-id: <anonymous-schema-18>
                tokenAddress:
                  type: string
                  x-parser-schema-id: <anonymous-schema-19>
                marketCap:
                  type: object
                  properties:
                    quote:
                      type: number
                      x-parser-schema-id: <anonymous-schema-21>
                    usd:
                      type: number
                      x-parser-schema-id: <anonymous-schema-22>
                  x-parser-schema-id: <anonymous-schema-20>
                decimals:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-23>
                security:
                  type: object
                  properties:
                    freezeAuthority:
                      type: *ref_1
                      x-parser-schema-id: <anonymous-schema-25>
                    mintAuthority:
                      type: *ref_2
                      x-parser-schema-id: <anonymous-schema-26>
                  x-parser-schema-id: <anonymous-schema-24>
                quoteToken:
                  type: string
                  x-parser-schema-id: <anonymous-schema-27>
                market:
                  type: string
                  x-parser-schema-id: <anonymous-schema-28>
                deployer:
                  type: string
                  x-parser-schema-id: <anonymous-schema-29>
                lastUpdated:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-30>
                createdAt:
                  type: integer
                  x-parser-schema-id: <anonymous-schema-31>
                curvePercentage:
                  type: number
                  x-parser-schema-id: <anonymous-schema-32>
                curve:
                  type: string
                  x-parser-schema-id: <anonymous-schema-33>
                txns:
                  type: object
                  properties:
                    buys:
                      type: integer
                      x-parser-schema-id: <anonymous-schema-35>
                    sells:
                      type: integer
                      x-parser-schema-id: <anonymous-schema-36>
                    total:
                      type: integer
                      x-parser-schema-id: <anonymous-schema-37>
                    volume:
                      type: number
                      x-parser-schema-id: <anonymous-schema-38>
                    volume24h:
                      type: number
                      x-parser-schema-id: <anonymous-schema-39>
                  x-parser-schema-id: <anonymous-schema-34>
                bundleId:
                  type: string
                  x-parser-schema-id: <anonymous-schema-40>
                launchpad:
                  type: object
                  properties:
                    name:
                      type: string
                      x-parser-schema-id: <anonymous-schema-42>
                    url:
                      type: string
                      x-parser-schema-id: <anonymous-schema-43>
                    logo:
                      type: string
                      x-parser-schema-id: <anonymous-schema-44>
                    baseLiquidity:
                      type: object
                      properties:
                        amount:
                          type: number
                          x-parser-schema-id: <anonymous-schema-46>
                        usd:
                          type: number
                          x-parser-schema-id: <anonymous-schema-47>
                      x-parser-schema-id: <anonymous-schema-45>
                    quoteLiquidity:
                      type: object
                      properties:
                        amount:
                          type: number
                          x-parser-schema-id: <anonymous-schema-49>
                        usd:
                          type: number
                          x-parser-schema-id: <anonymous-schema-50>
                      x-parser-schema-id: <anonymous-schema-48>
                  x-parser-schema-id: <anonymous-schema-41>
                meteoraCurve:
                  type: object
                  properties:
                    baseLiquidity:
                      type: object
                      properties:
                        base:
                          type: number
                          x-parser-schema-id: <anonymous-schema-53>
                        usd:
                          type: number
                          x-parser-schema-id: <anonymous-schema-54>
                      x-parser-schema-id: <anonymous-schema-52>
                    quoteLiquidity:
                      type: object
                      properties:
                        quote:
                          type: number
                          x-parser-schema-id: <anonymous-schema-56>
                        usd:
                          type: number
                          x-parser-schema-id: <anonymous-schema-57>
                      x-parser-schema-id: <anonymous-schema-55>
                    fee:
                      type: number
                      x-parser-schema-id: <anonymous-schema-58>
                  x-parser-schema-id: <anonymous-schema-51>
                raydium:
                  type: object
                  properties:
                    baseLiquidity:
                      type: number
                      x-parser-schema-id: <anonymous-schema-60>
                    quoteLiquidity:
                      type: number
                      x-parser-schema-id: <anonymous-schema-61>
                  x-parser-schema-id: <anonymous-schema-59>
                heaven:
                  type: object
                  properties:
                    baseLiquidity:
                      type: number
                      x-parser-schema-id: <anonymous-schema-63>
                    quoteLiquidity:
                      type: number
                      x-parser-schema-id: <anonymous-schema-64>
                    is_migrated:
                      type: boolean
                      x-parser-schema-id: <anonymous-schema-65>
                    migrationTime:
                      type: integer
                      x-parser-schema-id: <anonymous-schema-66>
                  x-parser-schema-id: <anonymous-schema-62>
              x-parser-schema-id: Pool
          examples:
            - type: message
              room: token:4557sE3VydBr9wViX3L8kNU2Hs3b4S32pKNyeh2Qpump
              data:
                poolId: 4557sE3VydBr9wViX3L8kNU2Hs3b4S32pKNyeh2Qpump
                liquidity:
                  quote: 74.755555558
                  usd: 6638.665090135331
                price:
                  quote: 4.340162384426218e-8
                  usd: 0.000003854280032024379
                tokenSupply: 1000000000
                lpBurn: 100
                tokenAddress: 4557sE3VydBr9wViX3L8kNU2Hs3b4S32pKNyeh2Qpump
                marketCap:
                  quote: 43.40162384426218
                  usd: 3854.28003202438
                decimals: 6
                security:
                  freezeAuthority: null
                  mintAuthority: null
                quoteToken: So11111111111111111111111111111111111111112
                market: pumpfun
                deployer: 9be8w7td3fXqJfgH5K8uvyeGTd3tWFZqF11u8kJCGQ4p
                pumpfun:
                  isMayhemMode: false
                  tokenProgram: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
                curvePercentage: 26.704463924382424
                curve: AFmJiA5CjZnNKMavE7H1bV7uNUY3kYcVYpG7yZUXKp3C
                lastUpdated: 1770498421829
                createdAt: 1770498421476
          x-parser-schema-id: <anonymous-schema-76>
        title: Token message
        description: Token update notification
        example: |-
          {
            "type": "message",
            "room": "token:4557sE3VydBr9wViX3L8kNU2Hs3b4S32pKNyeh2Qpump",
            "data": {
              "poolId": "4557sE3VydBr9wViX3L8kNU2Hs3b4S32pKNyeh2Qpump",
              "liquidity": {
                "quote": 74.755555558,
                "usd": 6638.665090135331
              },
              "price": {
                "quote": 4.340162384426218e-8,
                "usd": 0.000003854280032024379
              },
              "tokenSupply": 1000000000,
              "lpBurn": 100,
              "tokenAddress": "4557sE3VydBr9wViX3L8kNU2Hs3b4S32pKNyeh2Qpump",
              "marketCap": {
                "quote": 43.40162384426218,
                "usd": 3854.28003202438
              },
              "decimals": 6,
              "security": {
                "freezeAuthority": null,
                "mintAuthority": null
              },
              "quoteToken": "So11111111111111111111111111111111111111112",
              "market": "pumpfun",
              "deployer": "9be8w7td3fXqJfgH5K8uvyeGTd3tWFZqF11u8kJCGQ4p",
              "pumpfun": {
                "isMayhemMode": false,
                "tokenProgram": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb"
              },
              "curvePercentage": 26.704463924382424,
              "curve": "AFmJiA5CjZnNKMavE7H1bV7uNUY3kYcVYpG7yZUXKp3C",
              "lastUpdated": 1770498421829,
              "createdAt": 1770498421476
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: tokenMessage
          - id: x-parser-message-name
            value: tokenMessage
    bindings: []
    extensions: *ref_0
  - &ref_4
    id: unsubscribeFromToken
    title: Unsubscribe from token
    description: Unsubscribe
    type: receive
    messages:
      - &ref_8
        id: leaveToken
        payload:
          - name: leaveToken
            description: Unsubscribe from token changes
            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-80>
            room:
              type: string
              default: token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump
              x-parser-schema-id: <anonymous-schema-81>
          examples:
            - type: leave
              room: token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump
          x-parser-schema-id: <anonymous-schema-79>
        title: Leave token
        description: Unsubscribe from token changes
        example: |-
          {
            "type": "leave",
            "room": "token:HCuFjMcDaSNAyT6mXegLXvrYdBZdT4Xh1YajS8vrpump"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: leaveToken
          - id: x-parser-message-name
            value: leaveToken
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_3
  - *ref_4
receiveOperations:
  - *ref_5
  - *ref_6
sendMessages:
  - *ref_7
  - *ref_8
receiveMessages:
  - *ref_9
  - *ref_10
extensions:
  - id: x-parser-unique-object-id
    value: tokenChanges
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: []

````