Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Private Dedicated Nodes optimized for low latency and high performance
Get a Dedicated Node in a specific region with no rate or credit limits.
Perfect for latency-sensitive applications such as data streaming or handling a high volume of requests, it’s ideal for teams seeking a dedicated environment with consistent performance and cost management. Choose a single node in a specific location to enhance server-to-server interactions or establish a node cluster for wide geographic distribution. Enhance capabilities using advanced Geyser plugins.
AMD EPYC 7443p
AMD EPYC 7543p (Best for resource-intensive RPC calls)
AMD EPYC 9254 (Best for resource-intensive RPC calls)
Standard RPC and WebSocket methods
Premium support
Node clients — Agave (recommended) or Jito Labs
Geyser Plugin (Optional) — Yellowstone
For trading teams and Telegram bots, we typically recommend purchasing Dedicated Nodes (lower latency) with the Yellowstone Geyser (gRPC) Plugin for streaming and Dedicated Staked Connections (optimized landing rates for sendTransaction
).
Dedicated nodes cannot access staked connections, which greatly improves landing rates. You'll need access to a standard paid plan to use staked connections. Learn more here: Sending Transactions on Solana.
If your team needs a cluster of multiple Dedicated Nodes or needs to run a fleet of Pythnet nodes, contact our sales team. We'll review your requirements and help you with a custom solution.
Dedicated Nodes can be ordered directly from the developer portal on the Dedicated Nodes tab.
The type of node you choose depends on your specific project requirements. Reviewing each node's CPU cores and RAM is important to determine which will best support your workload. Since we don't impose any rate limits, your node's performance will rely entirely on its specifications.
If you plan to make resource-intensive calls (e.g., getProgramAccounts
, getTokenLargestAccounts
, getTokenAccountsByDelegate
, getTokenAccountsByOwner
, getLargestAccounts
), the AMD EPYC 7543p and AMD EPYC 9254 offer similar performance, but the EPYC 9254 is newer and more efficient.
The AMD EPYC 7443p is better if your workload does not require resource-intensive calls.
We offer nodes across multiple regions: in North America (Pittsburgh, Newark, Salt Lake City, Los Angeles, Vancouver); in Europe (Dublin, London, Amsterdam, Frankfurt); and in Asia (Tokyo, Singapore) to ensure the best geographic coverage with the global Solana infrastructure.
For optimal latency, choose a node closest to your server. Your node will be deployed within three hours of payment.
You can customize your node by selecting the client type — either Agave or Jito Labs (fork of Agave with an additional method simulateBundle
)
Dedicated nodes cannot send Jito Bundles on their own. To send Jito Bundles, you must use the Jito API, which handles packaging and sending the bundles through Jito’s system.
To simplify this process, our SDK provides an easy method called Send Jito Bundle.
Add optional features like the Yellowstone Geyser Plugin, which supports streaming of slots, blocks, transactions, and account updates.
We recommend running Geyser and RPC operations on separate nodes for optimal performance.
You can pay via fiat or crypto (USDC). Once your payment goes through, your node will be deployed within 3 hours.
For billing, fiat payments will receive a discount on the next month's bill for the number of days it took to provision the node. For crypto payments, the billing cycle starts once the node is delivered.
Dedicated Nodes with Increased Bandwidth and Reduced Latency
Once you have placed an order for a Dedicated Node you will get access to the overview page which will be your Dedicated Node Hub. This will have all your pending orders and active Nodes. It can be reached by going to the Dedicated Nodes tab on the main dashboard or by clicking here. You will get an email once your node is ready and the status will change to Succeeded.
Order ID and Host ID are identifiers that can be used when contacting the support team with questions regarding your order (Order ID) or your node (Host ID). Think of them as names for your Node.
The URL is your standard Solana RPC URL which can be used to call RPC methods or used as a websocket by changing https to wss.
Your gRPC URL and gRPC Token are used when working with the Geyser Plugin that you chose. There will be code examples further that will explain how to use the gRPC and stream Solana events with minimal latency. All our dedicated nodes are Shredstream enhanced.
This is where your node is located.
This is the current version that is running on your node.
This is the Geyser plugin you chose.
Status represents the current state of your node:
Pending — signifies a pending order for your node
Underway — your node is being set up
Succeeded — your node is fully set up
Failed — your node is down
This indicates if your node is currently suspended. If a payment is missed, your node will be deactivated automatically. You have a 3-day grace period to reactivate it by completing the payment.
There are also 4 action buttons on the right that give you full control over your node's lifecycle and performance monitoring.
Lets you update or downgrade your node's version
Use this when you want to update to a newer version
Important to keep your node up-to-date with latest features and performance updates
Shows your node's performance
Track things like your response times, requests per second, success and failure rates
Monitor health and usage with request success rates and error rates
Permanently and immediately removes your node and cancels the subscription
This cannot be undone and you will have to order a new Node
Each dedicated eode comes with an RPC URL that you can use like in the example below.
Here we are using Solana web3.js to call getSlot
using our dedicated node:
This is how you would set up a native websocket connection to stream new slots:
To begin using the Geyser plugin you need to clone the Yellowstone repo:
Once complete, you should see the terminal output new slots. Don't forget to replace the URL and Token with your own.
This example streams all Raydium transactions live in JSON format:
While nodes don't have strict usage limits, they are bound by hardware constraints. A balanced workload helps maintain optimal performance and node liveliness.
Avoid mixing heavy account-based calls (e.g. getProgramAccounts, getTokenAccountsByOwner, etc.) with gRPC usage on the same node.
It's best to move heavy account-based calls to a shared plan since we have a custom indexer that makes those calls much faster.
Monitor your node's metrics to understand its performance based on response times, successful request %, and error counts.
Consider distributing intensive workloads across multiple nodes in a dedicated fleet
If your team needs a cluster of multiple dedicated nodes, contact our sales team. We will take in your requirements and configure a dedicated fleet for your team.
Our nodes include an automatic recovery mechanism:
If a node falls too far behind in processing slots, it will automatically initiate a restart
During this recovery period, all requests are seamlessly routed to our shared backup pool
Once your node catches up and becomes healthy, traffic will resume to it
Contact us through your Telegram group (available for dedicated node customers)
You can also get support from the chat system on our website or in our Discord server
Solana's most loved RPC nodes.
To interact with blockchain data, you must use an RPC node. Here is a brief explainer on how RPCs on Solana work:
At Helius, we are Solana natives. We've been here since the beginning, and unlike other providers, we focus exclusively on Solana and are dedicated to perfecting the Solana experience.
We take pride in offering the most well-rounded RPC solution in the ecosystem, ranking in the top 1% for performance, pricing, and consistent uptime. With Helius, there are no surprises—just reliability you can count on.
Should you face any challenges, our best-in-class 24/7 support team is always here to help, ensuring you stay unblocked and moving forward.
Mainnet – https://mainnet.helius-rpc.com
Devnet – https://devnet.helius-rpc.com
Helius provides services through a globally distributed set of nodes strategically positioned in key locations: New York, Ashburn, Chicago, Vancouver, Los Angeles, Singapore, Tokyo, Frankfurt, and the UK. Helius automatically directs user requests to the closest node, guaranteeing the quickest and most efficient routing.
Running low on credits mid-cycle? Helius makes it easy to keep your projects running smoothly by allowing you to purchase additional prepaid credits or automatically scale your usage.
If your credits run out during your billing cycle, you can get more credits by either purchasing prepaid credits if you paid via crypto, or enabling autoscaling if you paid by card.
If you're on a Crypto Plan, you can quickly purchase additional prepaid credits directly from your Helius Dashboard:
Select Buy More Credits.
Complete the purchase with your preferred crypto payment method.
Prepaid credits activate immediately and never expire—you keep them until they run out.
Autoscaling automatically adds credits as you use them, ensuring uninterrupted service:
Navigate to Project Settings.
Enable the Autoscaling toggle.
Once enabled, Helius will automatically allocate more credits as your usage increases.
Note: Autoscaling is capped for Developer and Business plans to help manage costs and avoid unexpected charges. If you require unlimited autoscaling, consider upgrading to the Professional plan.
Additional credit pricing depends on your current plan:
If you're consistently going over your limit, consider upgrading your plan for better rates and unlimited autoscaling.
Helius keeps you informed about your credit usage to help manage your spend:
Email Alerts: You'll receive notifications via email when you're approaching your credit limits and when autoscaling occurs.
Developer and Business plans: Autoscaling is available but has predefined caps to avoid unexpectedly large bills.
Professional plans: Autoscaling is unlimited—ideal for rapidly scaling projects.
Enterprise plans: For credit needs exceeding 1B/month, set up an Enterprise plan tailored to your requirements.
Helius is committed to helping you manage your resources efficiently—ensuring your projects have the flexibility they need without unexpected downtime.
Purchasing a Helius Plan with Crypto
Helius allows you to buy plans using USDC. You can secure your subscription in just one straightforward transaction—no hassle. Below, you’ll find an easy-to-follow guide on how to get started.
Initiate Crypto Payment Click Pay with Crypto and connect your preferred wallet.
Enter Billing Information Provide your name and billing address.
Confirm Payment Click Pay with USDC and wait for your transaction to process. Once it’s complete, your new plan will be active!
Important Notes:
Prepare Your Wallet for Auto-Renewal: Your wallet must have sufficient funds for upcoming billing periods.
Automatic Withdrawals: Funds will be automatically deducted from your wallet at each billing cycle.
Manage Permissions: You can revoke permissions or change your wallet anytime.
Cancel Anytime: You can cancel your subscription if needed.
When you authorize automatic withdrawals, you’re giving the platform permission to pull the necessary amount of USDC (on Solana) directly from your wallet whenever a new billing period starts. This is often referred to as a “subscription” or “recurring payment,” where you don’t have to manually approve each individual charge.
How It Works:
At the beginning of each billing cycle, the system checks if you have enough USDC in your Solana wallet.
If sufficient funds are available, the required amount is automatically deducted to cover the plan’s cost.
If you ever want to stop automatic charges, you can revoke this authorization via your wallet or billing settings.
Why Authorize?
It saves you from having to manually make a payment every month (or billing period).
It ensures your service continues without interruption, as the payment is handled automatically.
Things to Keep in Mind:
Sufficient Funds: Make sure your wallet has enough USDC ahead of each billing date.
Revoking Authorization: You can usually disable or revoke this automatic withdrawal at any time if you decide you’d rather pay manually.
Manual payments are not supported. You must authorize USDC so it can be automatically deducted on billing days. However, you can revoke this authorization after each purchase by following these steps:
Select your plan (e.g., Developer).
Click Edit in the Authorization section.
Set the limit to 0 to revoke authorization.
Solana's Leading RPC & API Platform
Helius is an enterprise-grade Solana development platform offering best-in-class RPCs, APIs, data streaming tools, and 24/7 customer support. Helius also runs the top Solana validator and offers both individual stakers and institutional staking partners 0% fees and 100% MEV rewards.
To read data from and write data to Solana, applications require an RPC node. Our globally distributed fleet of RPCs are powered by top-of-the-line hardware, offer 99.99% uptime SLAs, and are trusted by the largest wallets and applications on Solana.
We offer two types of RPC nodes:
Our battle-tested nodes are globally distributed across New York, Ashburn, Chicago, Vancouver, Los Angeles, Singapore, Tokyo, Frankfurt, and the UK. For Shared RPC nodes, we automatically send your requests to the closest node, guaranteeing the quickest and most efficient routing.
Staked connections can improve transaction landing rates. As we run the largest validator on Solana, you can send transactions through our staked connections.
We offer two types of staked connections:
Get the Solana data you need, how you need it. Whether you're streaming real-time updates or automating on-chain event handling, we've got you covered with tools built for speed, scale, and simplicity.
We offer a variety of methods for streaming Solana data to your databases.
Geyser
Enhanced Websockets
Standard Websockets
Webhooks
Helius offers various APIs for interacting with NFTs, compressed NFTs, and tokens, calculating priority fees, and parsing transactions.
Flexible pricing for all your needs. Switch plans or cancel at anytime. Start in under 5 seconds.
Access a shared RPC node fleet across New York, Ashburn, Chicago, Vancouver, Los Angeles, Singapore, Tokyo, Frankfurt, and the UK, automatically routing requests to the nearest node.
RPC calls
Webhooks
Standard WebSockets
Enhanced WebSockets (beta) — available for Business and Professional plans only
DAS APIs
Enhanced Transactions API
Priority Fee API
Token Balance API
Photon Methods (ZK Compression)
Mint API (deprecated)
Each plan has a set amount of credits and rate limits for different calls.
* See rate limit exceptions below.
A clear breakdown of the credit costs in our Standard plans.
Standard RPC Calls: 1 credit per call
Exceptions:
Archival Calls: 10 credits each
Send Transaction:
Priority Fee API: 1 credit
DAS Calls: 10 credits each
Photon Calls:
Standard Calls: 10 credits
Webhook:
Webhook Pushes: 1 credit
Enhanced Transactions API and Mint API: 100 credits per call
If you exhaust your credits within a billing cycle, you can purchase additional credits:
Crypto Plans — purchase additional prepaid credits directly from the dashboard
Card Payment Plans — enable autoscaling in the Project Settings on the dashboard
Enterprise plans are ideal for large teams that need personalized rate limits and more credits than the professional plan offers. Enterprise customers receive discounted pricing for high credit volumes and longer commitments. You can choose your support level with service level agreements (SLAs), uptime guarantees, usage alerts, and direct access to our engineering team to help you optimize your setup.
To make use these endpoints:
You can generate an API key from the and use it with the provided URL. The generated endpoints are also available in the section.
Our platform offers controls to customize your RPC access patterns—for instance, restricting requests to specific IPs or domains. These configurations can easily be managed directly in the .
We offer nodes at industry-leading rates. These nodes are ideal for teams seeking an isolated environment with predictable performance and billing.
Visit the to effortlessly set up your dedicated node!
If you need a dedicated fleet of nodes, . We will take your requirements, provision your nodes, and set up a custom fleet for you team.
Log into your .
Go to your and select your project.
Dashboard Tracking: Check your current credit usage and historical data directly from your . Navigate to the Usage section to see detailed analytics.
Navigate to the Billing Page Go to and select the subscription plan that fits your needs (e.g., Business). Choose either monthly or annual billing.
Authorize By authorizing, you consent to allow automatic deductions of USDC from your wallet at each billing period.
Please contact our team, and they will assist you with changing your payment method.
It can take up to 1 hour for the system to update your plan. If it still doesn’t update after that, reach out to our team.
You can cancel by going to the page and clicking the Cancel Subscription button.
Go to the page and click Manage Delegate Wallet (this will redirect you to Loop).
— rate-limited plans ideal for new projects that have moderate to high request loads
— ideal for large-scale applications that require low latencies with no rate limits
— available through all of our paid
Dedicated staked connections — available through all of our paid
Dedicated staked connections optimize landing rates for requests. Pricing is 50 credits per send.
is the fastest way to stream data. Using the Geyser plugin, you can subscribe to updates on blocks, slots, transactions, and accounts through our . Ideal for low-latency use cases requiring real-time, high-throughput data access.
We provide methods for subscribing to transaction and account updates. This feature is in beta and is only for business and professional plans. Suitable for non-latency critical real-time data needs in client-side applications. Not recommended for critical backend operations or applications requiring guaranteed message delivery.
Websockets allow persistent, two-way communication between a client and a server, enabling real-time data streams. are available for Developer, Business, and Professional plans. Websockets are a fragile connection type and can drop off unexpectedly. Implement a robust reconnection logic or consider using Geyser for more reliable data streaming.
notify you of onchain events in real-time. With support for over 70 , you can automate your app's interactions with Solana without complex smart contract parsers. A single webhook can support up to 100,000 addresses. Ideal for automating responses to specific on-chain events and handling large address sets. Not recommended for applications requiring sub-second latency or those with frequently changing address lists.
The enables you to add optional fees to your transactions to incentivize block producers (leaders) to include your transaction in the next block. This API is useful for improving transaction landing rates, especially during periods of high network congestion.
The provides enriched, descriptive context for Solana transactions. Instead of opaque bytes, you get human-readable responses for transactions such as NFT listings, DEX swaps, DeFi loans, DAO votes, and .
The Digital Asset Standard (DAS) is a unified interface for Solana NFTs and tokens. Helius’ is Solana's most complete, and performant NFT and token API. The DAS API also supports indexing and API methods for interacting with .
is a generalized compression framework that allows developers to store data on Solana at a fraction of the cost. Developers can use the to easily access this compressed data.
for sendTransaction
* If you are on a legacy (old) plan, please refer to the '' section below for applicable details.
: 10 credits
Via : 1 credit
Via : 50 credits
: 100 credits (due to higher computation)
Webhook Edits via : 100 credits
We've expanded our documentation on prepaid credits and autoscaling. For detailed information and step-by-step guidance, please visit our updated .
To explore Enterprise plans, .
The limits in the table above apply to deprecated V3 plans. These plans are no longer available for new users. For details on available plans, please refer to the '' section above.
Developer
$5 per million
Business
$5 per million
Professional
$4 per million
$0/mo
$49/mo
$499/mo
$999/mo
500k Credits
10M Credits
100M Credits
200M Credits
10 RPC requests/s*
50 RPC requests/s*
200 RPC requests/s*
500 RPC requests/s*
2 API requests/s (DAS & Enhanced)
10 API requests/s (DAS & Enhanced)
50 API requests/s (DAS & Enhanced)
100 API requests/s (DAS & Enhanced)
1 API Key
3 API Keys
5 API Keys
15 API Keys
1 User
2 Users
5 Users
10 Users
1 Webhook
5 Webhooks
25 Webhooks
50 Webhooks
Standard Websockets
Standard Websockets
Standard + Enhanced Websockets
Standard + Enhanced Websockets
Community support (Discord)
Chat Support (Developer Portal)
Priority Chat Support (Developer Portal)
Slack /Telegram Support
sendTransaction
1 call/sec
5 calls/sec
50 calls/sec
100 calls/sec
getProgramAccounts
5 calls/sec
25 calls/sec
50 calls/sec
75 calls/sec
Photon
2 calls/sec
10 calls/sec
50 calls/sec
100 calls/sec
getValidityProof
1 call/sec
5 call/sec
10 call/sec
20 call/sec
500k Credits
10M Credits
200M Credits
500M Credits
10 RPC requests/s*
50 RPC requests/s*
150 RPC requests/s*
500 RPC requests/s*
2 API requests/s (DAS & Enhanced)
10 API requests/s (DAS & Enhanced)
50 API requests/s (DAS & Enhanced)
100 API requests/s (DAS & Enhanced)
1 API Key
10 API Keys
15 API Keys
20 API Keys
1 Webhook
3 Webhooks
10 Webhooks
20 Webhooks
Community support (Discord)
Chat Support (Developer Portal)
Priority Chat Support (Developer Portal)
Slack /Telegram Support
5 gPA calls per second
25 gPA calls per second
50 gPA calls per second
75 gPA calls per second
1 sendTransaction call per second
10 sendTransaction call per second
50 sendTransaction call per second
100 sendTransaction call per second
Solana nodes accept HTTP requests using the JSON-RPC 2.0 specification.
For JavaScript applications, use the @solana/web3.js
library as a convenient interface for the RPC methods to interact with a Solana node.
For a PubSub connection to a Solana node, use the WebSocket API.
To make a JSON-RPC request, send an HTTP POST request with a Content-Type: application/json
header. The JSON request data should contain the following fields:
jsonrpc
string
Set to "2.0"
.
id
string | number
A unique identifier for the request, generated by the client. Can be a string, number, or null
.
method
string
The name of the method to invoke.
params
array
A JSON array of ordered parameter values.
The response will be a JSON object with the following fields:
jsonrpc
string
Matches the request specification.
id
number
Matches the request identifier.
result
array|number|object|string
Requested data or success confirmation.
Requests can be sent in batches by sending an array of JSON-RPC request objects in a single POST request.
The commitment
parameter should be included as the last element in the params
array:
Hash: A SHA-256 hash of a chunk of data.
Pubkey: The public key of an Ed25519 key-pair.
Transaction: A list of Solana instructions signed by a client keypair to authorize those actions.
Signature: An Ed25519 signature of a transaction's payload data, including instructions. This can be used to identify transactions.
Although not part of the JSON-RPC API, a GET /health
request at the RPC HTTP endpoint provides a health-check mechanism for load balancers or other network infrastructure.
ok
The node is within HEALTH_CHECK_SLOT_DISTANCE
slots of the latest cluster confirmed slot.
behind { distance }
The node is behind by distance
slots from the latest cluster confirmed slot.
unknown
The node is unable to determine its status relative to the cluster.
Example health check response body:
ok
behind { distance }
unknown
Returns all information associated with the account of provided Pubkey
Returns the lamport balance of the account of provided Pubkey
Returns identity and transaction information about a confirmed block in the ledger
Returns the estimated production time of a block.
Returns commitment for particular block
Returns recent block production information from the current or previous epoch.
Returns a list of confirmed blocks between two slots
Returns information about the current epoch
Returns a list of confirmed blocks starting at the given slot
Returns the epoch schedule information from this cluster's genesis config
Returns the genesis hash
Returns information about all the nodes participating in the cluster
Get the fee the network will charge for a particular Message
Returns the slot of the lowest confirmed block that has not been purged from the ledger
Returns the current health of the node. A healthy node is one that is within HEALTH_CHECK_SLOT_DISTANCE slots of the latest cluster confirmed slot.
Returns the highest slot information that the node has snapshots for. This will find the highest full snapshot slot, and the highest incremental snapshot slot based on the full snapshot slot, if ther
Returns the specific inflation values for the current epoch
Returns the current inflation governor
Returns the 20 largest accounts, by lamport balance (results may be cached up to two hours)
This method is blocked. If you need this method please contact Helius support.
Returns the current block height of the node
Get the max slot seen from after shred insert.
Returns the leader schedule for an epoch
Returns the latest blockhash
Returns the inflation / staking reward for a list of addresses for an epoch
Get the max slot seen from retransmit stage.
Returns the account information for a list of Pubkeys.
Returns minimum balance required to make account rent exempt.
Returns a list of prioritization fees from recent blocks.
Returns the slot that has reached the given or default commitment level
Returns the slot leaders for a given slot range
Returns the statuses of a list of signatures. Each signature must be a txid, the first signature of a transaction.
Returns the stake minimum delegation, in lamports.
Returns signatures for confirmed transactions that include the given address in their accountKeys list. Returns signatures backwards in time from the provided signature or most recent confirmed block
Note: This query may occasionally fail due to internal timeouts in the archival database. If this occurs, please retry.
Returns the token balance of an SPL Token account.
Returns all SPL Token accounts by approved Delegate.
Returns the current slot leader
Returns all SPL Token accounts by token owner.
Returns the 20 largest accounts of a particular SPL Token type.
Returns transaction details for a confirmed transaction
Returns information about the current supply.
Returns the current Transaction count from the ledger
Returns the total supply of an SPL Token type.
Returns all accounts owned by the provided program Pubkey
Returns a list of recent performance samples, in reverse slot order. Performance samples are taken every 60 seconds and include the number of transactions and slots that occur in a given time window.
Returns the lowest slot that the node has information about in its ledger.
Returns the account info and associated stake for all the voting accounts in the current bank.
Requests an airdrop of lamports to a Pubkey
Simulate sending a transaction
Returns whether a blockhash is still valid or not
Unsubscribe from account change notifications
number
(required)Description: ID of the account subscription to cancel.
The result will return a <bool>
indicating the success of the unsubscribe operation.
true
: Unsubscribe operation succeeded.
false
: Unsubscribe operation failed.
Request Example:
Response Example:
The id
provided in the parameters should match the subscription ID obtained during the initial subscription process.
The response will confirm if the subscription was successfully canceled.
Subscribe to receive notification anytime a new block is confirmed or finalized.
blockSubscribe
is marked as unstable in the Solana documentation. As a result, Helius does not support this method.
filter
(string | object, required)Description: Filter criteria for the logs to receive results based on account type.
String Options:
all
: Include all transactions in the block.
Object Options:
A JSON object with the following field:
mentionsAccountOrProgram
(string
):
Return only transactions that mention the provided public key (as a base-58 encoded string).
If no mentions occur in a given block, no notification will be sent.
object
(optional)Description: Configuration object containing the following fields:
commitment
(string, optional):
Default: finalized
.
Note: processed
is not supported.
encoding
(string, optional):
Default: json
. Specifies the encoding format for each returned transaction.
Values:
json
jsonParsed
base58
base64
Details:
jsonParsed
attempts to use program-specific instruction parsers to return more human-readable and explicit data in the transaction.message.instructions
list.
If jsonParsed
is requested but a parser cannot be found, the instruction falls back to regular JSON encoding (accounts
, data
, and programIdIndex
fields).
transactionDetails
(string, optional):
Default: full
. Specifies the level of transaction detail to return.
Values:
full
accounts
signatures
none
Details:
If accounts
is requested, transaction details only include signatures and an annotated list of accounts in each transaction.
Transaction metadata is limited to: fee
, err
, pre_balances
, post_balances
, pre_token_balances
, and post_token_balances
.
maxSupportedTransactionVersion
(number, optional):
Specifies the maximum transaction version to return in responses.
Details:
If the requested block contains a transaction with a higher version, an error will be returned.
If omitted, only legacy transactions will be returned, and a block containing any versioned transaction will prompt an error.
showRewards
(bool, optional):
Whether to populate the rewards
array. Default behavior includes rewards if this parameter is not provided.
Returns an integer
which serves as the subscription ID. This ID is required to unsubscribe.
Request Example 1 (Subscribe to all transactions in a block):
Request Example 2 (Filter by account and include optional configuration):
Response Example:
The notification is an object with the following fields:
slot
(u64
): The corresponding slot.
err
(object | null
): Error if an issue occurs while publishing the notification; otherwise null
.
block
(object | null
): A block object as seen in the getBlock
RPC HTTP method.
Stream data directly to your applications with our websocket integration.
Websockets allow for two-way communication between a client and a server. Unlike traditional request-response models, Websockets keep a persistent connection open, enabling real-time data exchange. This is perfect for applications that require instant updates, such as chat apps, online games and marketplaces.
Helius supports all stable Solana Websockets.
You can use these with your Helius WSS URL:
Mainnet – wss://mainnet.helius-rpc.com
Devnet – wss://devnet.helius-rpc.com
WebSocket methods marked as "unstable" in Solana's documentation, such as blockSubscribe
, slotsUpdatesSubscribe
and voteSubscribe
are not supported. This could be enabled for dedicated nodes.
After connecting to the websocket:
Submit subscription requests to the websocket using the methods.
Multiple subscriptions may be active at once.
Many subscriptions take the optional commitment
parameter, defining how finalized a change should be to trigger a notification. For subscriptions, if commitment is unspecified, the default value is finalized
.
Unsubscribe from block notifications
Subscribe to an account to receive notifications when the lamports or data for a given account public key changes
string
(required)Description: Account Pubkey, as a base-58 encoded string.
object
(optional)Description: Configuration object containing the following fields:
commitment
(string, optional):
Specifies the desired level of commitment.
encoding
(string, optional):
Specifies the encoding format for Account data.
Values:
base58
base64
base64+zstd
jsonParsed
The result of the subscription will return a <number>
which serves as the subscription ID. This ID is required for unsubscribing from the account notifications.
Request Example:
Response Example:
The notification format follows the same structure as the getAccountInfo
RPC HTTP method.
The base58
encoding format represents raw account data as a string.
The jsonParsed
encoding format provides structured information, parsed into JSON.
Subscribe to transaction logging
filter
(string | object, required)Filter criteria for the logs to receive results by account type.
String Options:
all
: Subscribe to all transactions except for simple vote transactions.
allWithVotes
: Subscribe to all transactions, including simple vote transactions.
Object Options:
An object with the following field:
mentions
(array
of strings): Array containing a single Pubkey (base-58 encoded string). Subscribes only to transactions mentioning this address.
Note: The mentions
field supports only one Pubkey string per method call. Providing additional addresses will result in an error.
object
(optional)Configuration object containing the following field:
commitment
(string, optional): Specifies the desired level of commitment.
Returns an <integer>
representing the subscription ID. This ID is required for unsubscribing.
Request Example 1 (Filter by mentions with optional configuration):
Request Example 2 (Subscribe to all transactions):
Response Example:
The notification is an RpcResponse
JSON object with the following fields in value
:
signature
(string
): The transaction signature, base58 encoded.
err
(object | null
): Error if the transaction failed; null
if the transaction succeeded.
logs
(array | null
): Array of log messages output by the transaction instructions during execution. If simulation failed before the transaction could execute (e.g., due to an invalid blockhash or signature verification failure), this will be null
.
Returns the current Solana version running on the node
Submits a signed transaction to the cluster for processing.
Subscribe to a program to receive notifications when the lamports or data for an account owned by the given program changes
string
(required)Pubkey of the program_id
, as a base-58 encoded string.
object
(optional)Configuration object containing the following fields:
commitment
(string, optional): Specifies the desired level of commitment.
filters
(array, optional): Filters to refine the results. The resultant account must meet all filter criteria to be included.
encoding
(string, optional): Specifies the encoding format for Account data.
Values:
base58
base64
base64+zstd
jsonParsed
Details:
base58
encoding is slower.
jsonParsed
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 encoding falls back to base64
(detectable when the data field is type string).
Returns an <integer>
representing the subscription ID. This ID is required for unsubscribing.
Request Example 1 (Default configuration):
Request Example 2 (jsonParsed
encoding):
Request Example 3 (Filter by data size):
Response Example:
The notification format is a single program account object, structured similarly to the getProgramAccounts
RPC HTTP method.
Unsubscribe from transaction logging
Subscribe to receive notification anytime a new root is set by the validator.
Unsubscribe from program-owned account change notifications
Unsubscribe from root notifications
Unsubscribe from signature confirmation notification
Subscribe to receive a notification from the validator on a variety of updates on every slot
slotsUpdatesSubscribe
is marked as unstable in the Solana documentation. As a result, Helius does not support this method.
No parameters are required for this method.
Returns an <integer>
representing the subscription ID. This ID is required to unsubscribe.
Request Example:
Response Example:
The notification is an object with the following fields:
err
(string | undefined
): The error message. Present only if the update type is "dead"
.
parent
(u64 | undefined
): The parent slot. Present only if the update type is "createdBank"
.
slot
(u64
): The updated slot.
stats
(object | undefined
): Present only if the update type is "frozen"
. Contains the following fields:
maxTransactionsPerEntry
(u64
)
numFailedTransactions
(u64
)
numSuccessfulTransactions
(u64
)
numTransactionEntries
(u64
)
timestamp
(i64
): The Unix timestamp of the update in milliseconds.
type
(string
): The type of update. Possible values:
"firstShredReceived"
"completed"
"createdBank"
"frozen"
"dead"
"optimisticConfirmation"
"root"
Subscribe to receive a notification when the transaction with the given signature reaches the specified commitment level.
string
(required)The transaction signature, as a base-58 encoded string.
Info:
The transaction signature must be the first signature from the transaction.
object
(optional)Configuration object containing the following fields:
commitment
(string, optional): Specifies the desired level of commitment.
enableReceivedNotification
(bool, optional): Determines whether to subscribe for notifications when signatures are received by the RPC, in addition to when they are processed.
Returns an <integer>
representing the subscription ID. This ID is required for unsubscribing.
Request Example:
Response Example:
The notification is an RpcResponse
JSON object with the following fields in value
:
slot
(u64
): The corresponding slot.
value
(object | string
):
If enableReceivedNotification
is true
and the signature is received, the literal string "receivedSignature"
.
When the signature is processed:
err
(object | null
):
null
if the transaction succeeded at the specified commitment level.
A TransactionError
object if the transaction failed.
Notification for a Successfully Processed Transaction:
Notification for a Successfully Received Transaction Signature:
Subscribe to receive notification anytime a new vote is observed in gossip. These votes are pre-consensus therefore there is no guarantee these votes will enter the ledger.
voteSubscribe
is marked as unstable in the Solana documentation. As a result, Helius does not support this method.
No parameters are required for this method.
Returns an <integer>
representing the subscription ID. This ID is required to unsubscribe.
Request Example:
Response Example:
The notification is an object with the following fields:
hash
(string
): The vote hash.
slots
(array
): The slots covered by the vote, as an array of u64
integers.
timestamp
(i64 | null
): The timestamp of the vote.
signature
(string
): The signature of the transaction containing this vote.
votePubkey
(string
): The public key of the vote account, as a base-58 encoded string.
Unsubscribe from slot-update notifications
Unsubscribe from vote notifications
Unsubscribe from slot notifications
Subscribe to receive notification anytime a slot is processed by the validator
No parameters are required for this method.
Returns an <integer>
representing the subscription ID. This ID is required to unsubscribe.
Request Example:
Response Example:
The notification is an object with the following fields:
parent
(u64
): The parent slot.
root
(u64
): The current root slot.
slot
(u64
): The newly set slot value.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getAccountInfo
The JSON-RPC protocol version.
A unique identifier for the request.
1
The name of the RPC method to invoke.
Parameters for the request.
Learn about common RPC error messages and potential solutions. If you experience persistent issues, contact Helius support.
When interacting with Helius RPC endpoints, you may encounter the following standard HTTP error codes that indicate the status of your requests:
Highly configurable real-time data streams.
Geyser or gRPC streams provide the fastest and most efficient way to stream Solana data directly to your backend. With gRPC, you can subscribe to blocks, slots, transactions, and account updates. It is highly configurable. You can filter or limit each subscription. It allows the client-server to create new subscriptions or cancel existing ones immediately.
In the subscribe request, you need to include the following:
commitment
: Specifies the commitment level, which can be processed, confirmed, or finalized.
accounts_data_slice
: An array of objects { offset: uint64, length: uint64 }
that allows you to receive only the required data slices from accounts.
ping
: An optional boolean. Some cloud providers (e.g., Cloudflare) close idle streams. To keep the connection alive, set this to true. The server will respond with a Pong message every 15 seconds, avoiding the need to resend filters.
Next, you’ll need to specify the filters for the data you want to subscribe to, such as accounts, blocks, slots, or transactions.
gRPC is typically accessed behind a load-balancer or proxy, terminating an inactive connection after 10 minutes. The best solution is to ping the gRPC every N seconds or minutes.
To learn more, please read the examples provided in the .
gRPC is only available for dedicated nodes. You can provision a dedicated node directly from the . To learn more, please visit .
You can also refer to the examples in and .
401
Unauthorized
Invalid API key or restricted access due to Access Control Rules.
Ensure your API key is correct and has the necessary permissions.
429
Too Many Requests
Exceeded Rate Limits. Check "Rate Limited Requests" graph in your RPC metrics dashboard in Usage section.
Implement rate limiting from your side or upgrade the plan for increased rate limits. Check our Pricing & Rate limits page for details.
500
Internal Server Error
Generic server-side issue.
Contact Helius support for assistance
503
Service Unavailable
Server is temporarily overloaded or under maintenance.
Retry the request after some time, if the issue persists contact Helius support.
504
Gateway Timeout
Client did not receive a timely response from the server.
This could indicate network issues.
Check your network connection and retry, if the issue persists contact Helius support.
The JSON-RPC protocol version.
A unique identifier for the request.
1
The name of the RPC method to invoke.
Parameters for the request.
5
The JSON-RPC protocol version.
A unique identifier for the request.
1
The name of the RPC method to invoke.
Parameters for the request.
5
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getBlocks
Request parameters for the method.
The JSON-RPC protocol version.
A unique identifier for the request.
1
The name of the RPC method to invoke.
Parameters for the request.
The JSON-RPC protocol version.
A unique identifier for the request.
1
The name of the RPC method to invoke.
Parameters for the request.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getEpochInfo
Optional parameters for the request.
Track Solana transactions in real-time with program filtering and detailed execution data.
This guide demonstrates how to use Yellowstone gRPC to monitor transactions on Solana. You'll learn how to track transactions in real-time with filtering options and reliable reconnection handling.
Transaction Update:
Slot number (when transaction was processed)
Transaction signature (unique identifier)
Transaction message
Account keys (involved accounts)
Instructions (program calls and data)
Recent blockhash
Transaction metadata
Status (success/failure)
Fee amount
Compute units consumed
Log messages
Inner instructions
Balance changes
Instruction Details:
Program ID (program being called)
Account list (accounts used by instruction)
Instruction data (program-specific data)
Inner instructions (CPI calls)
Stream Solana block entries with transaction batches and execution results
This guide demonstrates how to use Yellowstone gRPC to monitor block entries on Solana. Block entries represent the fundamental units of execution on the Solana blockchain, containing transaction batches and their execution results. You'll learn how to track entries with reliable reconnection handling.
Entry Update:
Slot number (current slot being processed)
Entry index (position in the block)
Number of hashes (PoH count)
Entry hash (unique identifier)
Transaction count (number of transactions in entry)
Transactions array (detailed transaction information)
Transaction Details:
Signature (unique transaction identifier)
Vote status (whether it's a vote transaction)
Transaction message
Account keys (involved accounts)
Header information
Instructions (program calls and data)
Recent blockhash
Transaction metadata
Status (success/failure)
Fee amount
Balance changes
Log messages
A comprehensive setup guide for connecting to Solana's real-time data stream using Yellowstone gRPC.
With Dedicated Node, you can leverage the powerful Yellowstone gRPC interface to receive real-time updates about on-chain events. The Geyser plugin provides a high-performance, low-latency stream of Solana blockchain data.
gRPC (Google Remote Procedure Call) is a modern, high-performance framework that enables client and server applications to communicate transparently. For Solana blockchain data streaming, gRPC offers several key advantages:
Language Agnostic: Using Protocol Buffers (protobuf), gRPC allows you to write clients in multiple programming languages while maintaining type safety and consistency.
Binary Protocol: Unlike JSON-based REST APIs, gRPC uses a binary protocol that is more efficient in terms of bandwidth and parsing overhead.
Bi-directional Streaming: gRPC supports bi-directional streaming, perfect for receiving continuous updates about blockchain events.
Type Safety: The protobuf schema ensures type safety across all supported languages.
Your Helius Dedicated Node exposes the Yellowstone gRPC interface on port 2053. The service provides various subscription options for different types of blockchain data:
Account updates
Slot updates
Transaction information
Block data
Entry data
Before diving into specific examples in the following sections, let's set up our development environment for each supported language:
Create a new project:
Install dependencies:
Create TypeScript configuration:
Create a new project:
Add to Cargo.toml
:
Create a new project:
Initialize Go module:
Create project structure:
Install required dependencies:
Your go.mod
should look similar to this:
These setups provide the foundation for the examples in the following sections. Each subsequent guide will build upon this basic setup to demonstrate specific monitoring capabilities.
The Yellowstone gRPC interface allows you to subscribe to various types of data:
Subscribe to changes in account data, including:
Account balance changes
Data modifications
Ownership changes
Creation/deletion events
Monitor slots to receive notifications about:
New slots
Confirmed slots
Finalized slots
Parent slot relationships
Stream transactions to receive updates about:
Transaction signatures
Transaction status
Success/failure information
Account involvement
Access comprehensive block information:
Block metadata
Included transactions
Account updates
Entry information
Track low-level entry information:
Entry indexes
Transaction counts
Entry hashes
Yellowstone gRPC supports three commitment levels:
PROCESSED
: Fastest, but may include unconfirmed data
CONFIRMED
: Balance between speed and finality
FINALIZED
: Highest level of finality
Choose the appropriate commitment level based on your application's requirements for data finality versus latency.
Continue to the following sections to learn about the core subscription types in Yellowstone gRPC:
Account Monitoring - Monitor account updates and changes
Transaction Monitoring - Track transactions and their status
Slot and Block Monitoring - Monitor slots, blocks, and their metadata
Entry Monitoring - Track low-level block entries and execution
Each guide includes complete working examples in TypeScript, Rust, and Go, along with advanced filtering patterns and best practices.
Stream real-time transaction and account updates directly to your applications with our enhanced websocket integration.
Helius provides Geyser-enhanced WebSockets in addition to Solana's standard WebSocket methods. These enhanced WebSockets offer faster response times than traditional RPC WebSockets. We support two key subscription methods: transactionSubscribe
and accountSubscribe
.
These Websockets are currently in beta and may occasionally experience delayed data. To address this, we're developing Laserstream, a new product that offers replay capabilities and ensures real-time delivery without delays. Join the Laserstream waitlist for updates.
This feature is available exclusively for business and professional plans. Please note that this is the Enhanced Geyser WebSocket, not the Yellowstone Geyser. For Yellowstone Geyser functionality, a Dedicated Node is required.
Geyser-enhanced websockets are currently available on mainnet
and devnet
with the following URLs
Mainnet: wss://atlas-mainnet.helius-rpc.com/?api-key=<API_KEY>
Devnet: wss://atlas-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.
The transactionSubscribe websocket method enables real-time transaction events. To use it, provide a TransactionSubscribeFilter
and optionally include TransactionSubscribeOptions
for further customization.
vote
: A boolean flag to include/exclude vote-related transactions.
failed
: A boolean flag to include/exclude transactions that failed.
signature
: Filters updates to a specific transaction based on its signature.
accountInclude
: A list of accounts for which you want to receive transaction updates. This means that only one of the accounts must be included in the transaction updates (e.g., Account 1 OR Account 2).
accountExclude
: A list of accounts you want to exclude from transaction updates.
accountRequired
: Transactions must involve these specified accounts to be included in updates. This means that all of the accounts must be included in the transaction updates (e.g., Account 1 AND Account 2).
You can include up to 50,000 addresses in the accountsInclude, accountExclude and accountRequired arrays.
commitment
: Specifies the commitment level for fetching data, dictating at what stage of the transaction lifecycle updates are sent. The possible values are processed, confirmed and finalized
encoding
: Sets the encoding format of the returned transaction data. The possible values are base58, base64 and jsonParsed
transactionDetails
: Determines the level of detail for the returned transaction data. The possible values are full, signatures, accounts and none
showRewards
: A boolean flag indicating if reward data should be included in the transaction updates.
maxSupportedTransactionVersion
: Specifies the highest version of transactions you want to receive updates. To get Versioned Transactions, set the value to 1.
maxSupportedTransactionVersion
is required to return the accounts and full-level details of a given transaction (i.e., transactionDetails: "accounts" | "full"
).
Solana's Websockets supports a method that allows you to subscribe to an account and receive notifications via the websocket connection whenever there are changes to the lamports or data associated with a matching account public key. This method aligns directly with the Solana Websocket API specification.
string
: The account public key, sent in base58 format (required).
object
: An optional object used to pass additional parameters.
encoding
: Specifies the format for data returned in the AccountNotification. Supported values: base58, base64, base64+zstd, jsonParsed (default is base58).
commitment
: Defines the commitment level for the transaction. Supported values: finalized, confirmed, processed (default is finalized).
Have a question about Helius webhooks?
Currently, we resend unacknowledged webhook events once per minute for three minutes. We also offer customizable retry policies for enterprise plans.
Webhooks notify as soon as a transaction is confirmed.
Raw webhooks are regular Solana transactions. When a transaction occurs for the given addresses in a raw webhook, those transactions will be directly sent to the webhook URL supplied by the user. Enhanced webhooks are for Helius' interpreted transaction types. We parse over 100 types of Solana transactions, including NFT listings, DeFi swaps, Solana transfers, etc., and abstract these into our own schema. If you want to listen for any transaction and don't want Helius abstractions, use raw webhooks. If you want built-in transaction type detection, use enhanced webhooks.
Yes!
Up to 100,000 addresses.
You can specify an authorization header when creating (or updating) a webhook. Helius will include set the value in the Authorization
header when sending data to your webhook.
No! This is a very common mistake. We can not detect your own local servers from just "localhost."
Yes, you can! See the Helius SDK for a code example.
It depends on the type. Enhanced webhooks do not, but raw webhooks do!
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getFirstAvailableBlock
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getGenesisHash
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getFeeForMessage
Parameters for the method.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getClusterNodes
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getEpochSchedule
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getBlocksWithLimit
Request parameters for the method.
Programatically retrieve all your Helius webhooks.
Due to response size limitations, the number of returned addresses per configuration is capped at 100. To access the complete list of addresses, use our Get Webhook by ID endpoint.
Programatically create a Helius webhook.
Creates a webhook with specified account addresses, transaction types, and a webhook URL. Optionally, you can include an authorization header to verify that the webhook originated from Helius. For a full list of supported transaction types, please see Transaction Types
You can add up to 100,000 addresses via the API.
Here are some testing environments that are quick to set up for posting webhook events:
Learn how to use Helius webhooks.
For any questions or help regarding our Webhooks, please ask us for help on Discord!
Webhook events are charged at one credit. Editing, adding, or deleting a webhook via the API will cost 100 credits/request.
Monitor Solana slots and blocks with transaction details.
Slot Update:
Slot number
Parent slot
Commitment status
Block Update:
Slot number
Blockhash
Parent information
Transaction count
Account updates
Block entries
Rewards
Timestamp
Block height
Block Metadata:
Basic block information
Transaction count
Entry count
Parent information
Real-time monitoring of Solana account updates with filtering options and reliable reconnection handling.
The account update data includes:
Basic Information:
Pubkey (account address)
Owner (program ID)
Lamports (balance)
Executable flag
Rent epoch
Account Data:
Raw data (base58 encoded)
Data length
Write version
Update Metadata:
Slot number
Startup flag (indicates initial load)
Setup powerful event-driven workflows in seconds.
Helius Webhooks enable seamless monitoring of Solana on-chain events, such as sales, listings, swaps, and more. We offer a user-friendly interface, programmatic API, and SDK access for easily creating and managing webhooks.
Webhook events are charged at 1 credit. Editing, adding, or deleting a webhook via the API will cost 100 credits/request.
We currently offer several types of webhooks tailored to different needs:
Enhanced Transaction Webhooks: Provide human-readable, parsed data for specific transaction types (e.g., NFT sales) related to the addresses you monitor. This is ideal if you want filtered, actionable insights.
Raw Transaction Webhooks: This option delivers raw transaction data for all transactions involving the addresses you monitor. It does not allow filtering by transaction type.
Discord Webhooks: Stream updates for specific transaction types directly to a designated Discord channel as formatted messages. To use this option, you must submit your Discord Webhook URL.
Raw Transaction Webhooks offer lower latency since they do not involve parsing event types.
We provide three convenient methods to create, edit, and manage webhooks on Helius.
If you're not working with Typescript or Javascript, you'll need to interact with our webhooks through REST API:
The easiest—and most enjoyable—way to interact with Helius webhooks is through our official SDKs. We currently offer SDKs for TypeScript and Rust.
The SDKs provide powerful abstractions that enhance the functionality of webhooks, including the ability to create collection webhooks that effortlessly track all NFTs within a specific NFT collection!
Bots
When an NFT is listed on marketplace X, trigger an "NFT buy" action.
When a margin position is unhealthy, trigger a "liquidation" action.
Monitoring & Alerts
When a program emits a certain log, it triggers PagerDuty integration.
When a token account balance changes by more than X%, use Dialect to communicate a warning action.
Event-driven Indexing
When any transaction occurs for a given program, send it directly to your database or backend.
Notifications & Activity Tracking
When transferring from wallet X to wallet Y — send a Slack notification or email.
Analytics & Logs
When event X happens, send it to an ETL pipeline or persist it directly on Helius to view trends over time.
Workflow Automation
When event X happens, trigger any set of actions.
This guide demonstrates to monitor slots and blocks on Solana. You'll learn how to track slot updates, block creation, and block metadata with reliable reconnection handling.
This guide demonstrates to monitor account updates on Solana. You'll learn to use different account filtering options and process account data with reliable reconnection handling.
For a detailed list of supported events, please refer to our .
The Helius UI is perfect if you prefer a no-code solution with additional features like viewing logs and sending test webhook events. You can access it directly through our . You can add up to 25 addresses via the Dashboard. To monitor more than 25 addresses, you can use our API or SDK.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getInflationRate
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getIdentity
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getInflationGovernor
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getLargestAccounts
Optional configuration object for filtering accounts.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getHighestSnapshotSlot
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getHealth
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getMaxShredInsertSlot
The JSON-RPC protocol version.
A unique identifier for the request.
1
The name of the RPC method to invoke.
Parameters for the request.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getLatestBlockhash
Optional configuration object for the request.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getInflationReward
Parameters for the method.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getLeaderSchedule
Parameters for the method.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getMaxRetransmitSlot
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getMultipleAccounts
Parameters for the method.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getMinimumBalanceForRentExemption
Parameters for the method.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getSignatureStatuses
Array containing transaction signatures and optional configuration object.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getSlotLeaders
Parameters for specifying the start slot and limit.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getRecentPrioritizationFees
Optional array of account addresses.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getSlot
Optional configuration object.
The JSON-RPC protocol version.
2.0
A unique identifier for the request.
1
The name of the RPC method to invoke.
getStakeMinimumDelegation
Optional configuration object.