Start from the direction of the error
Whether your total is too high or too low narrows the field faster than any other first step.
| Symptom | Most likely cause | Check this first |
|---|---|---|
| Total too high | Same asset counted in more than one place | Receipt tokens, wrapped forms and bridged versions |
| Total too high | An internal transfer counted as a disposal | Withdrawals with no matching deposit |
| Total too low | An account stopped syncing | Last successful update time per account |
| Total too low | A wallet was never added | Whether every address you hold in is listed |
| Off by a small amount | Price source difference | Which source the view uses against the venue's own |
| Value changes constantly | No timestamp on the figure | Whether the displayed total is tied to a moment |
| Cost looks wrong per asset | Average cost versus lot-based | Which method the view is using |
Coverage first, always
The overwhelming majority of large discrepancies are coverage problems, not calculation problems.
An account that stopped syncing continues to show its last known balance. Nothing about it looks broken. The total simply becomes quietly wrong by however much that account holds, and the error grows as the portfolio changes.
The check is cheap and worth doing whenever a figure surprises you: list every account and wallet you hold anything in, then confirm each is present and recently updated. The account you forgot about is the one that explains the discrepancy.
Duplicate representations
The same economic position can appear as two lines without either being wrong.
Hold a liquid staking receipt and the underlying asset and you have two balances, frequently with similar tickers, that a naive sum counts twice. The same applies to a wrapped form of an asset you already hold, and to a bridged version on a different chain.
The check is to look at the asset list and ask, for every line, whether this is a separate claim or the same claim in a different representation. The second kind should not be added separately.
Internal transfers
A transfer creates a window in which one venue has debited you and the other has not credited you. A total across both is wrong by exactly that amount until it lands.
That self-corrects and is usually harmless. The lasting version of the problem is a transfer that never appears on both sides at all — an asset moved to an address you no longer control, or a withdrawal whose destination is unlabelled. Those do not correct themselves.
Price source differences
If the holdings and quantities match and the totals still differ, the price source is the next place to look.
In a thin market the gap between venues can be wide, and an aggregate that smooths across venues will not match any of them. This is a definitional difference rather than an error, and the way to establish which is which is to compare using one source on both sides.
Cost basis methods
If only the per-asset cost figures disagree and the total value is fine, the two sides are using different cost methods.
Average cost and lot-based produce different numbers from identical transactions. That is not a bug in either. It does mean the two are not comparable, and reconciling them requires going back to individual acquisitions.
Rounding
Small persistent differences usually come from precision, not from a mistake.
Quantities with many decimal places, values shown to two significant figures, and repeated averaging all accumulate small drift. If the difference is consistent and small, that is the most likely explanation. If it grows over time, it is something else.
A debugging order
- Confirm coverageEvery account listed, every one recently updated. This resolves more cases than everything below combined.
- Reconcile asset by asset against each venueIndividually, not in total. A total that matches nothing individually is not worth investigating further.
- Check for duplicate representationsReceipts, wrapped and bridged forms appearing alongside the underlying.
- Pair internal transfersEvery withdrawal with a deposit. Unmatched movements are the ones that matter.
- Fix the price source on both sidesOnly then compare totals. Comparing across sources produces differences that look like errors and are not.
- Confirm the cost methodEstablish whether each side uses average or lot-based before concluding anything about cost figures.