Skip to main content

0.01 credits per call

programSubscribe on Solana: Subscribes to changes to all accounts owned by a program.

Endpoint

wss://rpc.goldrushdata.com/v1/solana-mainnet
programSubscribe is a WebSocket subscription method. Authenticate with Authorization: Bearer <GOLDRUSH_API_KEY>. See authentication.

Parameters

NameTypeRequiredDescriptionExample
programIdstringyesBase-58 encoded program pubkey to watch."TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
configobjectno{commitment?, encoding?, filters?}.{"encoding":"jsonParsed","filters":[{"dataSize":165}]}

Returns

number: Subscription id (used with programUnsubscribe). Notifications arrive as programNotification messages.
24040

Examples

# Connect (header auth works from Node/CLI clients):
wscat -c "wss://rpc.goldrushdata.com/v1/solana-mainnet" \
  -H "Authorization: Bearer $GOLDRUSH_API_KEY"

# Once connected, send:
{"jsonrpc":"2.0","id":1,"method":"programSubscribe","params":["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", {"encoding":"jsonParsed","filters":[{"dataSize":165}]}]}
import { createSolanaRpcSubscriptions } from "@solana/kit";

// Authenticate with the Authorization: Bearer header on the WS handshake.
// See /goldrush-json-rpc/authentication.
const rpcSubscriptions = createSolanaRpcSubscriptions("wss://rpc.goldrushdata.com/v1/solana-mainnet");

const abortController = new AbortController();
const notifications = await rpcSubscriptions
  .programSubscribe("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", {"encoding":"jsonParsed","filters":[{"dataSize":165}]})
  .subscribe({ abortSignal: abortController.signal });

for await (const notification of notifications) {
  console.log(notification);
}

Errors

Standard JSON-RPC errors: -32600 invalid request, -32601 method not found, -32602 invalid params.