accountUnsubscribe – Solana
The accountUnsubscribe JSON-RPC method allows clients to unsubscribe from receiving Solana account change notifications.
The accountUnsubscribe method stops real-time updates for a subscribed account in Solana’s WebSocket API.
The accountUnsubscribe method is part of Solana’s WebSocket API, allowing clients to stop receiving real-time updates for a previously subscribed account. This method is essential for managing WebSocket connections efficiently, preventing unnecessary data flow, and optimizing resource usage in applications that track on-chain account changes. By calling this method, developers can unsubscribe from updates associated with a specific subscription ID.
Supported Networks
This method is accessible via the following API endpoints:
- Mainnet 
- Devnet 
Parameters
Required Parameter
- number(required): The subscription ID of the account to unsubscribe.
Result
The response returns a boolean value indicating whether the unsubscribe operation was successful.
Result Format
- bool:- trueif the unsubscribe was successful; otherwise,- false.
Request Example
API Endpoints
wss://go.getblock.io/<ACCESS-TOKEN>/JSON-RPC Request
wscat -c "wss://go.getblock.io/<ACCESS-TOKEN>/" -x '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "accountUnsubscribe",
    "params": [0]
}'Response
A successful request returns a boolean value.
Example Response
{
  "jsonrpc": "2.0",
  "result": true,
  "id": 1
}In this response:
- result:- trueindicates the unsubscribe operation was successful.
Error Handling
Common accountUnsubscribe error scenarios:
- Invalid subscription ID: The provided ID does not correspond to an active subscription. 
- Network issues: Problems with the Solana JSON-RPC API endpoints. 
Example Error Response
{
  "jsonrpc": "2.0",
  "error": {
    "code": -32602,
    "message": "Invalid subscription ID"
  },
  "id": 1
}Use Cases
The Solana accountUnsubscribe method is essential for:
- Managing network resources by terminating unused subscriptions; 
- Optimizing dApp performance; 
- Reducing network bandwidth consumption. 
Code accountUnsubscribe Example – Web3 Integration
const WebSocket = require('ws');
const url = "wss://go.getblock.io/<ACCESS-TOKEN>/";
const payload = {
  jsonrpc: "2.0",
  id: 1,
  method: "accountUnsubscribe",
  params: [0]
};
const ws = new WebSocket(url);
ws.on('open', () => {
  ws.send(JSON.stringify(payload));
});
ws.on('message', (data) => {
  console.log("Unsubscribe Response:", JSON.parse(data));
});
ws.on('error', (error) => {
  console.error("WebSocket error:", error.message);
});
ws.on('close', () => {
  console.log("WebSocket connection closed");
});Integration with Web3
By integrating Web3 accountUnsubscribe into Solana's Core API, developers can efficiently manage subscription lifecycles, improve dApp performance, and optimize network resource utilization.
Last updated