Intermediate

What Is an RPC Endpoint?

By DappAtlas Editorial ·

On this page

An RPC endpoint is a URL that lets a wallet or app send requests to a blockchain node, for example to read a balance or broadcast a transaction, using the JSON-RPC protocol.

Key takeaways

  • Wallets and dApps read and write blockchain data through RPC endpoints.
  • Public endpoints are free but rate-limited and shared.
  • The endpoint operator can see your IP address and requests.
  • Each network has its own endpoints and a unique chain ID.

Not to be confused with: chain id — the number that identifies the network itself, not the server you connect to.

How an RPC endpoint works

Your wallet sends a JSON-RPC request such as eth_getBalance or eth_sendRawTransaction to the endpoint URL. The node behind it answers from its copy of the chain or passes the signed transaction to the network.[1]

Requests follow JSON-RPC 2.0. Numbers come back as hex strings with a 0x prefix in the most compact form, so 65 is returned as 0x41. Many methods take a block tag: latest, earliest, pending, safe or finalized.[1]

Example: a balance request

Illustrative example from the Ethereum JSON-RPC docs: a wallet asks for a balance by sending {"jsonrpc":"2.0","method":"eth_getBalance","params":["0x407d73d8a49eeb85d32cf465507dd71d507100c1","latest"],"id":1}. The node answers with {"id":1,"jsonrpc":"2.0","result":"0x0234c8a3397aab58"}, a balance in wei written in hex.[1]

The wallet then converts it for display: 1 ETH equals 10^18 wei.[2]

The docs' curl examples send requests to a node at 127.0.0.1:8545, the address a locally run node commonly uses.[1]

eth_chainId returns the chain ID used for replay protection. Mainnet is chain ID 1 under EIP-155, so a wallet can check that an endpoint labeled Ethereum really serves mainnet before it signs anything.[3]

A second example from the same docs: eth_blockNumber with empty params returns a result such as 0x4b7, which is block 1,207 in decimal. Byte data such as addresses is written with two hex digits per byte, so a 20-byte address is 40 hex characters after 0x.[1]

Public vs private endpoints

Public endpoints are free and shared by many users, and they are usually rate-limited. Node providers sell private endpoints with API keys and higher limits.

Whichever endpoint you use, it only relays what you already signed. eth_sendRawTransaction takes signed transaction data, so switching providers never requires a seed phrase or private key.[1]

ethereum.org says no legitimate service, support agent or website will ever ask for your recovery phrase or private key, so a network form that asks for one is a scam.[5]

Privacy and risks

An endpoint cannot move your funds, but it sees your IP address and which addresses you query. A dishonest endpoint could also return wrong data, which is why many wallets let you switch endpoints.

Block tags matter for what an endpoint returns. latest is the most recent proposed block, safe is the latest safe head and finalized is the latest finalized block. An app that shows a deposit as settled should read it at finalized, not latest.[1]

Every signed transaction carries a chain ID under EIP-155, with v set to chain ID times 2 plus 35 or 36. A malicious endpoint on the wrong chain cannot reuse your mainnet signature there.[3]

How to add or change an endpoint

In the MetaMask extension, open the menu in the top right, choose Networks, then Add a custom network, and fill in the network's details. On mobile the option sits under the Custom tab of the networks dropdown.[4]

MetaMask notes that adding a custom RPC URL for Ethereum, Linea, Base, Arbitrum or BNB Smart Chain turns off Smart Transactions features such as MEV protection until you switch back to the default URL.[4]

Custom networks are not synced between devices. After uninstalling MetaMask or moving to a new phone, you have to add them again.[4]

For a local test chain, EIP-155 lists 1337 as the default chain ID for Geth private chains.[3]

Common mistakes

Copying network details from an unverified list. MetaMask says it does not maintain the network information on Chainlist and asks users to make sure the details are accurate before adding them.[4]

One quick check: the chain ID you enter should match what the endpoint returns for eth_chainId.[1]

Treating an eth_call result as final. eth_call runs a contract function without sending a transaction, so it shows the result at a given block, not what will happen when your signed transaction is included later.[1]

Assuming a pending balance is final. The pending tag includes transactions not yet in a block, so a wallet reading pending can show funds that later disappear if the transaction is dropped.[1]

The Bottom Line

An RPC endpoint is your wallet’s connection to the chain. For everyday use a public one is fine; for apps, use a dedicated endpoint.

Educational content, not financial advice.

Pros
  • Lets apps use a chain without running a node
  • Public endpoints are free
Cons
  • Public endpoints are rate-limited
  • The operator can see your IP and requests
Sources (5)
  1. [1] ethereum.org. “JSON-RPC API.” Accessed Sep 26, 2026.
  2. [2] ethereum.org. “Ethereum accounts.” Accessed Sep 26, 2026.
  3. [3] Ethereum Improvement Proposals. “EIP-155: Simple replay attack protection.” Accessed Sep 26, 2026.
  4. [4] MetaMask Support. “How to add a custom network RPC.” Accessed Sep 26, 2026.
  5. [5] ethereum.org. “Ethereum security and scam prevention.” Accessed Sep 26, 2026.
DevelopersInfrastructure

RPC endpoint FAQ

Where can I find public RPC endpoints?

Our RPC directory lists public endpoints for each network with latency checked every 5 minutes.

Can an RPC endpoint steal my crypto?

No. It never sees your private key. It can see your requests and IP address, and a faulty one can return wrong data.

What does eth_sendRawTransaction do?

It passes a transaction your wallet already signed to the node, which broadcasts it. The endpoint never needs your private key for this.

Why did my swap lose MEV protection after I changed RPC?

MetaMask disables Smart Transactions, including MEV protection, on Ethereum, Linea, Base, Arbitrum and BNB Smart Chain when a custom RPC URL is set.

ShareXLinkedInRedditEmailReport outdated info

Who made this page

Written by
DappAtlas Editorial

Editorial team

Compiles and updates the glossary and guides on DappAtlas. Facts come from primary sources: each project’s own pages, protocol docs and standards. No project pays to be mentioned.

Lists from DappAtlas Editorial
Fact check
Checked against 5 sources

Last check: Sep 26, 2026

A value we could not confirm on the project’s own pages is marked “Not verified” instead of estimated.

How we review

How this page works

Sources: ethereum.org, ethereum.org, Ethereum Improvement Proposals. Data as of Sep 26, 2026.

How we review

Not affiliated with any project listed. Educational content, not financial advice.