Skip to content

chore: improve RPC endpoints and fallbacks#12273

Merged
kaladinlight merged 2 commits intodevelopfrom
chore/improve-rpc-endpoints-and-fallbacks
Apr 10, 2026
Merged

chore: improve RPC endpoints and fallbacks#12273
kaladinlight merged 2 commits intodevelopfrom
chore/improve-rpc-endpoints-and-fallbacks

Conversation

@kaladinlight
Copy link
Copy Markdown
Contributor

@kaladinlight kaladinlight commented Apr 10, 2026

Description

  • Switches second-class chain primary RPCs from drpc.org to native/official endpoints (e.g. rpc.berachain.com, rpc.linea.build, rpc.mantle.xyz)
  • Reorders first-class chain fallbacks to prefer publicnode over drpc
  • Adds additional fallback RPCs for second-class chains (onfinality, tatum, etc.)
  • Wires up createFallbackTransport for ethereal and sei viem clients (previously only had a single URL with no fallback)
  • Reorganizes .env node URLs into first-class and second-class sections alphabetically
  • Moves FASTNEAR_API_URL and JITO_BLOCK_ENGINE_URL to appropriate sections

Risk

Low - RPC endpoint configuration changes only. If any new endpoint is unreliable, the fallback chain handles it.

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

All second-class EVM chains for reads/writes. First-class chains only affected if primary ShapeShift RPC is down (fallback order changed).

Testing

Engineering

  1. Verify second-class chain interactions work (token balances, tx history, swaps)
  2. Spot-check a few chains to confirm the primary RPC responds

Operations

  • Verify portfolio loads correctly for wallets holding tokens on second-class chains (Monad, Berachain, Linea, etc.)
  • Execute a swap on a second-class chain and confirm it completes

Summary by CodeRabbit

Chores

  • Updated blockchain network endpoints to more reliable providers.
  • Reorganized fallback network configuration for improved redundancy and service availability.
  • Enhanced network connectivity and stability across supported blockchain networks.
  • Improved failover mechanisms for more resilient blockchain operations.

- Switch second-class chain primary RPCs from drpc to native/official endpoints
- Reorder first-class chain fallbacks to prefer publicnode over drpc
- Add additional fallback RPCs for second-class chains (onfinality, tatum, etc.)
- Use createFallbackTransport for ethereal and sei viem clients
- Reorganize .env node URLs into first-class and second-class sections
- Move FASTNEAR_API_URL and JITO_BLOCK_ENGINE_URL to appropriate sections

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kaladinlight kaladinlight requested a review from a team as a code owner April 10, 2026 17:00
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 10, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 80ca0851-8bfd-4f05-8604-e95ecaad5b60

📥 Commits

Reviewing files that changed from the base of the PR and between c1698d3 and 5feb37a.

📒 Files selected for processing (3)
  • .env
  • packages/contracts/src/fallbackRpcUrls.ts
  • packages/contracts/src/viemClient.ts

📝 Walkthrough

Walkthrough

Configuration and infrastructure updates reorganizing RPC node endpoints into tiered categories ("first class" and "second class"), updating multiple chain RPC URLs to use native or alternative providers, and standardizing transport configuration for Ethereal and Sei networks via shared fallback helpers.

Changes

Cohort / File(s) Summary
Environment Configuration
.env
Reorganized node RPC endpoints into "first class" and "second class" sections; updated 20+ chain endpoints to use native or different providers (e.g., Blast, Berachain, Celo); repositioned several URLs; re-added VITE_FASTNEAR_API_URL and VITE_JITO_BLOCK_ENGINE_URL.
Fallback RPC URLs Data
packages/contracts/src/fallbackRpcUrls.ts
Reclassified fallback RPC mappings with "first class" vs "second class" grouping; reordered URLs for primary chains; added/removed fallback endpoints for 25+ chains; introduced new entries for ethereal and sei; simplified some chains to single URLs.
Viem Client Transport
packages/contracts/src/viemClient.ts
Updated Ethereal and Sei network clients to use createFallbackTransport() helper function with predefined FALLBACK_RPC_URLS instead of inline transport construction.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 The endpoints shuffle, left and right,
First-class, second-class, what a sight!
URLs dance through config's glow,
Fallback chains in ordered flow,
Infrastructure blooms—hop, skip, and bound! 🌿

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: improving RPC endpoints and fallback configurations across multiple chains.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/improve-rpc-endpoints-and-fallbacks

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kaladinlight kaladinlight enabled auto-merge (squash) April 10, 2026 17:08
@kaladinlight kaladinlight merged commit 51bf5c1 into develop Apr 10, 2026
4 checks passed
@kaladinlight kaladinlight deleted the chore/improve-rpc-endpoints-and-fallbacks branch April 10, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant