Allocation
Holdings
Add a wallet, then use its โฎ menu โ Add blockchains to save one public address per network. When the sync service runs (see Settings โ How sync works), it reads those addresses, pulls balances and transactions from the chain, and the transactions land in the Transactions tab. Until sync is connected on your server, balances update when you add transactions or import a CSV.
This tab starts empty. Transactions arrive three ways: you add them manually, you import a CSV, or the sync service pulls them from the public addresses saved on your wallets. Synced transactions appear here with their date, chain and counterparty address, and every transaction โ however it arrives โ is applied to your cost-basis lots immediately, so Holdings and Tax Reports stay in step.
Tax Reports
Capital gains are worked out lot by lot with the FIFO method. Change the method in Settings and every figure here recalculates.
Disposals in this workspace
Settings
Everything here applies instantly and is included when you export your workspace.
Cost basis
How disposals pick which purchase lots they consume, and how gains split into short- and long-term.
How sync works
Sync reads the public addresses saved on each wallet and pulls that wallet’s balances and transaction history from the blockchain. Public addresses only โ never a seed phrase or password.
Do synced transactions show up in the Transactions tab? Yes โ that is exactly where they land. Each synced transaction is added to the Transactions tab with its date, chain, amount and counterparty address, then applied to your cost-basis lots, so Holdings, the dashboard and Tax Reports all update from it. Transactions are matched by their on-chain hash, so re-running a sync never double-counts.
Exchange accounts (Kraken, Coinbase) can’t sync from a public address โ those need a read-only exchange API key in the sync service, or a CSV import. This standalone page stores the addresses and keeps the ledger; the live chain pull runs in the server-side service.
Data & self-hosting
This tracker is a single self-contained HTML file โ serve it from any static host or your own server and it runs entirely in the browser. Everything you add โ wallets, blockchain addresses, transactions, settings โ is saved automatically in this browser as you work, so it is still here after a refresh or a restart. The save lives in this one browser on this one device, so export a workspace file to back it up or move it elsewhere.
Automatic blockchain sync (address watching) and exchange API sync run through a small companion service on your server โ the wallets in this build carry their addresses so the connection can be switched on there. Until then, balances stay current through manual entries and CSV imports.
Display
Base currency and formatting for every figure in the app.
Connected wallets
Sync status for each wallet in this build.