Why Your Crypto Portfolio Balance Is Wrong
6 min read · Verified September 2026
A wrong portfolio balance almost always comes from one of eight causes: sync lag, an API key that can't see every sub-account, spam tokens priced at fantasy values, assets locked in staking or liquidity pools, different price sources, duplicate manual entries, cost basis shown where you expected market value, or a token that was renamed or delisted.
Your tracker says one number. Your exchange says another. Neither of them is lying, and the gap between them is almost always one of eight specific, fixable things.
This matters more than it sounds. A portfolio number you don't trust is a portfolio number you stop looking at, and a holder who stops looking is a holder who misses the move. Worse, a wrong number quietly corrupts every decision downstream of it — allocation, position sizing, when to take profit, what you tell your accountant in April.
Here is what actually causes the gap, in rough order of how often it shows up.
Why doesn't my tracker match my exchange balance?
The first suspect is always the API key. When you generate a read-only key on an exchange, you are granting access to a specific slice of your account, and the default slice is usually the spot wallet and nothing else. Funds parked in earn products, savings, futures margin, staking, launchpool positions or a sub-account sit outside that slice. The tracker reads exactly what it was permitted to read and reports a total that is honestly, precisely too low.
The fix is to regenerate the key with read access to every account section the exchange exposes: never trading, never withdrawal. If you are unsure what a key permits, read-only API keys walks through what each permission actually grants.
The second suspect is timing. Exchange APIs rate-limit; on-chain indexers lag behind the head of the chain by seconds to minutes depending on the network. A balance you changed ninety seconds ago may not have propagated yet. Pull to refresh, wait, and check again before treating it as an error.
The third is duplication in the other direction: a position entered manually and then also picked up by a sync, counted twice. This is the most common cause of a total that is too high, and it shows up most often after someone connects an exchange they had previously been tracking by hand. Duplicate transactions after connecting an exchange covers how to identify and clear these without losing history.
Connecting every account read-only is the fastest way to find which one is missing.
What are dust and spam tokens doing to my total?
If you track a public wallet address, you receive whatever anybody chooses to send it. Airdropped spam tokens arrive unbidden, and some of them carry a nominal market price attached to a liquidity pool with forty dollars in it. A tracker that sums every token balance at its quoted price will fold a worthless airdrop into your net worth at whatever number that pool implies.
The distortion runs both ways. Sometimes a spam token adds thousands of phantom dollars. More often it adds noise: dozens of line items that make the holdings list unreadable and bury the four positions you actually care about.
Filtering fixes it. Hide unrecognised tokens below a value threshold, or hide them individually. What you should not do is interact with them: a spam token that invites you to swap it is frequently a honeypot, and the approval it asks for is the actual attack. Spam and dust tokens covers the filtering approach in detail.
Where did my staked and liquidity assets go?
A simple balance query returns what is sitting in the wallet. It does not return what the wallet has committed elsewhere.
Stake ETH and you may hold a liquid staking token instead of ETH. Provide liquidity and you hold an LP position that represents two assets in a ratio that shifts as the pool trades. Lend into a money market and you hold an interest-bearing receipt token. In every case the value is still yours, and in every case the balance query sees something other than the asset you think you own — or, if the receipt token is obscure enough to be unpriced, sees nothing at all.
This is the single most common reason a serious DeFi user's tracked total sits well below their real one. Tracking assets locked in staking, LPs and vaults covers what each position type looks like to a tracker and how to account for the ones that don't resolve automatically.
Why do two apps show two different prices for the same coin?
Because there is no such thing as the price of a token. There are prices on individual venues, and there are aggregated prices computed from a set of venues weighted by volume. Two aggregators using different venue sets and different weighting will produce different numbers for the same asset at the same instant.
For Bitcoin the disagreement is negligible. For a token that trades on two decentralised exchanges with shallow liquidity, the disagreement can be enormous, and the "correct" answer depends entirely on where you could actually sell. A quoted price is a claim about a market that may not absorb your position at that price. Why the same coin shows two different prices unpacks how aggregation works and when to distrust the number.
Why does my profit look wrong when my balance looks right?
Because balance and performance are different questions, and trackers answer both.
Market value is what your holdings are worth now. Cost basis is what you paid. Profit is the difference, and it depends on an accounting method, meaning which lot you count as sold when you sell part of a position. Change the method and the profit changes while the balance does not move at all.
If your quantity is right and your gain looks impossible, you are almost certainly looking at an incomplete cost basis: transfers imported as deposits with no acquisition price, so the tracker assumes zero and reports the entire position as profit. Cost basis vs. market value explains how to spot and repair this.
The eighth cause is the rarest and the most confusing: a token that was renamed, redenominated or delisted. A ticker change breaks the mapping between your holding and its price feed, and the position either disappears or freezes at its last known value. What happens when an exchange delists a coin covers the recovery.
How do I get to a number I can trust?
Reconcile once, properly, and the number stays trustworthy afterwards.
- Write down the ground truth. Open every exchange account and every block explorer and record the balance each one reports. This is what you are reconciling against. Do it before you touch the tracker.
- Account for every venue. Every exchange, every wallet, every chain, every cold storage address. A missing venue is the largest single source of error and the easiest to overlook. The hardware wallet you set up two years ago counts.
- Check key scope on each connection. Spot, earn, futures, staking, sub-accounts. If the exchange separates them, the key needs to see all of them.
- Filter the spam. Hide unrecognised sub-dollar tokens before you compare totals, or they will swamp the comparison.
- Add what can't sync. OTC purchases, peer-to-peer trades, cold storage you don't want to expose as a watched address, and any DeFi position that didn't resolve. Enter these as manual positions with their real acquisition price so cost basis stays intact.
- Compare, then chase the largest gap first. Small residual differences are usually price-source drift and can be ignored. A gap of more than a percent or two has a specific cause, and it is almost always one of the eight above.
That process takes about twenty minutes for a portfolio spread across a few venues, and it holds. After the initial reconciliation, the number only drifts when you add a venue — which is why the discipline worth keeping is to reconcile the moment you connect something new, rather than annually when the numbers already matter.
A portfolio number is only useful if you believe it. Getting there is mostly bookkeeping, and it is worth the one evening it costs.
Common questions
Prices move constantly, and different data sources refresh at different intervals. A few tenths of a percent of drift between refreshes is normal. Swings of several percent between refreshes usually mean a thin-liquidity token in your holdings is being priced from a different venue each time.
Almost never. A tracker reads balances; it does not hold them. If the number looks wrong, check the balance on the exchange or block explorer first. If that number is right, the problem is in how the tracker is reading your accounts, not in the accounts themselves.
Airdropped spam tokens land in public wallet addresses without your involvement. Some of them carry a nominal market price, so a tracker that sums everything will fold them into your total. Filtering or hiding them fixes the number.
An API key scoped to the spot account only. Funds in earn products, futures wallets, sub-accounts or staking positions sit outside that scope and never appear. Regenerating the key with read access to every account section usually resolves it.
Once a month is enough for a buy-and-hold portfolio. Reconcile immediately after connecting a new account, after moving funds between venues, and before pulling numbers for taxes.
Free tier covers unlimited manual positions and read-only connections across 100+ exchanges and 15+ chains.
Keep reading
How to Track a Crypto Portfolio Across Multiple Wallets and Exchanges
Coins in four places and no single number. The three ways to connect an account to a tracker, what each one can see, and the order to set them up in.
Spam and Dust Tokens Are Inflating Your Portfolio
Airdropped spam tokens land in any public address and some carry fake prices. How to filter dust, and why swapping one is the actual attack.
Where Your Staked and Pooled Assets Went
Staked ETH, LP positions and lending receipts don't show up as the asset you deposited. Why DeFi totals read low and how to account for what's missing.
Why the Same Coin Shows Two Different Prices
There is no single price for a coin, only venue prices and volume-weighted averages. Why the gap is trivial for Bitcoin and huge for thin tokens.
Duplicate Transactions After Connecting an Exchange
Connected an exchange and your balance doubled? The three ways duplicates appear, and how to clear them without destroying the cost basis underneath.
Cost Basis vs. Market Value: Which Number You're Looking At
Market value is what your coins are worth now. Cost basis is what you paid. Why the two get confused, and why transfers break the second one.
How to Audit Your Tracker Against the Real Numbers
Reconcile your tracker against exchange balances and block explorers. Where ground truth comes from, and which gaps are drift versus real errors.
Read-Only API Keys: What a Portfolio Tracker Can and Cannot Do
What read, trade and withdraw permissions actually grant, why a read-only key cannot move funds, and the exact settings to switch off before you connect.