Skip to content

One Address, A Dozen Chains, One Number You Don't Trust

7 min read · Verified September 2026

One EVM key produces the same address on every EVM chain, so a single string can hold balances on chains you have never deliberately used. That is why a tracker can list the same asset several times, miss a chain entirely, or show nothing for an address that holds real funds on a chain it does not index.

You have one Ethereum address. It also exists on Polygon, Optimism, Arbitrum, Base, BNB Chain and Avalanche's C-Chain, whether you have ever used those chains or not. Nobody created those accounts for you and nothing was announced. An address on an EVM chain is a function of your key, not a record the chain keeps, so every one of them has a slot with your name on it sitting empty until something arrives.

This is convenient and it is the root of nearly every complaint about multi-chain portfolio tracking. The same string, indexed by different tools, on chains with different token representations, produces totals that disagree in ways that look like bugs and usually are not.

Is it really the same address everywhere?

For an ordinary wallet, yes, and only within one family.

An externally owned account derived from a secp256k1 key produces the identical 20-byte address on every EVM chain. That covers a large share of what most people hold. It does not extend past the family: Bitcoin, Solana, Tron and TON each derive and encode addresses their own way, so a real portfolio is usually three or four address families rather than one. A Tron address begins with T and is 34 base58 characters, and although its hex form contains the same 20 bytes an EVM address would use for that key, it is a separate account on a separate network. A TON wallet is a smart contract whose version changes its address, so one seed phrase there gives you several. Avalanche adds a twist inside a single network: your C-Chain address is your EVM address, while the X-Chain and P-Chain use a different format entirely.

The dangerous exception is the smart contract wallet. A Safe or similar smart account is a deployed contract, not a key-derived address, and Safe's own multi-chain deployment documentation is clear that the address depends on the factory, the singleton, the salt and the initialisation data. The same address on another chain means someone deployed it deterministically with identical parameters. Assume it instead and you may be sending assets to a chain where no contract exists and no one holds the keys.

Adding an address once and letting it cover every supported chain is the point of a multi-chain view.

Why does my tracker show the same holding twice?

Four reasons, and only one of them is an error.

The commonest is not double counting at all. USDC on Ethereum, Base, Polygon, Optimism and Arbitrum is five different tokens at five different contract addresses, and several chains carry both a native version and an older bridged one. Listing them separately is accurate. Merging them into a single line is a convenience that hides which contract you actually hold, which matters the moment you try to redeem or swap. The Polygon guide works through the native-versus-bridged split in detail.

The second is a wrapped asset counted alongside its underlying. Stake or wrap something and you hold a receipt token a tracker may price separately, while the original still sits in a manual entry you forgot to remove.

The third is genuine duplication: the same address added twice under different labels, or added once as a watched wallet and again as a manual position. It is easy to do when you are tidying and it inflates the total by exactly the amount you can least afford to be wrong about.

The fourth is transfer duplication. Move funds from an exchange to a wallet and, if both are connected, a tracker can record the outbound as a disposal and the inbound as a fresh acquisition with no cost basis. Balance stays right, profit goes strange. Duplicate transactions after connecting an account covers spotting and clearing these.

Why does a whole chain go missing?

Because coverage is a list, not a guarantee, and the gaps have specific shapes.

A tracker reads the chains it indexes. Fifteen or more chains is a lot of coverage and it is not all of them, and the ones most likely to be missing are the ones you added most recently. Beyond that, a chain can be indexed while a standard on it is not: TON's jettons live in a separate contract per owner per token, so discovering them is an indexing task rather than a table lookup, and obscure ones get missed. Tron's older TRC-10 standard has the same problem for the opposite reason.

Then there are the chains that are not the chain you think you are watching. An Avalanche L1, an app-specific rollup, or one of the growing set of OP Stack chains that share your address are all separate blockchains requiring separate indexing. Your address is there. Your tracker is not.

The last category is timing rather than coverage. Assets in a bridge are frequently invisible to both sides. A canonical rollup withdrawal sits in a challenge window for about a week, during which the balance has left one chain and not arrived on the other, and every tool you own reports a total short by that amount.

Which chains do I actually need watched?

Not all of them. A portfolio you cannot read is a portfolio you stop opening, and adding chains speculatively is how a clean holdings list turns into forty rows of dust.

  1. Find out where the address has actually been. Run it through a cross-chain explorer search, such as Blockscan, rather than checking chains one at a time. Write down every chain that returns activity.
  2. Sort that list by whether you would notice the loss. A chain holding eleven dollars of leftover gas does not need monitoring. A chain holding a quarter of your stablecoins does.
  3. Add any chain with an open position, even a small one, because a position can change value in a way a dormant balance cannot.
  4. Add any chain where you still have a live token approval, whether or not it holds a balance today. That is the exposure people forget, and it is the one that gets drained.
  5. Delete the rest, and record them. Keep a plain text note of the chains you decided not to watch, so a year from now you know the difference between "nothing there" and "never checked".

Redo this the day you bridge somewhere new, not annually. The list is only wrong for as long as you have not looked.

How do I keep a twelve-chain view readable?

By deciding what the headline number is for, and cutting everything that does not serve it.

Group by asset rather than by chain for the top-level total. You care that you hold a certain amount of ETH, not that it is split four ways; the chain breakdown matters when you are about to transact, and can stay one tap down. Set a value floor and hide everything below it, because sub-dollar positions cost more attention than they can ever return. Filter spam separately on each chain, since the cheapest chains generate the most of it and none of it deduplicates across the set. Spam and dust tokens covers the mechanics, and the rule that never changes is to hide rather than interact.

Keep one labelling convention across every address you add, so "Ledger, cold" means the same thing in six months as it does today. Anything a tracker cannot reach, whether that is a chain outside its coverage, a custodial balance with no on-chain address, or a staked position on a chain you do not watch, goes in as a manual entry with a real acquisition price rather than being left out and forgotten.

The privacy side does not get easier with better software. Publishing one address publishes every chain it has ever touched, at once and permanently, and bridging between two addresses you own leaves a trail that links them. Separate addresses only help if you plan the separation before you need it. The wallet privacy tradeoff sets out the choice without pretending it is free.

The direction of travel is more chains, not fewer, and they will keep sharing your address without asking. What ages well is the chain list itself: a short, current, deliberately chosen set of places you have decided are worth knowing about, reviewed the day you bridge somewhere new. Everything else in this article is maintenance on that one document.

Common questions

For an ordinary wallet derived from a private key, yes. The address is a function of the key, not the chain, so Ethereum, Polygon, Optimism, Arbitrum, Base, BNB Chain and Avalanche's C-Chain all recognise the same string. Bitcoin, Solana, Tron and TON each use different derivations and formats.

For a normal wallet you control the key, so yes. For a smart contract wallet the answer can be no, because the contract may not be deployed on that chain. Sending assets to a smart account address on a chain where it does not exist can put them permanently out of reach.

Because you hold five different tokens. USDC on Ethereum, Polygon, Base, Optimism and Arbitrum are separate contracts on separate chains, and some chains carry both a native and a bridged version. Grouping them into one line is a display choice, not a correction.

Run the address through a cross-chain explorer search rather than checking chains one at a time. Etherscan's Blockscan search covers the Etherscan-family chains and shows where an address has activity, which is usually enough to build the list you need.

No. Every chain you add brings its own spam tokens and its own empty rows, and a cluttered portfolio gets ignored. Watch the chains where you hold something you would notice losing, hold an open position, or have an outstanding token approval.

Separate addresses help, but only if you keep them separate. Bridging between two of your own addresses creates a link that on-chain analysis can follow, so the benefit comes from planning the split up front rather than reorganising afterwards.

15+ chains and 100+ exchanges in one view, with unlimited wallet and exchange connections on Pro+.

Keep reading

← All guides