ByAUJay
Evaluate the Blockchain Infrastructure & Web3 Development Company Chainstack on Solana Webhooks and Multi-Chain Support SLAs
Summary: Chainstack doesn’t ship native Solana “webhooks,” but it does provide production‑grade real‑time options—WebSocket subscriptions and a Yellowstone gRPC Geyser add‑on—and enterprise SLAs across 70+ chains. This review explains exactly what you can and can’t do on Chainstack today, how to implement reliable Solana webhook pipelines on top, and what to look for in SLA negotiations.
TL;DR for decision‑makers
- If you require push-based Solana webhooks out of the box, Chainstack is not a turnkey “HTTP webhook” provider; you’ll build a thin bridge using their WebSocket or Geyser streams. In exchange, you get stronger control, lower latency, and no lock‑in on event parsing. (docs.chainstack.com)
- Chainstack’s default SLA is 99.9% quarterly uptime with service credits; Enterprise plans offer “Custom Uptime SLAs,” and the platform publicly markets 99.99%+ uptime and SOC 2 Type II. Know the difference between marketing uptime and the contractually enforceable SLA you sign. (chainstack.com)
Why this evaluation now
Solana has re-accelerated with sub‑second block production; webhook‑driven apps (trading, monitoring, compliance) need event delivery that survives reorgs, spikes, and endpoint failures. At the same time, procurement wants one vendor for “all our chains” and a single SLA. Chainstack pitches both: broad multi‑chain coverage plus “real‑time” Solana options. This piece focuses on two things you asked about: Solana webhooks and multi‑chain SLAs. (docs.chainstack.com)
What Chainstack offers today for “Solana webhooks”
Short answer: Chainstack does not provide managed HTTP webhooks for Solana events. Instead, it provides two first‑class, production‑ready data feeds you can bridge to your own webhook endpoint:
- Solana WebSocket subscriptions
- Supported RPC methods include logsSubscribe, accountSubscribe, and rootSubscribe on any Solana node you deploy (Global or Dedicated). These push JSON events over WSS; you control filtering via mentions/program IDs and commitment level. (docs.chainstack.com)
- Solana’s blockSubscribe exists but is flagged as unstable by Solana core. Chainstack’s docs explicitly warn about 1006/1009 disconnects on high‑traffic programs and recommend Geyser for production‑grade block tracking. (solana.com)
- Yellowstone gRPC Geyser streaming (paid add‑on)
- Streams transactions, account updates, blocks, and slots straight from validator memory using a protobuf/gRPC interface; supports from_slot replay for catch‑up. Available on mainnet, from the Growth plan and up, with priced stream tiers. (docs.chainstack.com)
- Chainstack enables Jito ShredStream by default on Solana nodes to improve low‑latency streaming when using Geyser. (docs.chainstack.com)
- Chainstack’s tutorials show concrete, program‑filtered pipelines (e.g., Raydium swaps, Bonk.fun launches) and compare latency vs. WebSockets; Geyser consistently detects events earlier by hundreds of milliseconds in their benchmarks. (chainstack.com)
Takeaway: You can implement your own “webhooks” reliably by consuming WSS or Geyser and pushing to HTTP. You own retry semantics, signing, and persistence—which many teams prefer for control and auditability. (docs.chainstack.com)
How to build robust Solana webhooks on Chainstack (reference patterns)
Below are hardened patterns we use on client projects; pick one based on latency and operational needs.
- Pattern A: WSS → Cloudflare Workers (or AWS Lambda) → Your webhook
- Use logsSubscribe/accountSubscribe for focused events; send signed POSTs to your internal HTTP endpoint. Good for moderate volume, minimal infra. (docs.chainstack.com)
- Pattern B: Geyser → Kafka/PubSub → Stateless webhook deliverer
- Geyser client writes protobuf events to Kafka (or Pub/Sub). A stateless consumer transforms to JSON, signs, and POSTs with exponential backoff + DLQ. Best for high‑volume, sub‑second detection and replay. (docs.chainstack.com)
Recommended implementation details:
- Use HMAC SHA‑256 signatures with timestamp headers; reject stale timestamps and duplicate ids for idempotency. Industry patterns mirror Coinbase’s webhook verification. (docs.cdp.coinbase.com)
- Expect “at least once” delivery; design idempotent handlers via event_id + signature.
- For WSS, explicitly configure the correct WebSocket URL in Solana CLI (solana config calculates WSS incorrectly; set --ws). (docs.chainstack.com)
- Avoid blockSubscribe in production for busy programs; prefer logsSubscribe + getTransaction or, for full fidelity and lower latency, Geyser. (solana.com)
Example: tiny Node.js bridge (WSS → HTTP webhook)
import WebSocket from "ws"; import crypto from "crypto"; import fetch from "node-fetch"; const WSS = process.env.SOLANA_WSS; // Chainstack WSS const WEBHOOK_URL = process.env.WEBHOOK_URL; const SECRET = process.env.WEBHOOK_SECRET; const ws = new WebSocket(WSS); ws.on("open", () => { // logsSubscribe for pump.fun (replace program id) ws.send(JSON.stringify({ jsonrpc: "2.0", id: 1, method: "logsSubscribe", params: [{ mentions: ["6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P"] }, { commitment: "finalized" }] })); }); ws.on("message", async (raw) => { const timestamp = Date.now().toString(); const sig = crypto.createHmac("sha256", SECRET).update(`${timestamp}.${raw}`).digest("hex"); for (let attempt = 0; attempt < 5; attempt++) { const r = await fetch(WEBHOOK_URL, { method: "POST", headers: { "Content-Type": "application/json", "X-Webhook-Timestamp": timestamp, "X-Webhook-Signature": sig }, body: raw }); if (r.ok) break; await new Promise(res => setTimeout(res, 2 ** attempt * 1000)); // backoff 1s,2s,4s,8s,16s } });
- For Geyser, use the Yellowstone protobufs and filters to stream only program IDs you care about; from_slot lets you replay missed windows after restarts. (docs.chainstack.com)
What competitors call “Solana webhooks” (and why it matters)
If a literal “create webhook → we deliver to your URL” is a must‑have, Helius and QuickNode provide managed Solana webhooks, including retries and large address sets per webhook. That’s push delivery with optional parsing out of the box. The trade‑off is vendor‑specific schemas, per‑event pricing, and less control over the delivery pipeline compared to owning your bridge. (helius.dev)
Multi‑chain coverage: what’s real today
- Breadth: Chainstack supports 70+ blockchains, including Ethereum, Solana, Base, Polygon, BNB, Arbitrum, zk, appchains (CDK, Subnets), and newer ecosystems like Hyperliquid, Unichain, Berachain, Plasma, and Monad. Enterprise plans explicitly list “70+ Blockchains.” (chainstack.com)
- Depth and regional placement: “Available clouds, regions & locations” shows concrete placements, e.g., Solana mainnet Global (worldwide) plus Chainstack Cloud in London and New York; devnet in Global and Ashburn. These matrices also call out Archive vs. Full modes and whether Debug/Trace is available per chain. (docs.chainstack.com)
- Platform API: use it to discover networks and nodes programmatically (GET /v1/networks/{id}), which pairs nicely with resilience proxies (e.g., eRPC) for automatic multi‑chain failover. (docs.chainstack.com)
Practical takeaway: If you want one vendor to standardize access across your EVMs, Solana, L2 rollups, and a handful of non‑EVMs, Chainstack is legitimately multi‑chain—and transparent on where/what they run. (docs.chainstack.com)
SLA reality check: what you can hold Chainstack to
- Default SLA: 99.9% quarterly uptime for the applicable service feature (Network Services, Management Console, Platform API). Downtime is measured from customer‑reported confirmation to resolution. Service credits: 10% if uptime ≤ 99.9% but > 99.0%; 25% if < 99.0%. Scheduled maintenance window: Tuesdays and Sundays 06:00–10:00 UTC (7‑day notice). Monitoring: nodes probed every 30 seconds from 4 locations; 3/4 agreeing under 30 seconds with one outlier is deemed a network issue, not downtime. (chainstack.com)
- Enterprise add‑ons: pricing page advertises “Custom Uptime SLAs” and “24/7 Priority Support.” Negotiate higher than 99.9% (many buyers push for 99.99% on critical paths) and align severity/response terms with your playbooks. (chainstack.com)
- Marketing vs. contract: Chainstack markets “99.99%+ uptime” and now holds SOC 2 Type II. Those are strong signals, but the only enforceable terms are in your order form and the SLA. Align them. (chainstack.com)
- Support tiers and response times: Premium support targets <1 hr initial response, 24/7, with Slack/Telegram/Discord channels and a Technical Account Manager; Standard/Professional tiers have slower response targets. (chainstack.com)
- Status visibility: Chainstack’s status page exposes health in real time and even offers Slack/Email/Webhook notifications for incidents—useful for integrating ops alerting. (chainstack.com)
What to ask in an RFP/SOW:
- Commit to a numeric uptime per chain family (e.g., Solana vs. EVM) and per product (RPC vs. Geyser).
- Define incident SEVs for streaming disruptions (e.g., Geyser stream instability) and credit calculations if streams—not only RPC—miss targets.
- Clarify maintenance windows per region and your blackout periods (trading hours).
- Secure a right‑to‑audit SOC 2 Type II report under NDA. (chainstack.com)
Concrete, up‑to‑date plan limits that affect webhook‑style builds
- Included request units: 3M (Developer), 20M (Growth), 80M (Pro), 140M (Business), 400M (Enterprise); extra usage per 1M scales down to $5 on Enterprise. RPS ceilings jump from 25 (Developer) to 600 (Business). (chainstack.com)
- Unlimited Node: flat‑fee, RPS‑tiered endpoint with “unlimited” requests starting at $149/mo (25 RPS), scaling up with predictable cost—valuable if you’re bridging events and don’t want RU anxiety. (chainstack.com)
- Yellowstone Geyser add‑on pricing: listed tiers start at $49/mo (1 stream), $149/mo (5 streams), $449/mo (25 streams). Available from Growth plan; mainnet only. (chainstack.com)
Tip: Solana WSS clients drop if you rely on unstable blockSubscribe; prefer logsSubscribe/accountSubscribe or Geyser for busy programs. Track and alert on WSS close codes 1006/1009; auto‑reconnect with jitter. (solana.com)
Example: Geyser → Kafka → resilient webhooks in 8 steps
- Provision Solana mainnet Global or Chainstack Cloud in London/New York; enable Yellowstone gRPC Geyser add‑on. (docs.chainstack.com)
- Use program filters (e.g., Raydium AMM and your app’s program IDs) in your SubscribeRequest to cut volume. (chainstack.com)
- Consume gRPC, serialize to an internal JSON envelope with event_id, slot, signature, and a compact payload. (docs.chainstack.com)
- Publish to Kafka with topic partitioning by program_id (or account) for parallelism.
- Consumer signs the envelope (HMAC) and POSTs to your internal webhook URL; respond 200 OK only after durable write. (docs.cdp.coinbase.com)
- Retries: exponential backoff to a max window; on exhaustion, drop to DLQ with the exact event_id and headers for replays.
- Replays: on restart after an outage, reconnect to Geyser with from_slot derived from your last committed slot to close gaps. (docs.chainstack.com)
- Observability: tie Chainstack’s status/webhook alerts to your incident channel; track stream lag, reconnect counts, and per‑endpoint success rate. (chainstack.com)
Result: functionally identical to a hosted webhook service, with lower latency and more control over retries, signatures, and storage.
Multi‑chain reliability stack you can deploy on Day 1
- Access rules: Lock down RPC by IP/domain in the console to stop parasitic traffic before it hits nodes. (chainstack.com)
- Automatic multi‑endpoint failover: use eRPC integrated with Chainstack’s Platform API—no manual endpoint juggling; discover and rotate across your Chainstack nodes by project/region/provider. (docs.chainstack.com)
- Debug/Trace coverage: Chainstack exposes standard debug_trace APIs across many EVMs—useful for forensic webhook handlers that need full execution context. (docs.chainstack.com)
- Regional placement: Pin Solana to London/NYC for user‑base proximity; do the same per chain. The “Available clouds, regions & locations” matrix is detailed enough to plan latency budgets. (docs.chainstack.com)
- Independent monitoring: Chainstack’s Compare Dashboard publicly measures provider performance by chain/region; wire it into your pre‑trade checks. (docs.chainstack.com)
Best emerging practices for Solana “webhooks” on Chainstack
- Prefer Geyser for time‑sensitive strategies (sniping, MEV, real‑time risk). Use logsSubscribe only when budgets or simplicity outweigh milliseconds. (docs.chainstack.com)
- Keep the push interface yours: don’t leak vendor‑specific schemas into downstream systems. Translate events to your domain model at the bridge.
- Verify every webhook: HMAC with timestamp, reject >5‑minute skew, and store the raw body for non‑repudiation. Coinbase’s developer docs outline a clean mental model for verification. (docs.cdp.coinbase.com)
- Design for at‑least‑once: implement idempotency keys (event_id + signature), transactional outbox, and DLQs.
- Separate hot path from enrichment: POST a minimal event, then enrich via getTransaction or your data lake to keep latency predictable. (docs.chainstack.com)
Procurement cheat‑sheet (copy/paste into your email to Chainstack Sales)
- Confirm current contractual SLA targets for:
- RPC “Network Services” uptime per chain;
- Geyser stream uptime/MTTD (mean time to detect) guarantees and credit treatment for stream failures;
- Maintenance windows by region and Solana streaming add‑on. (chainstack.com)
- Ask for Enterprise “Custom Uptime SLAs” with 99.99% for your critical chains and Premium support (<1 hr, 24/7). (chainstack.com)
- Request the latest SOC 2 Type II report under NDA. (chainstack.com)
- Validate stream quotas and pricing for Yellowstone (1/5/25 streams, Growth+). (chainstack.com)
- Lock in regions: Solana Global + London/NYC; verify failover posture and Geyser presence. (docs.chainstack.com)
Verdict
- Solana webhooks: Chainstack won’t hand you a managed webhook switch, but its WSS and Yellowstone Geyser streaming are the right primitives for teams that want low latency, replay, and control. In practice, a 50‑line bridge gives you webhook delivery with stronger guarantees than most hosted options. (docs.chainstack.com)
- Multi‑chain SLAs: The base, enforceable SLA is 99.9% per quarter with defined credits; Enterprise gives you customization, 24/7 support, and the breadth of 70+ chains. Push for 99.99% where it matters and tie credits to both RPC and stream availability. (chainstack.com)
If you need fully hosted Solana webhooks with pre‑parsed events and zero code, providers like Helius and QuickNode are valid alternatives—but you’ll trade off control, schema independence, and potentially latency. For teams standardizing infra, Chainstack’s multi‑chain footprint, SOC 2 Type II, and streaming options make it a pragmatic backbone—especially once you add a thin webhook bridge tailored to your workflows. (helius.dev)
Appendix: Useful links for your architects
- Chainstack Solana logsSubscribe/accountSubscribe/rootSubscribe docs. (docs.chainstack.com)
- Solana warning on blockSubscribe stability. (solana.com)
- Chainstack blockSubscribe doc with Geyser recommendation. (docs.chainstack.com)
- Yellowstone gRPC Geyser docs and pricing. (docs.chainstack.com)
- Jito ShredStream enabled by default on Chainstack Solana nodes. (docs.chainstack.com)
- Chainstack networks/regions matrix (verify your target regions). (docs.chainstack.com)
- SLA and support response time matrix; Pricing with “Custom Uptime SLAs.” (chainstack.com)
- Platform API for network and node discovery; eRPC quickstart with Chainstack. (docs.chainstack.com)
- Helius and QuickNode webhooks (for comparison and migration planning). (helius.dev)
Like what you're reading? Let's build together.
Get a free 30‑minute consultation with our engineering team.

