Skip to main content

Billing and Rate Limits

Opening a new WebSocket connection costs 1 credit. Streaming data through Standard WebSockets is free for any amount of data. For Enhanced WebSockets, your data consumption is metered and costs 3 credits per 0.1 MB.
Enhanced WebSockets are, on average, 1.5x - 2x faster than standard WebSockets. They provide faster response times through optimized infrastructure and direct access to Helius’s streaming backend, making them ideal for high-performance applications requiring low-latency data.

Disconnects and Retries

Enhanced WebSockets have a 10-minute inactivity timer that disconnects idle connections. To prevent disconnections:
  1. Implement health checks: Send pings every minute to keep connections alive
  2. Add reconnection logic: Automatically reconnect when disconnections occur
  3. Use proper connection management: Follow the patterns shown in our Enhanced WebSockets documentation
Implement reconnection and ping logic as shown in our documentation, then add your application logic on top of this foundation.

Using WebSockets

On the Free plan, you can make 5 simultaneous WebSocket connections. On the Developer Plan, 150 connections are possible. For Business and Professional, you can make 250 WebSocket connections.
The client needs to keep up with the rate of incoming messages from the WebSocket server.Common causes of your client missing WebSocket updates include: insufficient network bandwidth, too slow client-side processing (e.g. a too slow programming language), or processing logic that blocks the main thread.
Yes, you can create multiple subscriptions to accountSubscribe using the same WebSocket connection.
For Enhanced WebSockets, set transactionDetails: "full" in your subscription options:
const subscriptionRequest = {
  jsonrpc: "2.0",
  id: 1,
  method: "transactionSubscribe",
  params: [
    {
      accountInclude: ["YOUR_ACCOUNT_ADDRESS"],
      failed: false,
      vote: false
    },
    {
      commitment: "confirmed",
      encoding: "jsonParsed",
      transactionDetails: "full",  // Full transaction details
      maxSupportedTransactionVersion: 0
    }
  ]
};
For Standard WebSockets, use logsSubscribe or signatureSubscribe methods depending on your monitoring needs. See our WebSocket guide for detailed examples of each subscription type.

Need More Help?