Skip to content

How to Track a Crypto Portfolio Across Multiple Wallets and Exchanges

6 min read · Verified September 2026

Connect each account one of three ways: a read-only API key for exchanges, a public address for on-chain wallets, and a manual position for anything that cannot be read automatically. Set up exchanges first, then wallets, then manual entries last, so you only hand-enter what nothing else covered.

You hold on two exchanges, an EVM wallet, a Solana wallet, and a hardware device in a drawer. Five balances, five apps, and no number anywhere that tells you what you are actually worth. So you open a spreadsheet, update it twice, and never touch it again.

The fix is not discipline. It is connecting each account once, correctly, so the number maintains itself.

Why did my holdings end up scattered in the first place?

Nobody plans this. Fragmentation is what happens when a portfolio survives a few years.

You started on one exchange because that is where the on-ramp was in your country. Then a token you wanted only listed somewhere else, so you opened a second account. Then you learned enough to want self-custody, so a chunk moved to a software wallet. Then a friend explained why keys on an internet-connected phone are a bad place for serious money, and a hardware wallet arrived. Somewhere in there you bought something on a chain your main wallet does not support, and now there is a Solana address you use four times a year.

Each of those moves was correct in isolation. The aggregate is a portfolio you cannot see. Which matters, because the decisions that depend on seeing it all degrade when the picture is partial. How concentrated you are. Whether one position has quietly become half your net worth. What you owe when you sell. Allocation drift is invisible until you have one view to observe it in.

One screen for every exchange and chain you hold on, connected read-only.

What are the three ways to get an account into a tracker?

There are exactly three, and the difference between them is who holds what.

A read-only API key is how you connect a centralised exchange. You generate the key on the exchange's own website, tick the read permission, leave trading and withdrawal switched off, and paste the key into the tracker. The exchange then answers balance queries signed with that key and rejects anything else. This is the method most people are nervous about, and the nervousness is misplaced once you understand that permissions are enforced by the exchange, not by the app asking. Read-only API keys covers exactly what each permission grants.

A watched public address is how you connect an on-chain wallet. You paste the address, the same string you give someone when they pay you, and the tracker reads balances from public chain data. There is no key, no login, no permission to grant, because the data was already public. Anyone with a block explorer can see the same thing. What you are adding is convenience, not access.

A manual position is how you record everything else. Quantity, asset, acquisition price, date. No sync, no automation, and no dependency on a venue supporting an API. It is the fallback that makes the other two methods sufficient rather than nearly sufficient.

Every portfolio worth tracking uses at least two of these. Most serious ones use all three.

What can each method actually see, and what does it miss?

This is the part that determines whether your total is right, so be precise about it.

An exchange API key sees the account sections its permissions cover. The trap is scope: on many exchanges the default read key covers the spot wallet only, and funds in earn products, futures margin, staking positions, launchpools or a sub-account sit outside it. The tracker reports a number that is honestly, precisely too low, and you spend an evening hunting a discrepancy that is really just a checkbox. When you generate the key, grant read access to every account section the exchange exposes.

A watched address sees every token balance the chain reports at that address, which is both the strength and the problem. It sees the assets you bought. It also sees whatever anybody chose to airdrop you, including spam tokens priced against a liquidity pool with forty dollars in it, which land in your total at fantasy values. Filtering spam and dust tokens is a five-minute job that has to happen once. A watched address also does not automatically resolve every DeFi position — stake or provide liquidity and the balance query returns a receipt token rather than the underlying, which tracking staked assets covers.

A manual position sees exactly what you told it and nothing more. Quantity does not update when you buy more. That is a real cost, and it is why manual entry is the last resort rather than the default.

In what order should I set this up?

Order matters, because doing it backwards means entering things by hand that would have synced on their own.

  1. List every venue before you connect anything. Every exchange, every wallet, every chain, every cold storage address, every presale allocation still vesting. Write it down. The venue you forget is the one that makes the total wrong, and the forgotten one is almost always a hardware wallet or an exchange you stopped using but never emptied.
  2. Connect the exchanges first. They hold the largest share for most people and they carry the most balance detail. Generate a read key per exchange, scoped to every account section, and paste it in. Connecting Binance walks through one exchange's flow in full; the others differ mainly in where the button lives.
  3. Add the on-chain addresses next. One EVM address covers Ethereum, Base, Arbitrum, Polygon, Optimism and BNB Chain in a single entry, so add it once and check which chains resolved. Bitcoin, Solana, Tron and TON need separate entries. Tracking an Ethereum wallet covers what a watched EVM address does and does not pick up.
  4. Filter the noise before you compare totals. Hide unrecognised sub-dollar tokens. Otherwise you will chase a discrepancy caused by an airdrop nobody wanted.
  5. Add manual positions for whatever is left. OTC purchases, peer-to-peer trades, presale allocations, a cold wallet you would rather not expose as a watched address. Enter the real acquisition price, not today's price, or your cost basis is fiction from the start. Adding a manual position covers the cases in detail.
  6. Reconcile against ground truth. Open each venue, note what it says, compare. A gap over a percent or two has a specific cause, and why your portfolio balance is wrong enumerates them.

How do I keep it accurate after the first pass?

The number only drifts when the structure changes. Reconcile the moment you connect a new venue rather than annually when the figure suddenly matters for taxes.

Two habits are worth building. Rotate exchange API keys periodically, and revoke immediately any key belonging to a service you have stopped using. And when you open a new wallet, add it to the tracker the same day, before it becomes another thing you half-remember.

The setup pays for itself the first time you look at one screen and notice a position has grown into a third of your holdings without you deciding it should. That is not a number you can see across five apps.

Common questions

The free tier limits how many wallet and exchange connections you can hold at once; Pro+ at $14.99 a month removes that cap. Manual positions are not limited, so a large but slow-moving holding can sit as a manual entry rather than consuming a connection slot.

Usually not. One EVM address is the same string on Ethereum, Base, Arbitrum, Polygon, Optimism and BNB Chain, so adding it once picks up balances across the chains a tracker indexes. Bitcoin, Solana, Tron and TON use different address formats and need their own entries.

Not if the key is read-only. Trading is a separate permission you leave switched off when you generate the key, and an exchange will reject an order signed by a key that lacks it. Withdrawal is a third permission, also left off.

Enter the holding manually with the quantity and the price you actually paid. You lose automatic updates on quantity, but the position appears in your total and your cost basis stays correct, which is the part that is hard to reconstruct later.

Yes. You add the receiving address as a watched address, which is public information anyway. The device stays offline and the tracker never sees a private key or a seed phrase, because reading a balance does not require one.

Roughly twenty minutes for a portfolio across three or four venues, most of it spent generating API keys on exchange websites. Adding a wallet address takes seconds. The slow part is remembering every place you hold something.

Read-only connections across 100+ exchanges and 15+ blockchains, plus unlimited manual positions on the free tier.

Keep reading

← All guides