What's available
Supported WebSocket subscriptions, authentication, and protocol patterns.
// updated 2026-06-04
Supanode implements the standard Solana WebSocket subscription protocol. For the full reference, see the official Solana WebSocket docs.
Supported subscriptions
| Subscription | What it streams | Notes |
|---|---|---|
accountSubscribe | Updates to a specific account | One subscription per account |
signatureSubscribe | Notification when a signature commits | One-shot - fires once and unsubscribes |
slotSubscribe | Every new slot | Lightweight |
rootSubscribe | New roots (finalized slots) | Lightweight |
programSubscribe | Account updates owned by a program | Requires dataSize or memcmp filter - see Restrictions |
logsSubscribe | Transaction logs matching a filter | Mention-filter only on shared. logsSubscribe("all") is blocked - see Restrictions |
Authentication
WebSocket uses the same Bundle IP allowlist as RPC and gRPC. Connect from a whitelisted IP - no tokens, no query params.
ws://fra.supanode.xyz:8900
Subscribe / unsubscribe protocol
Subscriptions follow the standard JSON-RPC over WebSocket pattern.
Subscribe:
{
"jsonrpc": "2.0",
"id": 1,
"method": "accountSubscribe",
"params": ["YOUR_ACCOUNT_PUBKEY", {"commitment": "confirmed"}]
}
The server responds with a numeric subscription ID. Updates stream as notifications until you unsubscribe.
Unsubscribe:
{
"jsonrpc": "2.0",
"id": 2,
"method": "accountUnsubscribe",
"params": [SUBSCRIPTION_ID]
}
Both subscribe and unsubscribe calls count against your RPS budget - this is intentional anti-abuse. The connection itself is admitted by IP allowlist; in-flight subscribe/unsubscribe RPCs go through the standard RPS budget.
Commitment levels
Most subscriptions accept a commitment parameter (processed, confirmed, finalized). Defaults to finalized if omitted.