Solana WebSocket Billing
As of May 1, 2026, Solana WebSocket billing has transitioned from per-message billing to metered data billing based on the uncompressed size of data delivered. This change provides more fair and transparent pricing that better reflects actual infrastructure costs and aligns with industry standards.
What Changed
| Aspect | Before (Per-Message Billing) | After (Metered Data Billing) |
|---|---|---|
| Billing Model | Flat rate per message | Based on uncompressed data size |
| Rate | 20 API credits per message | 0.1 MB = 15 API credits |
| Message Size Impact | No impact - all messages cost the same | Directly affects cost - smaller messages cost less |
| Subscription Responses | 20 credits per response | Metered by data size (0.1 MB = 15 credits) |
| Unsubscribe Requests | Flat API credit cost | Flat API credit cost (unchanged) |
| Example: slotSubscribe (~100 bytes) | 20 credits per notification | ~0.015 credits per notification (99.93% reduction) |
Timeline
| Date | What Changed |
|---|---|
| May 1, 2026 | All Solana WebSocket methods transitioned to metered billing (0.1 MB = 15 API credits) except blockSubscribe, which remains on flat-rate billing temporarily. |
| July 1, 2026 | blockSubscribe transitions to metered billing (0.1 MB = 15 API credits). All WebSocket methods now use metered billing. |
Why This Change?
WebSocket message sizes vary significantly across different subscription methods. For example:
- Small messages:
slotSubscribe,signatureSubscribe,voteSubscribetypically return only a few hundred bytes per notification - Large messages:
blockSubscribereturns full Solana blocks averaging ~4 MB each
Under the previous flat-rate billing, users of small-message methods were effectively subsidizing the infrastructure costs of large-message methods. Metered billing ensures you only pay for the data you actually receive.
Impact on Your Usage
Lower Costs for Most Users
Most users will see lower API credit usage under the new rate of 0.1 MB = 15 API credits. Methods that return small amounts of data per notification will cost less than the previous flat rate of 20 credits per message:
accountSubscribelogsSubscribeprogramSubscriberootSubscribesignatureSubscribeslotSubscribeslotsUpdatesSubscribetransactionSubscribevoteSubscribe
These methods typically return small amounts of data per notification, resulting in much lower costs under metered billing compared to the previous flat rate of 20 credits per message.
Example: A slotSubscribe notification is typically ~100 bytes. Under metered billing, this costs approximately 0.015 API credits (compared to 20 credits previously), resulting in a 99.93% cost reduction.
blockSubscribe Considerations
blockSubscribe returns complete Solana blocks, which can exceed 30 MB per notification. Most applications don't need every byte. With metered billing, optimizing what you subscribe to directly reduces your cost.
Timeline
- May 1 - June 30, 2026:
blockSubscriberemains on the previous flat billing model - July 1, 2026:
blockSubscribetransitions to metered billing
How to optimize your blockSubscribe usage for metered billing
-
Filter by account or program. If you only care about transactions involving specific accounts or programs, use the
mentionsAccountOrProgramfilter instead of"all". Blocks with no matching transactions won't generate notifications at all. -
Reduce transaction detail. The
transactionDetailsparameter acceptsfull,accounts,signatures, ornone. If you don't need full transaction data, stepping down tosignaturesoraccountscuts payload size significantly. -
Turn off rewards. Set
showRewardstofalseif your application doesn't use reward data. -
Choose the right encoding. The
encodingparameter controls how account data is returned.base64andjsonParsedare common choices. Pick the one your application actually consumes.
If you need the full block data for every block or expanded filtering options, or you're a heavy user of blockSubscribe, consider these alternatives that may be more cost-effective for your use case:
- Quicknode Streams: Managed data pipeline with flat pricing per block
- Solana gRPC: High-performance Yellowstone-compatible Geyser gRPC streaming with advanced filtering
Affected Methods
The following WebSocket subscription methods are now billed based on metered data:
| Method | Typical Data Size | Effective Date |
|---|---|---|
| accountSubscribe | Small (~100-500 bytes) | May 1, 2026 |
| logsSubscribe | Small-Medium (~500-2000 bytes) | May 1, 2026 |
| programSubscribe | Small-Medium (~100-1000 bytes) | May 1, 2026 |
| rootSubscribe | Small (~100 bytes) | May 1, 2026 |
| signatureSubscribe | Small (~200 bytes) | May 1, 2026 |
| slotSubscribe | Small (~100 bytes) | May 1, 2026 |
| slotsUpdatesSubscribe | Small (~200-400 bytes) | May 1, 2026 |
| transactionSubscribe | Medium-Large (~1-10 KB) | May 1, 2026 |
| voteSubscribe | Small (~300 bytes) | May 1, 2026 |
| blockSubscribe | Large (~4 MB) | July 1, 2026 |
Understanding Your Usage
You can monitor your WebSocket usage in your Quicknode dashboard:
- Navigate to your endpoint page
- Click the Metrics tab
- View the following charts:
- API Credits - Track total API credits consumed over time
- Metered endpoint data - Monitor data volume for metered methods
- Metered endpoint credits - Track credits consumed by metered WebSocket methods
Questions?
If you have any questions about WebSocket billing or need help optimizing your usage, please contact billing@quicknode.com.