Skip to main content

Comparison

Multi-Chain Portfolio Tracker

What “multi-chain” usually turns out to mean, why adding Solana to an Ethereum tracker is a different order of work than adding a twelfth EVM chain, and what to check before you believe a cross-chain total.

Short answer

Read the chain list, not the chain count. Almost every tracker advertising dozens of networks is counting EVM chains, and those are close to free to add — the same address format, the same RPC calls, the same idea of what a balance is. The number that tells you something is whether a non-EVM chain appears on the list at all.

Solana is the usual test case, and the honest reason it is missing so often is not neglect. It stores holdings in a way that has no Ethereum equivalent, and supporting it means writing a second discovery pipeline rather than adding an endpoint to the first. That is the whole of this page: what the difference actually is, where cross-chain totals quietly go wrong because of it, and what to check on any tracker before you rely on its number.

“Multi-chain” almost always means multi-EVM

Every EVM chain is, from a data point of view, the same chain with different contents. Ethereum mainnet, Base, Arbitrum, Optimism, Polygon and BNB Chain all use 20-byte hex addresses, all expose the same JSON-RPC methods, all emit the same ERC-20 Transfer event with the same signature, and all store balances the same way. A tracker that can read one of them can read all of them, and the marginal cost of the next network is an endpoint URL and a logo.

This is a good thing — it is exactly what a shared virtual machine is for — but it makes chain counts close to meaningless as a comparison. Going from fifteen chains to fifty says almost nothing about a tool’s engineering, and nothing at all about whether it can see the part of your portfolio that lives somewhere structurally different.

So the useful question is not how many chains a tracker supports. It is whether the list crosses a virtual machine boundary, and if so, how carefully.

Two account models, side by side

CategoryEVM chainsSolana
Where a balance livesIn a mapping inside each token contract’s own storageIn a separate account, one per token, owned by the wallet
Can the chain list your holdings?No. Nothing on-chain knows which contracts hold a balance for youYes. Token accounts are enumerable by owner in a single RPC call
How a tracker discovers your tokensIndex historical Transfer logs, or pay an indexer that already hasgetTokenAccountsByOwner, filtered by program ID
Cost of adding one more networkLow — the same JSON-RPC shape, a different endpoint URLHigh — a second account model, address format and RPC vocabulary
What a zero balance looks likeNothing. The mapping entry simply reads zeroA live account holding a rent deposit, still owned by the wallet
Your address20 bytes, hex, prefixed 0x — identical across every EVM chainA 32-byte Ed25519 public key, written in base58

Each row below is expanded in the next two sections. The one to read twice is the second: whether the chain can list your holdings at all decides everything downstream about how a tracker is built and what it costs to run.

The EVM side: your holdings are not written down anywhere

An ERC-20 balance is not a property of your wallet. It is an entry in a mapping that lives inside that one token’s contract, and the only thing your address does is act as the key. Ask the chain what an address holds and there is no method to call, because there is no such record: nothing on Ethereum stores the list of contracts that happen to have a non-zero entry keyed to you.

The workaround every tracker uses is to reconstruct that list from history. Each transfer of an ERC-20 emits a Transfer event into the block’s logs, naming a sender, a recipient and an amount. Scan the logs for every event naming your address, collect the distinct token contracts, then call balanceOf on each to get the current number. The list of tokens is a derived artefact; only the balances are live.

Doing that scan on demand is not realistic. Plain RPC is built for point lookups rather than sweeps, and “every log naming this address since 2015, on six chains” is a sweep. In practice a tracker either runs an indexer — a service that reads every block as it is produced, decodes the logs and writes them into a database it can query properly — or it pays someone else’s. That is the real cost structure of an EVM portfolio tracker, and it is why so many of them are venture-funded rather than cheap side projects.

The Solana side: accounts you can simply enumerate

Solana inverts this. A wallet does not hold tokens at all; for each token you hold, the wallet owns a separate account whose job is to hold that one balance. Holding four tokens means owning four token accounts, each one a real account on-chain with your wallet recorded as its owner.

Because ownership is recorded on the account rather than inferred from history, the question that has no answer on Ethereum has a direct one here. A single getTokenAccountsByOwner call, given your public key and the SPL Token program ID as a filter, returns every token account the wallet owns. No log scan, no indexer, no historical reconstruction — the chain already knows.

There is a subtlety that catches tools out. Token-2022, the token-extensions program, is a separate on-chain program with its own program ID rather than an upgrade to the original one, so the same call has to be made a second time against that program to see holdings issued under it. A tracker that queries only the original SPL Token program will show a confidently incomplete list, with no error to indicate that anything is missing.

The other Solana-specific wrinkle is what an empty holding looks like. Token accounts are created with a rent-exempt deposit proportional to their size — a standard token account is 165 bytes, which works out at about 0.00204 SOL — and selling the last of a token empties the balance without closing the account or returning that deposit. Closing it is a separate instruction most interfaces never issue. So the account remains, enumerable and empty, and any tracker reading the chain honestly will list it. Different tools make different choices about hiding those, which is one reason two of them can disagree about how many tokens a wallet holds while both being right.

The addresses do not match either

A detail that sounds cosmetic and is not: your EVM address and your Solana address are different strings, derived from different cryptography. EVM addresses are 20 bytes of hex behind a 0x prefix, derived from a secp256k1 key. A Solana address is a 32-byte Ed25519 public key written in base58. Neither can be converted into the other.

The consequence is that a “cross-chain portfolio” is not something the chains agree on. It is a join performed in the interface, across addresses that only you know belong to the same person. Your EVM address is genuinely the same on Ethereum, Base, Arbitrum, Optimism, Polygon and BNB Chain, so one string covers all six; Solana needs its own. Any tracker that takes a single address and calls the result your portfolio is showing you one half of it, correctly labelled or not.

It also explains a piece of tracker behaviour that otherwise looks like magic. Because the two formats are trivially distinguishable — one is 42 hex characters starting 0x, the other is base58 and is not — a tool can tell from the string alone which pipeline to send it down, without asking you to pick a chain from a dropdown first.

The market got smaller in August 2026

Worth knowing if you are picking a tracker this year: Zapper, one of the longest-running multi-chain portfolio dashboards, shut down on 3 August 2026. Co-founder and CEO Seb Audet announced the wind-down on 8 July, describing it as an orderly close after evaluating the alternatives, and the shutdown took the web app, the mobile apps and the API with it after nearly seven years.

The stated reasons are worth reading as a description of the category rather than of one company: falling revenue, intensifying competition, and infrastructure costs that do not fall when usage does. The section above explains where that infrastructure cost comes from — keeping a decoded index of every block on every supported chain is a bill that arrives whether anyone opens the dashboard or not.

The practical lesson for anyone choosing a tracker is to prefer tools you are not locked into. A read-only tracker that takes a public address and stores nothing costs you nothing to abandon: your holdings are on the chain, not in the product, and the next tool can read the same address. Anything that has become the only copy of something — labels, tags, cost bases, historical annotations — is worth exporting periodically, because this category has now demonstrated that even well-funded incumbents close.

What to check before you trust the total

A portfolio number is an opinion assembled from several sources, and reasonable tools produce different ones for the same wallet. Five things account for most of the disagreement.

Which chains were actually queried. A missing network shows up as a smaller total, not as an error. If a chain you use is not on the list, nothing in the interface will tell you the number is short.

Where the prices come from. A balance is exact; its value is not. Long-tail tokens are priced from whichever pool the pricing source happens to read, and a token with shallow liquidity can be quoted at a number nobody could realise by actually selling. Treat the valuation of anything illiquid as indicative.

Whether spam is filtered. Anyone can send a token to any address on any chain, which means airdropped junk with a fabricated price appears in your holdings by default. Filtering it is a judgement call every tracker makes differently, and an implausibly large total is usually one of these rather than good news.

Whether it decodes DeFi positions. Plain token balances are one thing; assets deposited into a lending market, staked, or sitting in a liquidity pool are another, and seeing them requires the tracker to understand each protocol’s contracts individually. A tracker that reports token balances only will understate a wallet that has money at work, and that is a difference in scope rather than accuracy.

Whether both Solana token programs were read. The Token-2022 gap described above, which is invisible from the interface and produces a number that looks complete.

What the tracker on this site does, and what it does not

Stated plainly, so you can decide against it as easily as for it. The tracker here reads 7 networks — Ethereum, Polygon, Arbitrum, Optimism, Base, BNB Chain and Solana — which crosses the boundary this page is about: six EVM chains plus Solana, on its own pipeline.

It is read-only and takes a public address. There is no wallet connection, no sign-up and no account: paste an address and you get holdings, per-asset history and transaction history. It detects the chain from the address format — base58 goes down the Solana path, 0x down the EVM one — so there is no chain to select first, and it works for any address, including ones you do not control.

What it does not do: it reports token balances and transaction history, not DeFi positions. Assets you have lent, staked or supplied to a liquidity pool are not decoded into readable positions the way a dedicated DeFi dashboard would. If most of your portfolio is deployed into protocols rather than held as tokens, a protocol-aware tracker will describe it better than this will, and that is the honest boundary of the tool.

Related

FAQ

What is a multi-chain portfolio tracker?

A tool that reads one or more wallet addresses and reports the holdings, transaction history and total value across several blockchains in a single view, rather than making you open a separate block explorer per network. The word "multi-chain" hides an important distinction, though: most trackers described that way are multi-EVM, meaning they cover Ethereum and a list of chains that behave exactly like Ethereum. Adding a non-EVM network such as Solana is a much larger piece of work than adding a twelfth EVM chain, which is why the two capabilities are worth checking separately before you trust a total.

Why do so few trackers cover both Solana and EVM chains?

Because they are two different data problems wearing the same label. Every EVM chain speaks the same JSON-RPC dialect and stores balances the same way, so a tracker that already reads Ethereum can add Arbitrum, Optimism, Base or Polygon by pointing at a different endpoint. Solana shares none of that: a different account model, a different address format, a different set of RPC methods, and a different notion of what "holding a token" even means. A tracker’s chain count therefore tells you much less than which chains are on the list.

How does a tracker find every token an Ethereum wallet holds?

It cannot ask the chain directly, because no such question exists. An ERC-20 balance is an entry in a mapping inside that particular token’s contract, and nothing anywhere records the list of contracts holding a balance for a given address. The only way to build that list is to work backwards from history: scan the chain’s Transfer event logs for every event naming your address, collect the contracts involved, then call balanceOf on each one. Scanning years of logs across several chains on demand is impractical over plain RPC, so trackers in practice rely on an indexer that has already read every block into a database.

How does token discovery work on Solana instead?

Solana wallets do not hold tokens directly. For each token you hold, the wallet owns a separate token account, and those accounts are enumerable: a single getTokenAccountsByOwner call, filtered by the SPL Token program ID, returns them. There is a catch worth knowing about, which is that Token-2022 — the token-extensions program — is a genuinely separate on-chain program with its own program ID, so the same call has to be repeated against it. A tracker that queries only the original program will silently miss any Token-2022 holdings.

Why does a Solana wallet show tokens with a zero balance?

Because on Solana an emptied token account still exists. It was created as a real account with a rent-exempt deposit, and selling the last of the token empties the balance without closing the account or returning the deposit — closing it is a separate instruction most interfaces never issue. So the account stays in the enumeration, showing zero. This is normal rather than a fault in whichever tool is showing it to you, and it is one of several reasons two trackers can honestly disagree about how many tokens a wallet holds.

Do I need to connect my wallet to track a portfolio?

Not for a read-only view, and it is worth being deliberate about this. Balances and transaction history are public data on every chain here, so a tracker only needs the address — a string you can copy from a block explorer. This site’s tracker works that way: paste an address, get the dashboard, no wallet connection and no account. Connecting a wallet only becomes necessary when a tool wants to act on your behalf, such as swapping or claiming, and a portfolio view does not.

Is a multi-chain tracker enough for tax reporting?

Treat it as a starting point rather than a filing. A balances-and-transactions view like this one shows what moved and when, but tax software has to do considerably more — assign a cost basis to each acquisition, apply the disposal rules of a particular jurisdiction, handle transfers between wallets you own without recording them as sales, and price everything in your local currency at the moment of each event. Export what a tracker gives you and reconcile it in something built for the purpose.