When you use a bank or a centralized exchange, someone else keeps the paperwork. Statements arrive automatically, transaction histories are searchable in an app, and if you ever need proof of what happened, customer support can usually pull it up for you.
A self-custody wallet does not work that way. Nobody is keeping a file on your behalf. The blockchain itself has a complete, permanent record of every transaction you have ever made, but it will not organize that record for you, explain what it means, or hand it to your accountant. That job falls to you. This article walks through what is worth tracking, where to find it, and how to build a simple habit around it.
The record already exists, you just have to claim it
Every transaction your wallet sends gets a transaction hash, a unique identifier that anyone can look up on a block explorer like Basescan. If you have not used a block explorer before, it helps to read how to use a block explorer first, since everything below builds on it.
Basescan will show you the full history for any Base address for free, and it lets you export that history to a CSV file (open the address page, go to the Transactions tab, and use the CSV export option). That export is a good starting point, but raw explorer data is not the same as a usable record. It lists hashes, addresses, and raw token amounts, not what you were actually doing or what things were worth in your local currency at the time. That context is the part you need to add yourself, ideally as you go rather than months later.
What is actually worth tracking
For most people, a simple spreadsheet with one row per transaction covers it. Useful columns include:
- Date and time. The block explorer has this, but it is usually shown in UTC, so note your local time too if that matters to you.
- Transaction hash. This is your receipt. Anyone, including you six months from now, can use it to verify exactly what happened.
- What you did. Swap, bridge, send, receive, approve, claim, and so on. A one word label saves you from having to reconstruct intent later.
- Tokens and amounts involved. Both sides of a swap, not just the token you ended up with.
- Value at the time, in your local currency. This is the piece a raw explorer export will not give you. If you only note the token amount, you will have to go find historical prices later, which is far more tedious than jotting down a value the day it happened.
- Network fees paid. Gas is a real cost and, depending on your local tax rules, it can factor into what you owe or what you can deduct.
- Counterparty or contract address. Useful if you ever need to explain who or what you interacted with, especially for anything outside a simple wallet to wallet transfer.
None of this needs to be complicated. A spreadsheet with these columns, updated in a couple of minutes after each transaction, beats a perfect system you never actually use.
Why this matters beyond curiosity
In many jurisdictions, swapping one token for another is treated as a taxable event, separate from simply holding, and bridging an asset between networks can raise its own questions about whether your cost basis carries over. Rules vary a lot by country and change over time, so this article is not tax advice and cannot tell you what applies to your situation. What it can tell you is that the data those rules require, the date, the value at the time, and the fees paid, is much easier to capture at the moment of the transaction than to reconstruct a year later from memory and old screenshots. If you have any doubt about how your activity should be reported, talk to a qualified tax professional in your jurisdiction, and bring your records with you.
A few habits that make this easier
Log at the time, not later. The single biggest reason people end up with messy records is trying to reconstruct six months of activity in one sitting. A ten second note right after a swap is far more accurate than a guess made later.
Keep records separate from your wallet itself. Your transaction log is just data about the past, it does not need to live anywhere near your recovery phrase or private keys. Treat it like any other personal document, not like a secret. For a refresher on what actually does need to stay protected, see keep your recovery phrase safe.
Watch for bridged assets. When you move a token from one network to Base, it can arrive as a wrapped or bridged version with a different contract address than the original. On the explorer this can look like a new asset appearing out of nowhere. Note the bridge transaction on both ends so the trail stays connected.
Do not rely on memory for prices. Token prices move constantly. If you wait even a few days to note the value of a transaction, you are already guessing. Recording it immediately, even roughly, is far more reliable.
Consider a portfolio tracking tool for volume. If you transact often, a spreadsheet can become tedious. Several third party portfolio and tax tools can import a wallet address and pull historical pricing automatically. They still benefit from your own notes on intent and context, but they remove most of the manual price lookup work.
The trade-off that comes with self-custody
Custodial platforms hide this work from you, but they also control the record and can restrict your access to it. With self-custody, the record is permanent, public, and entirely yours to keep. You simply have to be the one who organizes it. A small amount of consistent effort, a few minutes per transaction, is the difference between having clear answers when you need them and spending a weekend trying to piece together a year of activity from a block explorer.