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

Chains List: How to Find Chain IDs, RPC Endpoints, and Reliable Networks for Your App

Summary

A **chains list** is a directory of blockchain networks with the metadata developers need to connect: chain ID, native currency, block explorer, and RPC endpoint. The most common version is an EVM chains list, where each entry follows the same schema so wallets and Web3 middleware can add a network without manual configuration. The canonical source for that data is the ethereum-lists/chains repository, which powers directories like Chainlist.

But a chains list answers a narrower question than most developers actually have. Finding a chain ID is easy; deciding which RPC endpoint to use for that chain in production is the harder part. Public endpoints listed in directories are shared, rate-limited, and rarely intended for sustained application traffic. This article covers how to read a chains list correctly, which fields matter for wallet and dApp configuration, and how to move from a directory entry to a dependable RPC setup.

If you already know the chain you need, the fastest path is to check OnFinality's supported RPC networks for a managed endpoint, or review RPC pricing if you are planning production traffic. The rest of this page explains the data model behind chains lists and the decisions that follow.

Key Takeaways

  • A chains list is metadata, not infrastructure: chain ID and RPC URL are different concerns.
  • The ethereum-lists/chains repository is the upstream source behind most EVM chain directories.
  • Chain ID is the field that prevents cross-chain transaction errors; verify it before any wallet config.
  • Public RPC endpoints in directories are fine for testing but not for sustained application traffic.
  • For production, evaluate managed RPC or dedicated nodes on workload, archive needs, and failover.
  • OnFinality provides managed RPC API access and dedicated node options across supported networks.

What a chains list actually contains

A chains list is a structured directory of blockchain networks. For EVM chains, each entry typically includes the chain name, chain ID (decimal and hex), short name, native currency symbol and decimals, block explorer URLs, and one or more RPC endpoints. Non-EVM chains appear in broader lists but use different metadata because they do not share the EVM JSON-RPC interface.

The most widely referenced source is the ethereum-lists/chains repository. Each chain has its own JSON file named by its CAIP-2 identifier, and directories like Chainlist render that data into a searchable interface. When you see a chain ID in a wallet or a dApp, it usually traces back to this repository or a mirror of it.

The important distinction: a chains list tells you how to identify a network, not how to operate against it. The chain ID is stable protocol metadata. The RPC URL is an operational choice that changes with your workload, and the public endpoints in a directory are shared by everyone reading that page.

  • Chain ID: the numeric identifier used in transactions and wallet configs.
  • Native currency: symbol and decimals used for display and gas calculations.
  • RPC URLs: one or more endpoints, often public and rate-limited.
  • Explorer URLs: block explorer links for verification and debugging.
  • CAIP-2 identifier: the namespace:reference format used in the upstream repository.

Quick recommendation: directory lookup vs production endpoint

Use a chains list when you need to configure a wallet, verify a chain ID, or add a testnet to a development environment. Use a managed RPC provider when you need an endpoint that will handle application traffic, archive queries, or WebSocket subscriptions without competing with anonymous users.

The table below maps common tasks to the right source. If your task is in the right-hand column, a directory entry is not the final answer.

CriterionWhat to checkWhy it matters
Add a network to a walletChain ID, currency symbol, explorer URL from a chains listWallet config only needs metadata; no traffic commitment
Test a contract on a testnetTestnet chain ID and a public faucet endpointLow volume makes shared public endpoints acceptable
Run a dApp backendManaged RPC with documented limits and failoverShared public endpoints are not sized for application traffic
Query historical stateArchive node availability on the providerMost public directory endpoints are pruned, not archive
Subscribe to eventsWebSocket support and connection limitsHTTP-only endpoints cannot serve subscriptions

The fields that cause the most configuration errors

Most chains-list mistakes come from three fields: chain ID, RPC URL, and currency decimals. A wrong chain ID sends a transaction to the wrong network or causes a wallet to reject a signature. A stale RPC URL produces timeouts that look like application bugs. Wrong decimals display balances incorrectly without breaking transactions, which makes the error harder to notice.

Chain ID deserves special attention because it appears in two formats. Wallets and JSON-RPC expect a hex quantity such as 0x1 for Ethereum mainnet, while many lists display the decimal form 1. Converting between them is trivial but easy to skip, and a mismatch between the configured chain ID and the endpoint's actual network will surface as an invalid chain ID error.

For RPC URLs, treat any public endpoint in a directory as a development convenience. Check whether the endpoint supports the methods you need, whether it is archive or pruned, and whether it accepts WebSocket connections before you build around it.

  • Verify chain ID in both decimal and hex before configuring a wallet.
  • Confirm the RPC endpoint's network by calling eth_chainId, not by trusting the label.
  • Check native currency decimals; do not assume 18 for every chain.
  • Prefer HTTPS endpoints; avoid mixed-content failures in browser dApps.
  • Record the source and date of any chain metadata you hardcode.

Verifying a chain entry with a single request

Before you wire a chain into an application, confirm that the endpoint actually serves the network you expect. The eth_chainId method returns the chain ID as a hex quantity, which you can compare against the decimal value in the chains list.

The example below uses a placeholder endpoint. Replace it with the endpoint from your provider or the chain's official documentation; do not assume a public directory URL is production-ready.

  • curl -X POST https://your-rpc-endpoint.example \
  • -H "Content-Type: application/json" \
  • -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
  • Expected response shape: {"jsonrpc":"2.0","id":1,"result":"0x1"} for Ethereum mainnet.

From chains list to production RPC: what to evaluate

Once you move past directory lookups, the decision shifts from metadata to operations. A provider's value is in how it handles your specific workload: request volume, method mix, archive depth, and connection type. The evaluation below is a starting checklist, not a ranking.

OnFinality provides managed RPC API access and dedicated node infrastructure across a range of supported networks. For a chain-by-chain view, see supported RPC networks; for workload planning, see RPC pricing. If you need isolated capacity, dedicated nodes are the relevant option.

CriterionWhat to checkWhy it matters
Workload shapeRequest rate, burst patterns, and method mixShared endpoints and dedicated capacity suit different traffic profiles
Archive and traceWhether historical state and trace methods are availablePruned endpoints fail on historical queries and debugging calls
TransportHTTP, WebSocket, and batch request supportSubscriptions and high-throughput reads need more than plain HTTP
FailoverMultiple endpoints and provider-side redundancyA single endpoint is a single point of failure for your app
ObservabilityRequest logs, error rates, and usage visibilityYou cannot debug what you cannot measure

Reading non-EVM entries in a chains list

Not every chain in a list speaks EVM JSON-RPC. Solana, Polkadot, and other ecosystems have their own RPC interfaces and their own metadata conventions. A generic chains list may include them, but the fields will not map one-to-one to an EVM wallet config.

For non-EVM networks, the useful fields are the network identifier, the RPC endpoint, and the documentation for the chain's specific API. OnFinality's network pages for each supported chain are the better reference than a generic directory because they reflect the endpoint and method support the provider actually offers.

If you are building multi-chain, keep a per-ecosystem config rather than forcing everything into one EVM-shaped schema. That avoids silent failures when a chain does not support a method your EVM code assumes.

  • EVM chains: chain ID, currency, explorer, JSON-RPC endpoint.
  • Solana: cluster name, RPC endpoint, WebSocket endpoint.
  • Polkadot and Substrate: network name, RPC endpoint, chain-specific methods.
  • Keep separate config objects per ecosystem to avoid method mismatches.

A practical workflow for adding a new chain

When a new chain appears in your roadmap, the sequence below keeps metadata and infrastructure decisions separate. It also gives you a record of what you verified and when.

Start with the upstream repository or the chain's official documentation, not a third-party mirror. Confirm the chain ID with a live eth_chainId call. Then decide whether the chain is a testnet or production target, and choose an endpoint accordingly. For production, prefer a managed provider with documented limits over a public directory URL.

  • 1. Find the chain in the upstream repository or official docs.
  • 2. Record chain ID, currency decimals, and explorer URL.
  • 3. Verify the endpoint with eth_chainId before configuring the app.
  • 4. Decide testnet vs production and choose an endpoint class.
  • 5. Add failover and monitoring before launch.
  • 6. Re-check metadata when the chain announces upgrades.

Frequently Asked Questions

What is a chains list?

A chains list is a directory of blockchain networks with metadata such as chain ID, native currency, block explorer, and RPC endpoints. For EVM chains, the most common upstream source is the ethereum-lists/chains repository.

Is a chains list the same as an RPC provider list?

No. A chains list identifies networks and often includes public RPC URLs for convenience. An RPC provider list is about operational endpoints for application traffic, including limits, archive support, and transport options.

Can I use public RPC endpoints from a chains list in production?

Public endpoints are typically shared and rate-limited, so they are better suited to testing and wallet configuration. For production traffic, evaluate a managed RPC provider or dedicated node with documented limits and failover.

How do I verify a chain ID?

Call eth_chainId on the endpoint and compare the hex result to the decimal chain ID in the list. For Ethereum mainnet, the response is 0x1, which corresponds to decimal 1.

Does OnFinality support chains beyond EVM networks?

OnFinality supports a range of networks across ecosystems. Check the supported RPC networks page for the current list and per-network 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