How We Run a Solana gRPC Business at $99/mo Flat (With Real Numbers)

Most Solana RPC providers charge by credit or request. Helius. QuickNode. Alchemy. The industry assumption is that usage-based pricing is the only way to run a real-time data business without losing money on the heavy users.
We run Subglow gRPC flat: `$99/mo` for Sniper, `$249/mo` for Pro. Same price whether you stream 10k messages a day or 10 million. This post is a transparent look at why that model works for us, and where it breaks down.
The Honest Unit Economics
Running a filtered Yellowstone gRPC endpoint costs us three things:
- Validator + RPC node. We run our own agave-validator on bare metal in Amsterdam. Around $1,800/mo including bandwidth, with a second hot-standby at ~$900/mo. Call it ~$2,700/mo for the validator layer.
- Edge + filter nodes. A small fleet of Rust services that terminate TLS, apply per-tenant filters, pre-parse Pump.fun/Raydium/Jupiter instructions, and fan out to subscribers. Roughly $400/mo in compute at our current scale.
- Bandwidth. Non-trivial: a raw Solana stream is 30–80 Mbps. After filtering to three programs and excluding votes + fails, the outbound per subscriber drops to roughly 0.5–5 Mbps depending on market activity. Bandwidth bill sits around $350/mo for the current customer base.
So our ballpark monthly fixed cost is in the low thousands. Everything above fixed is marginal bandwidth per active subscriber, which scales with how much they actually stream.
Why Flat Works Here
The critical insight: a well-filtered Solana gRPC stream has a bandwidth ceiling, not a floor. A Pump.fun sniper is going to see the same transactions whether they're streaming 1 day or 30 days a month. Votes and fails are excluded server-side. They can't accidentally pay for 10x their expected usage because the filter itself caps what they can consume.
That means per-subscriber marginal cost is predictable and small. On an average Sniper-plan subscriber we see ~2 Mbps sustained, which is ~$6/mo in egress. We charge $99. That leaves $93/mo to cover the validator fleet, engineering, support, and the occasional whale subscriber who pulls 5× the average.
In credit-metered pricing, the provider carries all of that variance risk onto the customer. That's economically rational when workloads are unbounded — like general-purpose RPC where a badly-written indexer can make 100 million requests in a weekend. It's not rational when the workload is a stream of pre-filtered event data.
Where Credit-Metered Pricing Actually Wins
Let me be fair to the other side of the trade. Credit metering beats flat pricing when:
- Usage is bursty but total volume is low. If you only want a real-time stream for 30 minutes a week while testing a strategy, $99/mo is a rip-off. A Helius pay-per-use plan will cost you pennies.
- You need exotic RPC methods.
getProgramAccounts, historical transaction lookups, archival queries — all better on general-purpose RPC. Subglow is a streaming product, not a kitchen-sink RPC. - Your workload is a one-shot indexer backfill. Building an index of the last 6 months of Raydium liquidity events? Pay for what you consume.
The Failure Mode Flat Pricing Avoids
The number-one reason traders migrate to Subglow isn't the latency. It's the billing surprise. A copy-trade bot author we onboarded last month was paying ~$400/mo on a credit-metered plan during slow weeks and $3,100 during a Pump.fun meme cycle. His plan had no cap. He had to write code that voluntarily stopped streaming when his credit budget got tight — which defeats the entire point of running a sniper.
Flat pricing replaces that anxiety with a predictable line item. The same $99 goes on the P&L whether the market is dead or volcanic.
When We Have To Say No
This model has an obvious pressure point: a single subscriber can cost us more than they pay. We mitigate it in three ways:
- Per-plan concurrent stream caps. Sniper = 2 streams, Pro = 10. You can't open 200 gRPC channels and stream the entire Solana firehose.
- Program-ID filter restrictions. Sniper is locked to Pump.fun + Raydium + Jupiter. Only Pro and Dedicated can point the filter at arbitrary programs (and the custom filter still inherits the vote/fail exclusions server-side).
- RESOURCE_EXHAUSTED on new connections. When a user hits their stream cap, existing streams keep running — new connection attempts bounce. No cost surprise for us, no silent drops for them.
Dedicated is the escape hatch. If you need unlimited streams or custom parsing pipelines, you talk to us and we quote a custom flat number that accounts for your actual footprint. We'd rather bill you for what you use than have you on a shared tier pulling multiples of the mean.
What This Means For You
Pick flat if your workload is a continuous filtered stream at roughly-predictable volume. Pick credit-metered if your workload is bursty, wildly variable, or needs arbitrary RPC methods. For most copy-trade and sniper workloads, flat is cheaper and safer.
If you're curious how it feels in practice, we run a free trial with the real infrastructure and the three built-in filters. No credit card up front. Compare it to your current bill for a week.
Related Reading
Ready to try it?
Get your API key and start receiving filtered data in under 5 minutes. Free tier available.
Get started →