Memo № 04

Method · 2026.06.08 · 3 min read

Tracking Crypto Across Exchanges and Wallets Without Counting Anything Twice

Why crypto portfolios drift from reality: dust, wrong-token price matches, exchange sub-accounts, and trades imported from two sources. How Lait handles each.

A Bitcoin coin in front of a screen of price charts
One coin, several venues, and a ledger that must count it once. · Photo: Unsplash

A crypto portfolio is easy to start tracking and hard to keep true. Most of the drift comes from four sources, none of them exotic.

1. Pricing the wrong token

Ticker symbols are not unique. There are several tokens called TAO, dozens called any three-letter combination you can think of, and a tracker that searches by symbol will eventually price your holding with a dust token that shares the name. The failure is silent: your chart shows a 400 percent gain, or a 99 percent loss, and neither happened.

Lait prices through exchange pairs first (BTC-USDT on a venue is unambiguous), then through wallet data that already carries a price, then through a DEX search with strict guards: the match must have real liquidity, an exact ticker, and a price within an order of magnitude of what we already know. Historical charts are validated the same way, so a wrong match cannot rewrite your history.

2. Dust and stablecoins

Every wallet accumulates dust: airdrops, leftovers, spam tokens. Counting them makes the asset list unreadable and the allocation chart wrong. Lait hides positions under a small euro threshold you can set. Stablecoins and fiat balances on exchanges are classified as cash, not crypto, so your "crypto exposure" is the part that actually moves.

3. Exchange sub-accounts

Exchanges hold your money in several places: spot, funding, futures margin, earn products, sub-accounts. An integration that reads only the spot wallet under-reports; one that reads them all and adds them up is what you want. Lait reads every account type the venue exposes over its API and sums them, and treats a perpetual position as exposure (its notional), not as a balance.

4. The same trade from two sources

You connect an exchange by API and later upload its CSV export, or the reverse. Now every buy exists twice. Cost basis doubles, realised P&L doubles, and the tax estimate is off by exactly that. Lait deduplicates trades across sources by venue, symbol, side, amount and an hourly time bucket, which catches the same fill arriving with second-level timestamp differences between the API and the export.

Cost basis, done the boring way

Lait uses average cost per symbol per venue. It is not the only method, and for Spanish tax the rule is first-in-first-out by security, which the tax view applies separately. For a portfolio view, average cost is what tells you whether a position is above or below water, and it survives partial sells without surprises.

Reconstructing history you never recorded

Most people start tracking after they started investing. For the history before day one, Lait reconstructs positions from your trades and daily prices, and for on-chain wallets it reads the chain (Ethereum and Arbitrum today) to rebuild balances by day. Where a balance cannot be reconstructed (an exchange with no trade history), it is carried back from today and marked as assumed in the chart, so the guess is visible rather than dressed as fact.

Checklist

  • Price by pair or contract, never by bare ticker.
  • Stablecoins are cash.
  • Read every sub-account, count perps as exposure.
  • Deduplicate across API and CSV.
  • Mark reconstructed history as such.

Get those five right and the crypto part of your net worth becomes as boring as the bank part. That is the goal.

Try it

Lait puts your crypto, stocks, banks, property and debt on one screen, in EUR or USD. Request an invitation.

No card needed. Basic access is free. Built in Barcelona.

← All memosLait / Barcelona
LaitLive Asset Intelligence
Barcelona