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

# accountSubscribe | Solana

> Subscribe to real-time Solana account changes with accountSubscribe. Receive WebSocket notifications whenever a monitored account is modified.

## Parameters

* `publicKey` - The public key of the account to monitor, as a base-58 encoded string

* `<commitment>` - (optional) The level of commitment desired when querying state. Default is "finalized".

* `encoding` - (optional) Data encoding for the account data:

  * `"base58"` - Base-58 encoding (default)
  * `"base64"` - Base-64 encoding
  * `"base64+zstd"` - Compressed Base-64 encoding
  * `"jsonParsed"` - JSON format (if program supports it)

## Response

* `result` - An integer subscription id (needed to unsubscribe)

* `subscription` - An object containing account information:

  * `lamports` - Number of lamports assigned to the account
  * `owner` - Base-58 encoded public key of the program this account has been assigned to
  * `data` - Account data, encoded according to specified encoding parameter
  * `executable` - Boolean indicating if the account contains a program
  * `rentEpoch` - The epoch at which this account will next owe rent

## `accountSubscribe` code examples

This example subscribes to changes in a token account.

<Info>
  Note that subscriptions require a WebSocket connection and [WebSocket cat](https://www.npmjs.com/package/wscat) for you to use this method in the console.

  Install WebSocket cat with:

  `npm install -g wscat`
</Info>

<CodeGroup>
  ```shell wscat theme={"system"}
  $ wscat -c YOUR_CHAINSTACK_WEBSOCKET_ENDPOINT
  # Wait for the connection to be established

  Connected (press CTRL+C to quit)

  > {"jsonrpc":"2.0","id":1,"method":"accountSubscribe","params":["39azUYFWPz3VHgKCf3VChUwbpURdCHRxjWVowf5jUJjg",{"encoding":"jsonParsed","commitment":"finalized"}]}
  ```
</CodeGroup>

## Use case

The `accountSubscribe` method in Solana is essential for applications that need to monitor account state changes in real-time. Common use cases include:

* Token tracking: Monitor token account balances for changes to update user interfaces instantly
* Program monitoring: Track program-owned accounts to detect state changes in smart contracts
* Wallet integration: Keep wallet balances and account states synchronized with the blockchain
* DeFi applications: Monitor liquidity pools, lending positions, or other DeFi-related accounts
* Gaming: Track in-game asset accounts and player state changes in real-time

By subscribing to account changes, applications can provide responsive user experiences without constantly polling the blockchain for updates. This is particularly useful for applications requiring real-time updates like trading interfaces, gaming platforms, or wallet applications.
