Logo
RPC Assistant

What is a Scroll RPC endpoint and how do you use it?

Summary

Scroll is an EVM-compatible zero-knowledge rollup on Ethereum. A Scroll RPC endpoint lets wallets, dApps, and scripts interact with the Scroll network using standard Ethereum JSON-RPC methods. This article explains the network parameters, how to connect, and how to choose a reliable RPC provider for production.

Quick recommendation: what to use for Scroll RPC

If you are building on Scroll, the first decision is whether to use the public RPC endpoint, a shared provider endpoint, or a dedicated node. For production dApps, a managed RPC provider is usually the right choice because it handles load balancing, failover, and rate limiting for you. Public endpoints like https://rpc.scroll.io are fine for testing, but they can become congested and are not designed for high-throughput applications.

When evaluating providers, check for:

  • Reliability: Does the provider offer multiple endpoints and automatic failover?
  • Performance: What is the latency and throughput for typical JSON-RPC calls?
  • Support: Does the provider offer WebSocket connections for real-time updates?
  • Pricing: Are there free tiers or pay-as-you-go options that fit your usage?

OnFinality provides managed Scroll RPC endpoints with global infrastructure. You can see RPC pricing and the list of supported networks to get started.

Scroll network parameters at a glance

Scroll is an EVM-compatible zero-knowledge rollup. This means you can use the same tools and libraries you use for Ethereum, just with a different RPC URL and chain ID.

ParameterValue
Network NameScroll Mainnet
RPC URLhttps://rpc.scroll.io (public)
Chain ID534352
Currency SymbolETH
Block Explorerhttps://scrollscan.com
WebSocket URLwss://scroll-rpc.publicnode.com (example)

These parameters are what you need to add Scroll to a wallet like MetaMask or to configure a dApp.

Adding Scroll to a wallet or dApp

Most EVM wallets allow you to add a custom network. Here is a typical configuration:

{
  "chainId": "0x82750",
  "chainName": "Scroll Mainnet",
  "rpcUrls": ["https://rpc.scroll.io"],
  "nativeCurrency": {
    "name": "Ether",
    "symbol": "ETH",
    "decimals": 18
  },
  "blockExplorerUrls": ["https://scrollscan.com"]
}

In MetaMask, you can click "Add Network" and paste these values. For programmatic access, you can use ethers.js or viem:

import { ethers } from "ethers";

const provider = new ethers.JsonRpcProvider("https://rpc.scroll.io");
const network = await provider.getNetwork();
console.log(network.chainId); // 534352n

Making your first JSON-RPC call

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

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

The response will look like:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x2104a3b"
}

You can also use WebSocket for real-time subscriptions:

const ws = new WebSocket("wss://scroll-rpc.publicnode.com");
ws.onopen = () => {
  ws.send(JSON.stringify({
    jsonrpc: "2.0",
    method: "eth_subscribe",
    params: ["newHeads"],
    id: 1
  }));
};
ws.onmessage = (event) => {
  console.log(event.data);
};

How to choose a Scroll RPC provider

When selecting a provider for Scroll, consider the following criteria:

CriterionWhat to checkWhy it matters
UptimeHistorical uptime and SLAsDowntime means your dApp is unavailable
LatencyGeographic distribution and response timesLower latency improves user experience
ThroughputRate limits and concurrent request handlingHigh traffic apps need headroom
Data availabilityArchive nodes, trace supportDebugging and analytics may require historical data
WebSocket supportReal-time subscriptionsEssential for live updates and notifications
PricingFree tier, pay-as-you-go, dedicated optionsCost scales with usage

OnFinality offers both shared and dedicated Scroll RPC options. You can start with a free tier and upgrade as your project grows. See RPC pricing for details.

Common pitfalls and troubleshooting

1. Chain ID mismatch

If you get an error like chainId mismatch, make sure your wallet or dApp is configured with the correct chain ID 534352. Double-check that you are not accidentally using an Ethereum mainnet chain ID.

2. Rate limiting

Public endpoints often have rate limits. If you see 429 Too Many Requests, consider using a provider with higher limits or a dedicated node.

3. WebSocket disconnects

WebSocket connections can drop due to network issues or server restarts. Implement reconnection logic in your application.

4. Block finality

Scroll is a zkRollup, but finality is not instant. Transactions are considered final after the proof is submitted to Ethereum, which can take a few minutes. Do not assume a transaction is final just because it is included in a block.

Debugging with eth_getTransactionReceipt

When a transaction fails, you can inspect the receipt to understand why:

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

Check the status field: 0x1 means success, 0x0 means failure. If it failed, you can use eth_call with the same parameters to simulate the transaction and see the revert reason.

Production readiness checklist

Before launching on Scroll, make sure you have:

  • A reliable RPC provider with failover
  • WebSocket support for real-time features
  • Proper error handling for rate limits and timeouts
  • Monitoring and alerting on RPC health
  • A strategy for handling chain reorganizations

Key Takeaways

  • Scroll is an EVM-compatible zkRollup, so you can use standard Ethereum tooling.
  • The mainnet chain ID is 534352 and the native token is ETH.
  • Public RPC endpoints are fine for testing, but production apps should use a managed provider.
  • Evaluate providers on uptime, latency, throughput, and support.
  • OnFinality offers managed Scroll RPC endpoints with flexible pricing.

Frequently Asked Questions

What is the Scroll RPC URL?

The public RPC URL is https://rpc.scroll.io. For production, consider using a managed provider like OnFinality.

What is the Scroll chain ID?

The Scroll mainnet chain ID is 534352 (hex 0x82750).

Is Scroll EVM compatible?

Yes, Scroll is a Type 1 zkEVM, meaning it is bytecode-level compatible with Ethereum. You can deploy existing smart contracts without modification.

How do I get Scroll testnet ETH?

Scroll Sepolia testnet was shut down after July 30, 2026. For current testnet options, check the Scroll documentation.

Can I use WebSocket with Scroll?

Yes, many providers offer WebSocket endpoints for real-time subscriptions.

How do I choose between shared and dedicated Scroll RPC?

Shared endpoints are cost-effective and sufficient for most applications. Dedicated nodes offer predictable performance and are better for high-traffic or latency-sensitive apps. See our guide on choosing an RPC provider for more 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