accountUnsubscribe RPC Method
Parameters
number
The account id for subscription to cancel
Returns
result
boolean
The result will be an RpcResponse JSON object with unsubscribed success message
Request
const web3 = require("@solana/web3.js"); (async () => { const solanaConnection = new web3.Connection("https://docs-demo.solana-mainnet.quiknode.pro/", { wsEndpoint: "", }); solanaConnection.removeAccountChangeListener(0); })();
import { address, createSolanaRpcSubscriptions } from '@solana/web3.js'; async function handleAccountNotifications() { const rpcSubscriptions = createSolanaRpcSubscriptions(''); const abortController = new AbortController(); try { const accountNotifications = await rpcSubscriptions .accountNotifications(address('AxZfZWeqztBCL37Mkjkd4b8Hf6J13WCcfozrBY6vZzv3'), { commitment: 'confirmed' }) .subscribe({ abortSignal: abortController.signal }); let previousOwner = null; // Consume messages for await (const notification of accountNotifications) { const { value: { owner }, } = notification; // Check if owner has changed if (previousOwner && owner !== previousOwner) { console.log('Owner has changed, aborting subscription.'); abortController.abort(); break; } else { console.log('Notification:', notification); } previousOwner = owner; } } catch (e) { console.error('Error while handling notifications:', e); } finally { console.log('Unsubscribed from account notifications'); } } handleAccountNotifications();
import solana import asyncio from asyncstdlib import enumerate from solana.rpc.websocket_api import connect from solana.publickey import PublicKey async def main(): async with connect("") as websocket: await websocket.account_subscribe(PublicKey('E645TckHQnDcavVv92Etc6xSWQaq8zzPtPRGBheviRAk')) first_resp = await websocket.recv() subscription_id = first_resp.result async for idx, msg in enumerate(websocket): if idx == 3: break print(msg) await websocket.account_unsubscribe(subscription_id) asyncio.run(main())
wscat -c \ # wait for connection {"id":1,"jsonrpc":"2.0","method": "accountUnsubscribe", "params": [0]}
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free