Skip to main content
This guide documents the open Yellowstone gRPC protocol. For Helius’s managed equivalent with replay, auto-reconnect, and the helius-laserstream SDK, see LaserStream gRPC.

What You’ll Build

By the end of this guide, you’ll have a working gRPC stream that monitors Solana account updates in real-time with automatic reconnection and error handling.
1

Choose Your Access Method

Select how you want to access Yellowstone gRPC:

LaserStream

Recommended for most users
  • Multi-tenant, highly available
  • Automatic failover and backfill
  • Quick setup with API key
  • All plans (devnet), Business+ (mainnet)
Get LaserStream Access →

Dedicated Nodes

For high-volume or custom needs
  • Exclusive gRPC endpoint
  • Guaranteed resources
Get Dedicated Node →
2

Set Up Your Environment

Create a new project and install dependencies:
3

Get Your Credentials

Obtain your gRPC endpoint and authentication:
  1. Sign up at dashboard.helius.dev (devnet is available on all plans; mainnet requires Business+)
  2. Get your API key from the dashboard
  3. Choose your regional endpoint:
Mainnet Endpoints:
  • US East: https://laserstream-mainnet-ewr.helius-rpc.com
  • US West: https://laserstream-mainnet-slc.helius-rpc.com
  • Europe: https://laserstream-mainnet-fra.helius-rpc.com
  • Asia: https://laserstream-mainnet-tyo.helius-rpc.com
Devnet: https://laserstream-devnet-ewr.helius-rpc.com
4

Create Your First Stream

Create a robust stream manager with the following complete example:
Create stream-manager.ts:
Create main.ts:
Run your stream:
5

Test Your Stream

Run your application and verify it’s working:
  1. Start your stream using the command for your language
  2. Look for connection confirmation in the console
  3. Wait for account updates - you should see periodic updates to the USDC mint account
  4. Test reconnection by temporarily disconnecting your internet
  5. Verify keepalive by watching for pong messages every 30 seconds
Expected output:

What’s Next?

Now that you have a working gRPC stream, explore these monitoring guides:

Account Monitoring

Advanced account filtering and data slicing techniques

Transaction Monitoring

Stream transactions with program filtering and execution details

Slot & Block Monitoring

Monitor network consensus and block production

Stream Pump AMM Data

Real-world example: monitor DeFi protocol data

Troubleshooting

Symptoms: Connection timeouts, authentication errorsSolutions:
  • Verify your endpoint URL and API key
  • Check if your plan includes gRPC access
  • Ensure you’re using the correct port (typically 2053 for Dedicated Nodes)
  • LaserStream devnet is available on all plans. For mainnet, you need at least a Business plan
Symptoms: Stream connects but no account updates appearSolutions:
  • USDC mint updates are infrequent - try monitoring a more active account
  • Check your commitment level (try PROCESSED for more frequent updates)
  • Verify your account filter configuration
  • Monitor a token account instead of the mint for more activity
Symptoms: Frequent disconnections, reconnection loopsSolutions:
  • Implement exponential backoff (included in examples above)
  • Check network stability
  • Ensure keepalive pings are working (every 30 seconds)
  • Monitor server-side rate limits

Best Practices

Production Readiness Checklist:
  • ✅ Implement exponential backoff for reconnections
  • ✅ Use keepalive pings every 30 seconds
  • ✅ Handle all stream events (data, error, end, close)
  • ✅ Process data asynchronously to avoid blocking
  • ✅ Monitor connection health and alert on failures
  • ✅ Use appropriate commitment levels for your use case
  • ✅ Filter data as specifically as possible to reduce bandwidth