Logo
RPC Assistant

What is an Arbitrum RPC and how do you choose the right endpoint?

Summary

An Arbitrum RPC endpoint is the gateway for dApps, wallets, and indexers to communicate with Arbitrum One, Nova, or testnets. This article covers chain settings, public vs. private endpoints, sequencer behavior, and criteria for selecting a reliable RPC provider for production use.

Arbitrum RPC decision checklist

Before integrating an Arbitrum RPC endpoint, evaluate these criteria to avoid common pitfalls:

CriterionWhat to checkWhy it matters
Network selectionConfirm chain ID (42161 for One, 42170 for Nova, 421614 for Sepolia)Wrong chain ID causes transaction failures or lost funds
Public vs. privateRate limits, reliability, and data privacyPublic endpoints may throttle or expose IP; private endpoints offer higher limits
Sequencer vs. standard RPCSequencer endpoints only support eth_sendRawTransactionUsing sequencer for other calls will fail silently
WebSocket supportCheck if provider offers WSS for real-time subscriptionsMany public endpoints lack WebSocket; needed for event-driven dApps
Archive dataDoes the provider support archive state?Required for historical queries, debugging, and analytics
Trace APIStylus tracing for Arbitrum-specific debuggingNeeded for advanced contract analysis and gas profiling
Fallback strategyHave multiple endpoints configuredPrevents downtime if primary endpoint fails
Pricing modelPay-as-you-go vs. dedicated nodeShared RPC is cheaper; dedicated nodes offer predictable performance

Arbitrum network overview

Arbitrum is a leading Layer 2 optimistic rollup that inherits Ethereum's security while offering lower fees and higher throughput. It has two main networks:

  • Arbitrum One (chain ID 42161) – the primary rollup using Nitro tech stack.
  • Arbitrum Nova (chain ID 42170) – an AnyTrust chain optimized for gaming and social apps.
  • Arbitrum Sepolia (chain ID 421614) – the testnet for development.

Each network has its own public RPC endpoints and sequencer endpoints. The sequencer endpoint is a special write-only endpoint that accepts eth_sendRawTransaction (and eth_sendRawTransactionConditional) and provides faster inclusion. It should not be used for read calls.

Public Arbitrum RPC endpoints

Arbitrum provides free public endpoints for all networks:

  • Arbitrum One: https://arb1.arbitrum.io/rpc
  • Arbitrum Nova: https://nova.arbitrum.io/rpc
  • Arbitrum Sepolia: https://sepolia-rollup.arbitrum.io/rpc

These endpoints are rate-limited and do not support WebSocket. They are suitable for light usage, prototyping, or wallets, but not for production dApps with high traffic.

Third-party RPC providers

Many node providers offer Arbitrum RPC services with higher rate limits, WebSocket support, archive data, and dedicated node options. When evaluating providers, consider:

  • Rate limits: Public endpoints may allow only a few requests per second. Paid plans offer higher throughput.
  • WebSocket: Essential for real-time applications like DEXs, NFT marketplaces, and gaming.
  • Archive data: Needed for historical state queries (e.g., eth_call with past block numbers).
  • Trace API: Arbitrum Stylus tracing enables deep contract debugging.
  • Geographic distribution: Low-latency endpoints improve user experience.

OnFinality provides managed RPC endpoints for Arbitrum One, Nova, and Sepolia, with options for shared and dedicated nodes. Check the Arbitrum network page for current support and RPC pricing for plan details.

How to connect to Arbitrum RPC

Using curl

curl -X POST https://arb1.arbitrum.io/rpc \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'

Using ethers.js (JavaScript)

const { ethers } = require("ethers");

const provider = new ethers.JsonRpcProvider("https://arb1.arbitrum.io/rpc");

async function getBlock() {
  const blockNumber = await provider.getBlockNumber();
  console.log("Current block:", blockNumber);
}
getBlock();

Using web3.py (Python)

from web3 import Web3

w3 = Web3(Web3.HTTPProvider("https://arb1.arbitrum.io/rpc"))
print(w3.eth.block_number)

Sequencer endpoint behavior

Arbitrum's sequencer provides fast transaction inclusion. Key points:

  • Only write calls: eth_sendRawTransaction and eth_sendRawTransactionConditional.
  • Lower latency: Transactions are confirmed faster than via standard RPC.
  • No read support: Do not use for eth_call, eth_getBalance, etc.
  • Fallback pattern: Use sequencer for sending transactions, standard RPC for reads.

Example sequencer endpoints:

  • One: https://arb1-sequencer.arbitrum.io/rpc
  • Nova: https://nova-sequencer.arbitrum.io/rpc
  • Sepolia: https://sepolia-rollup-sequencer.arbitrum.io/rpc

Common pitfalls and troubleshooting

1. Using sequencer for read calls

Sending a read request to the sequencer endpoint will return an error. Always use the standard RPC URL for reads.

2. Rate limiting on public endpoints

Public endpoints have strict rate limits. If you see HTTP 429 responses, switch to a provider with higher limits or a dedicated node.

3. Missing WebSocket support

Many public endpoints do not support WebSocket. For real-time subscriptions, use a provider that offers WSS.

4. Incorrect chain ID

Always verify the chain ID in your wallet or dApp configuration. Using the wrong chain ID can lead to failed transactions or lost funds.

5. Archive data availability

If your application needs historical state, ensure your provider supports archive nodes. Public endpoints typically only serve recent state.

When to use a dedicated node

For high-traffic production applications, a dedicated Arbitrum node offers:

  • Guaranteed resources: No contention with other users.
  • Custom configuration: Tune node settings for your workload.
  • Full archive data: Access to all historical state.
  • WebSocket support: Real-time event streaming.
  • clear rate limits: Unlimited requests within node capacity.

OnFinality offers dedicated Arbitrum nodes with flexible deployment options. Visit the dedicated node page for more information.

Key Takeaways

  • Arbitrum provides public RPC endpoints for One, Nova, and Sepolia, but they are rate-limited and lack WebSocket.
  • Sequencer endpoints are write-only; use them only for sending transactions.
  • Third-party providers offer enhanced features like higher limits, WebSocket, archive data, and dedicated nodes.
  • Evaluate providers based on rate limits, WebSocket support, archive data, trace API, and geographic distribution.
  • For production, consider a dedicated node for predictable performance and full control.

Frequently Asked Questions

What is the Arbitrum chain ID? Arbitrum One is 42161, Arbitrum Nova is 42170, and Arbitrum Sepolia is 421614.

Can I use the sequencer endpoint for read calls? No. The sequencer only supports eth_sendRawTransaction and eth_sendRawTransactionConditional. Use the standard RPC for reads.

Do public Arbitrum RPC endpoints support WebSocket? No. Public endpoints are HTTP-only. For WebSocket, use a third-party provider.

How do I choose between shared and dedicated RPC? Shared RPC is cost-effective for low to moderate traffic. Dedicated nodes are better for high throughput, low latency, and custom requirements.

Where can I find a list of supported Arbitrum networks? Check the supported RPC networks page for the latest list.

For more details on pricing and plans, visit the RPC pricing page.

RPC Knowledge Base

Related RPC details

Never Worry about Infrastructure Again

OnFinality takes away the heavy lifting of DevOps so you can build smarter and faster.

Get Started