bench 268: Solana reads with endpoint fallback (Chainstack, Alchemy, Helius) - #2535
Merged
Merged
Conversation
…LANA_RPC comma-separated, Helius appended, public node last; the next endpoint on a rate limit or a transport error instead of a sleep): production runs Chainstack's shared node first, Alchemy's free app for the overflow, Helius third; Robinhood Chain gets Chainstack behind QuickNode Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L4rjxemTvgRwrCG6D2iK5D
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The bench's Solana reads (about 29,000 calls a day:
getTransactionon every drawn swap,getAccountInfoon pools and owners) all went to Helius's free tier, 0.9 M of its 1 M monthly credits, with a sleep on every 429 and the draw lost after four. The RPC client now takes a list:SOLANA_RPCcomma-separated, the Helius key appended when set, the public node last; a rate limit or a transport error moves to the next endpoint at once, the sleeps only apply once every endpoint was tried.Production order, measured tonight on the harness's own calls: Chainstack's shared Solana node (paid for the keyed-RPC cohort, no per-call budget,
getTransactionjsonParsed v0 in 250 ms, 25 parallel calls without a refusal), then Alchemy's free app for the overflow, then Helius. The WebSocket feed stays on the public node. Robinhood Chain keeps QuickNode first (a 1,000-block log range in 0.13 s) with Chainstack behind it (1.3 s for the same range; Alchemy's free app answers 403 on that chain).Deploy: harness (deploy recipe carries the two Chainstack placeholders).
🤖 Generated with Claude Code
https://claude.ai/code/session_01L4rjxemTvgRwrCG6D2iK5D