Logo
New RPC users get 35% off their first monthView the offer
RPC Assistant

What is an Arbitrum node and how should you run or access one?

Summary

An Arbitrum node is a client that syncs Arbitrum One's rollup state and serves JSON-RPC requests for dApps, indexers, and trading bots. You can run your own node, use a public endpoint, or rely on a managed RPC provider like OnFinality for production workloads. This guide explains node types, sync tradeoffs, and how to choose the right setup.

Quick recommendation: run, rent, or use a public endpoint?

Before diving into node internals, decide what you actually need. If you are building a production dApp, indexer, or trading bot on Arbitrum, the fastest path is usually a managed RPC provider. Running your own node gives you full control but adds operational overhead: hardware, monitoring, failover, and sync maintenance. Public endpoints are fine for prototyping but are not reliable under sustained load.

  • Prototyping or light usage: Use a public endpoint like https://arbitrum.api.onfinality.io/public for quick tests.
  • Production dApp or backend: Use a managed RPC service with SLAs, archive data, and WebSocket support. OnFinality offers Arbitrum RPC with shared and dedicated options.
  • Full control or data privacy: Run your own node, but plan for hardware, sync time, and ongoing maintenance.

If you are evaluating providers, compare rate limits, archive data, WebSocket support, and failover behavior. See our RPC pricing and supported networks for details.

What is an Arbitrum node?

An Arbitrum node is a software client that connects to the Arbitrum One network, an Ethereum Layer 2 rollup. It maintains a copy of the rollup's state by processing batches of transactions posted to Ethereum. The node exposes a JSON-RPC API that lets applications read blockchain data and submit transactions, just like an Ethereum node.

Arbitrum nodes are essential for developers who need direct access to chain data without relying on third-party APIs. They validate the rollup's progress and provide a trustless way to interact with the network.

How Arbitrum nodes work: a short technical overview

Arbitrum is an optimistic rollup: it assumes transactions are valid unless challenged. The sequencer collects user transactions, orders them, and posts compressed batches to Ethereum as calldata. The Arbitrum node software reads these batches, replays them on an EVM-compatible execution environment, and updates its local state.

Key components of an Arbitrum node:

  • Nitro node: The current client, which runs a modified Geth execution engine.
  • Sequencer feed: A real-time stream of transactions from the sequencer, enabling fast block propagation.
  • Inbox tracker: Monitors Ethereum for batch posts and derives the canonical chain.
  • JSON-RPC server: Serves standard Ethereum methods like eth_call, eth_getLogs, and eth_sendRawTransaction.

Node types: full, archive, and validator

Arbitrum nodes come in different flavors depending on your needs:

Node typeData storedUse cases
Full nodeCurrent state and recent historyStandard dApp queries, transaction sending
Archive nodeFull historical state at every blockAnalytics, deep historical queries, debugging
Validator nodeFull state plus challenge logicParticipating in dispute resolution (advanced)

For most developers, a full node is sufficient. If you need to query historical state (e.g., eth_call at an old block), you need an archive node.

Running your own Arbitrum node: hardware and sync

Running a node gives you autonomy, but it requires commitment. Here are the main considerations:

Hardware requirements

  • CPU: 8+ cores recommended
  • RAM: 16 GB minimum, 32 GB for archive
  • Storage: 2 TB+ NVMe SSD (full node), 4 TB+ for archive
  • Bandwidth: 100 Mbps+ with low latency

Sync modes

  • Full sync: Downloads and processes all historical blocks. Can take days.
  • Snap sync: Starts from a recent snapshot, much faster (hours).

Operational overhead

  • Monitoring: You need to watch sync status, disk space, and RPC latency.
  • Failover: If your node crashes, you need a backup or a failover plan.
  • Updates: Keep your client software up to date with network upgrades.

If you lack the time or expertise for this, a managed provider like OnFinality handles all of it for you.

Accessing Arbitrum via RPC: endpoint and chain settings

To connect your dApp to Arbitrum, you need the correct network configuration. Here are the official settings for Arbitrum One:

  • Chain ID: 42161
  • Network name: Arbitrum One
  • Native currency: ETH (18 decimals)
  • Explorer: https://arbiscan.io
  • Public RPC URL: https://arbitrum.api.onfinality.io/public

For testnet development, use Arbitrum Sepolia (chain ID 421614) with the endpoint https://arbitrum-sepolia.api.onfinality.io/public.

Wallet configuration example

If you are adding Arbitrum to a wallet like MetaMask, you can use the following snippet:

await window.ethereum.request({
  method: 'wallet_addEthereumChain',
  params: [{
    chainId: '0xA4B1', // 42161 in hex
    chainName: 'Arbitrum One',
    nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
    rpcUrls: ['https://arbitrum.api.onfinality.io/public'],
    blockExplorerUrls: ['https://arbiscan.io']
  }]
});

Making JSON-RPC calls to an Arbitrum node

Once you have an endpoint, you can interact with it using standard Ethereum JSON-RPC. Here is a curl example to get the latest block number:

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

For WebSocket subscriptions (e.g., pending transactions), use the WebSocket endpoint provided by your RPC provider. OnFinality supports WebSocket on Arbitrum One.

Common pitfalls when running or using Arbitrum nodes

  • Underestimating storage: Arbitrum's state grows quickly; archive nodes need several TB.
  • Ignoring sync status: A node that is not fully synced returns stale data. Always check eth_syncing.
  • Using public endpoints for production: Public endpoints are rate-limited and can go down. For production, use a managed provider.
  • Forgetting L1 data: Arbitrum nodes need access to Ethereum to verify batches. If your node cannot reach Ethereum, it will stall.
  • Not planning for failover: A single node is a single point of failure. Use a provider with redundancy.

Managed RPC vs. self-hosted: what to consider

FactorSelf-hostedManaged RPC (e.g., OnFinality)
Initial costHigh (hardware, setup)Low (subscription)
MaintenanceYou handle itProvider handles it
ScalabilityManualAutomatic
Archive dataYou store itAvailable on demand
UptimeDepends on your opsProvider SLA
ControlFullLess control

For most teams, the tradeoff favors managed RPC. You get reliable endpoints, archive access, and support without the operational burden.

How to choose an Arbitrum RPC provider

If you decide to use a managed provider, evaluate these criteria:

  • Reliability: Look for providers with redundant infrastructure and transparent status pages.
  • Archive data: Do you need historical state? Ensure the provider offers archive nodes.
  • WebSocket support: Needed for real-time applications.
  • Rate limits: Understand the limits for your plan.
  • Dedicated nodes: For high throughput, a dedicated node may be necessary.

OnFinality offers both shared and dedicated node options for Arbitrum. You can start with a shared endpoint and upgrade as your traffic grows.

Key Takeaways

  • An Arbitrum node is a client that syncs rollup state and serves JSON-RPC.
  • Full nodes are sufficient for most apps; archive nodes are needed for historical queries.
  • Running your own node requires significant hardware and maintenance.
  • Public endpoints are fine for testing, but production apps should use a managed RPC provider.
  • OnFinality provides reliable Arbitrum RPC with HTTP and WebSocket support.

Frequently Asked Questions

What is the difference between Arbitrum One and Arbitrum Sepolia? Arbitrum One is the mainnet with real assets, while Arbitrum Sepolia is a testnet for development. They have different chain IDs and RPC endpoints.

Do I need an archive node for Arbitrum? Only if you need to query historical state at specific blocks. Most applications can use a full node.

Can I use a public Arbitrum RPC for production? Public endpoints are rate-limited and not guaranteed to be available. For production, use a managed provider like OnFinality.

How long does it take to sync an Arbitrum node? With snap sync, it can take a few hours. Full sync may take days.

Does OnFinality support WebSocket on Arbitrum? Yes, OnFinality supports WebSocket on Arbitrum One. Check the network page for details.

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