Endpoints
Websockets are available on mainnet and devnet with the following URLs:
Mainnet wss://mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet wss://devnet.helius-rpc.com/?api-key=<API_KEY>
Websockets have a 10-minute inactivity timer; implementing health checks and sending pings every minute is heavily recommended to keep the websocket connection alive.
Authorizations
Your Helius API key. You can get one for free in the dashboard .
Body
Pubkey of the program_id
, as base-58 encoded string.
Configuration object containing the following fields:
The commitment level for the subscription. Can be finalized
, confirmed
, or processed
.
Array of filter objects to apply.
Encoding format for account data. Can be base58
, base64
, base64+zstd
, or jsonParsed
.
base58
is slow
jsonParsed
encoding attempts to use program-specific state parsers to return more human-readable and explicit account state data
If jsonParsed
is requested but a parser cannot be found, the field falls back to binary encoding, detectable when the data field is type string.
Response
Subscription id (needed to unsubscribe)
The notification format is a single program account object as seen in the getProgramAccounts
RPC HTTP method.
{
"jsonrpc" : "2.0" ,
"id" : 1 ,
"method" : "programSubscribe" ,
"params" : [
"11111111111111111111111111111111" ,
{
"encoding" : "base64" ,
"filters" : [{ "dataSize" : 80 }]
}
]
}
Response
Notification (base58)
Notification (jsonParsed)
{
"jsonrpc" : "2.0" ,
"result" : 24040 ,
"id" : 1
}