Your wallet does not hold a copy of the chain. It asks a node, and the address it asks is the endpoint sitting in your network settings. Changing that address takes a few seconds and changes who answers every question you ask about your own balance. That is why it is worth doing deliberately rather than by reflex.
What the endpoint in your network settings is
A remote procedure call endpoint is a web address your wallet sends questions to. Are there any funds at this address, what does a transaction cost right now, has this one been included yet, please pass this signed object on to the network. The endpoint answers, and its answer is what your screen shows you.
The machine behind that address is an RPC node, a node that also exposes a public interface so wallets and applications do not have to run their own. The setting is shortened from here on to the endpoint.
Two things follow from that arrangement, and they pull in opposite directions. The endpoint is not part of the chain, so replacing it changes nothing about your keys, your address, or the balance recorded against it. The endpoint is also the only thing you see the chain through, so replacing it changes everything you are shown.
Why you would switch one
The ordinary reason is that the current one has stopped answering well. A node that is down, rate limiting you, or lagging behind the chain tip does not announce any of that. It produces stale balances, a confirmed transaction that still displays as pending, or a broadcast that fails on connection while nothing about your account is wrong.
The second reason is coverage. A wallet ships with a short list of networks, and a chain outside that list has to be added by hand, endpoint included. Adding a network and adding an endpoint are the same action performed in the same dialog.
The third reason is privacy. Every request you make passes through one operator, so that operator can associate your addresses with each other and with an IP address. Moving to a different provider moves that visibility rather than removing it, so treat the choice as picking who watches, not as hiding.
What an endpoint can change and what it cannot
The boundary is the signature. Your wallet builds a transaction locally and signs it with a key that never leaves the device, so the endpoint receives a finished object it cannot edit without invalidating it. It can refuse to forward that object, delay it, or forward it somewhere else, but it cannot alter the amount or the recipient inside it.
What it can do is shape the inputs you decide from. Balances, token lists, fee estimates and confirmation status all arrive through the endpoint, and a hostile one is free to report figures that are simply invented. That is the real hazard here: not a stolen key, but a decision made on a false picture.
| What you are looking at | Can a hostile endpoint fake it | What settles it |
|---|---|---|
| Balance and token list | Yes | Read the same address on a second source |
| Fee estimate | Yes | Check the fee the wallet shows before signing |
| Transaction history | Yes | An explorer that runs its own infrastructure |
| Confirmation status | Yes | Re-check through a different endpoint |
| The contents of what you signed | No | The signature covers the payload |
| Your private key | No | It is never sent anywhere |
The practical consequence is that an endpoint deserves the same scrutiny as a site you would connect a wallet to. An address pasted into a support chat or served by a search advertisement belongs in the same bucket as a fake crypto website, and for the same reason.
Chain ID is the check that catches the wrong network
Every network carries an identifier that lives inside the signed transaction itself. EIP-155 introduced it to stop a transaction signed for one chain from being valid on another, and it works by folding the chain ID into the data that gets hashed and signed. A signature made under one chain ID is meaningless on a chain that uses a different one.
That gives you a check which depends on trusting nobody. The eth_chainId method returns the chain ID used for signing replay-protected transactions, so an endpoint can be asked directly which network it believes it is serving. If that answer disagrees with the chain ID your wallet stores for the network entry, the two are not describing the same chain.
EIP-3085, the proposed interface for adding a chain programmatically, builds the same comparison into the wallet. It requires the request to be rejected when the declared chain ID does not match what the supplied endpoints report, and it states that those endpoints cannot be assumed to be honest, correct, or even pointing to the same chain. On the signing side its instruction is narrower still: use only the chain ID the wallet already holds, never one received from an endpoint.
Check an endpoint before you route anything through it
Four checks, in the order that costs least. Confirm the chain ID first, because it is the one answer that is not a matter of degree. Then compare the reported block height against an independent source. A node far behind the tip is not hostile, it is stale, and stale is enough to make everything else it tells you wrong.
Then compare something you already know. Open one address whose balance you can verify elsewhere and see whether the two views agree. A discrepancy at this point tells you to stop before signing anything, without yet telling you whether the cause is lag or malice.
Finally, when the endpoint is new to you and the amounts are not, send a small transaction first and watch it confirm. The point is not how little is at risk; it is that a full round trip exercises broadcasting and reading back, which are the two halves a bad endpoint breaks separately.
Adding one by hand without breaking the wallet
Add rather than overwrite. Where the wallet lets you keep several entries for the same chain, keeping the one that used to work means a bad switch is undone by selecting the previous entry instead of by retyping a URL you no longer have. Name each entry after whoever operates it, so the selector reads as a list of parties rather than a list of identical chain names.
Fill in the rest of the entry from the network's own documentation, not from whoever handed you the endpoint. The chain ID, the currency symbol and the block explorer are all part of what the wallet will display later, and an entry with the right endpoint and the wrong symbol will quietly mislabel every amount you look at.
Then check the entry after saving it, not before. The dialog validates what you typed; what matters is what the saved entry does. Switch to it, let the balances load, and confirm they match what the previous entry showed. A network entry that disagrees with its predecessor about your own balance is telling you something, and the moment to learn it is before you sign.
When a switch is not the fix
A new endpoint changes what you can see, so it repairs problems made of missing or stale information. It does not reach back into what has already happened on the chain. Once a transaction has been broadcast it sits in the mempool of every node that received it, and changing which node your wallet talks to does not recall it.
The same limit applies to a failure the chain has already recorded. A transaction that ran and was rolled back is reverted, and that outcome is written into a receipt any honest endpoint reports identically. Seeing it from two independent endpoints means the answer is not to go looking for a third.
Between those two cases sits a class of error a switch does clear, because it comes from a cached view rather than from the chain. A wallet reporting nonce too high after a network change or a reinstall is comparing its own count against what an endpoint told it, and reconnecting through a healthy node lets it re-read that count from a source which is up to date.
The bottom line
An endpoint is not part of the chain and it is not part of your wallet's key security, but it is the whole of what you can see, and a decision made on invented figures costs as much as one made after a stolen key. Switching endpoints is a routine repair for a stale or unresponsive network, and the discipline that makes it safe is small: know who operates the one you are adding, confirm the chain ID, and keep the entry that already worked.
The chain ID check is the cheapest of the four, and it is the one to run first. Ask the endpoint which chain it serves and compare that against what your wallet already holds, because the single comparison catches both the honest mistake of adding the wrong network and the dishonest case of an endpoint that wants you to believe you are somewhere else. To keep learning the fundamentals, follow more from Bitbase Academy.
Related reading
Other Bitbase articles on this topic:
- Maximum Transaction Fee Exceeded: What That Wallet Warning Means
- RPC Rate Limit Exceeded and How to Stop Hitting It
- Fill or Kill, Immediate or Cancel, and All or None Explained
- Is Bitcoin Correlated With Stocks, Gold, or Risk Appetite?
Disclaimer: This article is educational content from Bitbase Academy, provided for information only. It does not constitute investment, trading, tax, or financial advice. Crypto assets are volatile; assess your own risk. Written as of September 2026; refer to the latest official information.
References
[1] Ethereum Improvement Proposals, EIP-155: Simple replay attack protection, status Final eips.ethereum.org
[2] Ethereum Improvement Proposals, EIP-3085: wallet_addEthereumChain RPC Method, status Stagnant eips.ethereum.org
[3] ethereum.org developer documentation, JSON-RPC API, the eth_chainId method ethereum.org






