Skip to content

What an Ethereum Address Actually Tells Someone

7 min read · Verified September 2026

An Ethereum address is 42 characters starting with 0x, and it is fully public: anyone can read every token balance, every transaction and every contract it has ever touched. Watching it read-only is safe because spending needs the private key. The same address exists on most EVM chains, but a smart contract account at that address does not.

Forty-two characters, starting with 0x. That string is the most public thing you own. It is not a username you can change, it is not protected by anything, and every balance it holds and every transaction it has ever signed is readable by anyone who thinks to look, forever, with no permission required and no record of the looking.

That is the deal Ethereum makes, and understanding it properly is the difference between tracking a wallet sensibly and quietly publishing your net worth.

What does a tracker actually read when I add an address?

Three things, in three separate queries.

The native balance is a single field on the account itself: how much ETH sits at that address, denominated in wei. This one is cheap and always accurate.

Token balances are not stored at your address at all. An ERC-20 token keeps its own internal ledger inside its contract, mapping addresses to numbers. Your address does not know it holds USDC; the USDC contract knows. A tracker therefore has to ask every token contract it knows about, or rely on an indexer that has watched every Transfer event since the chain started. This is why a brand new token can take a while to appear, and why an obscure one may never appear at all.

NFTs work the same way one layer up. ERC-721 assigns unique token IDs to owners, ERC-1155 handles both unique and fungible items in one contract, and both live in the contract's own storage rather than in your account. A portfolio total that includes NFTs is quoting a floor price, which is a claim about the cheapest listing rather than about what your particular item would sell for.

What no balance query returns is what you have authorised. Every time you approved a decentralised exchange to move your tokens, the allowance was written into the token contract and stayed there. Approvals do not expire. Many are set to an unlimited amount because that saves a transaction later. A wallet you have not touched since 2021 may still be carrying live permissions granted to a protocol that has since been abandoned or exploited. Etherscan's token approval checker lists them, and revoking is worth an hour of your time once a year. What a tracker can see covers the boundary between reading and permission properly.

Add the address once and the same identity resolves across every EVM chain you hold on.

Is this address a wallet or a contract, and does it matter?

Historically Ethereum had two kinds of account and the distinction was clean. An externally owned account is controlled by a private key, holds no code and can start a transaction. A contract account holds code, cannot start anything on its own, and executes when called.

That line has blurred. Since the Pectra upgrade activated EIP-7702 in 2025, an ordinary key-controlled account can carry a delegation pointer, a short piece of code in the form 0xef0100 followed by a contract address, which makes the account behave like that contract for the purposes of a transaction. The point is to give normal wallets batching, sponsored gas and custom permissions without migrating to a new address. The side effect for anyone reading a chain is that "has code" no longer means "is a contract", and an explorer showing bytecode at what you thought was a plain wallet is not necessarily showing you a compromise.

For tracking, the practical version is simpler. A contract address will happily accept tokens and show a balance, and if that contract has no withdrawal function the balance is stuck there permanently. People do send tokens to token contracts by mistake, roughly forever. Before you save an address as a watched wallet, check that Etherscan does not label it as a contract you have confused with your own.

Why does the same address exist on Base, Arbitrum and BNB Chain?

Because the address is a hash of your public key, and the derivation makes no reference to a network. One private key produces the same 0x string on every EVM chain that has ever existed and every one that will. This is the useful part of one identity across many chains: you add an address once and a tracker checks it everywhere.

There is a trap inside the convenience, and it catches experienced people. The equivalence holds for key-controlled accounts. It does not hold for smart contract wallets. A Safe multisig at a given address on Ethereum does not automatically exist at that address on Arbitrum, and deploying it there is a deliberate act. On some networks the same address cannot be reproduced at all, and Safe's own documentation warns that funds sent to a Safe address on zkSync Era, where the address scheme differs, are lost. The address looked familiar. Nothing was there to receive.

The other consequence is that your privacy exposure is not per chain. Someone who knows your address knows your holdings on every EVM network at once, plus every chain you have bridged to and every chain you have not. The wallet privacy trade-off is where to think that through before you post an address anywhere it can be tied to your name.

An ENS name makes the same exposure friendlier. Names resolve to addresses, they are readable in every wallet, and after ENS Labs dropped its planned dedicated rollup in early 2026, ENSv2 stayed on Ethereum mainnet as the source of truth. A name is a convenience for people paying you and a gift to anyone profiling you, because a memorable string is far easier to search for and share than a hex blob.

What breaks a portfolio total on Ethereum specifically?

Spam first. A public address receives whatever anyone sends it, and on Ethereum the spam is priced. A scam token can be deployed for a few dollars, seeded with a shallow liquidity pool, and airdropped to thousands of addresses at a valuation the deployer chose. A tracker summing every balance at its quoted price will fold that fiction into your net worth. Hide it, do not touch it, and read spam and dust token filtering before you try to swap one away.

Then receipt tokens. Stake ETH and you hold stETH or rETH rather than ETH. Supply to a lending market and you hold an interest-bearing claim. Provide liquidity and you hold a position representing two assets in a ratio that moves as the pool trades. All of it is still your money and none of it is the asset you think you own, which is the usual reason a serious on-chain user's tracked total sits well below the real one. Tracking staked and locked assets covers what resolves automatically and what you have to enter by hand.

And rebasing tokens, which change your balance without a transfer. Nothing arrives, nothing leaves, and the number moves. A tracker reading balances handles that fine; a tracker reconstructing history from transfer events does not.

Where should I put an alert instead of a refresh?

The honest failure mode of wallet tracking is not inaccuracy, it is attention. You check the address after something has already happened.

Point a wallet transaction alert at the addresses that should be quiet, on Pro or Pro+, and let the chain tell you. Cold storage that produces an unexpected outbound, a hot wallet drained at three in the morning, a bridge deposit that never arrived on the other side, an approval being used months after you forgot granting it. All of these are events, and all of them are visible on-chain the moment they confirm. Watching a balance means noticing tomorrow. Watching the transaction means noticing now, which on a chain with no reversals is most of what you can do.

Common questions

Yes, in the custody sense. A public address cannot authorise a transaction, so an app holding it can read but never move funds. The real cost is that you have handed one party a permanent, complete view of your finances, which is a privacy decision rather than a security one.

Etherscan labels it. A contract address has a Contract tab with code and a verified source, while a plain wallet has none. Since the Pectra upgrade an ordinary wallet can also carry a short delegation pointer to a contract, which shows as code without making the account a contract in the usual sense.

No. The same private key produces the same address on Ethereum, Arbitrum, Base, BNB Smart Chain, Polygon and every other EVM network, so one address covers all of them. Balances are entirely separate per chain, and a tracker has to query each network individually.

Anyone can send anything to a public address, and a scam token can be deployed with a fake liquidity pool that implies almost any price. The token is real on-chain and the price is fiction. Hide it rather than interacting with it, because the swap it invites is usually the actual attack.

Generally not. A balance view reads what you hold, and an approval is a permission recorded on the token contract rather than a balance. Check them separately using Etherscan's token approval tool or a dedicated revocation site, and revoke anything from a protocol you no longer use.

It is a human-readable name that resolves to an address, so vitalik.eth and the 0x string behind it are the same destination. It makes you easier to find rather than harder, because the name is public and permanently linked to everything that address has ever done.

Free tier reads wallet balances across 15+ chains and prices 10,000+ assets, with no key that can spend anything.

Keep reading

← All guides