The crypto tax CSV: every field your accountant needs
One good file ends the tax-season argument: UTC timestamps, venue, type, amounts, fees and transfer links. The exact columns to export, and why.
The file your accountant actually wants has one row per event and nine columns: timestamp in UTC, venue or account, transaction type, base asset and amount, counter asset and amount, fee with its currency, and a transaction id or reference. Everything else in crypto tax prep is reconstruction, and reconstruction is billed by the hour.
The columns, one by one
- Timestamp, UTC: local times shift with travel and daylight saving; UTC ends the ambiguity.
- Venue: which exchange, wallet or protocol the event happened on. Cost basis lives or dies by this.
- Type: buy, sell, swap, transfer in, transfer out, income, fee. A controlled vocabulary, not prose.
- Base asset and amount: what changed hands, in asset units, not just dollars.
- Counter asset and amount: what it changed hands for, including stablecoins.
- Fee and fee currency: fees adjust your cost basis and they add up.
- Transaction id: the on-chain hash or exchange reference that makes any row provable.
Transfers: the rows everyone gets wrong
Moving coins from an exchange to your own wallet is generally not a taxable event (rules vary by country), but if your file does not record both legs as a linked transfer, tax software reads the exchange leg as a disposal and the wallet leg as income from nowhere. Phantom gains, phantom income, real letters from the tax office. Every transfer needs its pair.
DeFi rows without tears
Liquidity added and removed, staking rewards claimed, airdrops received: each is a row with a type, a timestamp and a fair value at the time. Rewards and airdrops are generally income when received in most jurisdictions; entering and exiting an LP can be a disposal depending on where you live. The file does not decide the treatment. It gives your accountant the facts to decide with.
Where the file comes from
Manually: every exchange exports its own CSV in its own dialect, and you merge them in a spreadsheet, once, angrily. Or a tracker that already watches all venues writes the consolidated file for you. TrueHold Premium exports exactly this: cost basis, realized PnL, transfers and DeFi events, broken out by venue and chain, in one pass. A venue TrueHold cannot read can still be added as a manual account, typed in or imported from that venue’s own CSV.
Frequently asked questions
Is there one standard crypto tax CSV format?
No. Authorities differ by country and tax tools each have their own import format. The nine-column file above carries the core fields most of them ask for, so it usually converts cheaply.
Do I need rows for transfers between my own wallets?
Yes. Transfers are usually not taxable, but without both legs recorded your software may misread them as sales and income, which can inflate your tax bill.
Can I build the file by hand?
For one exchange and a quiet year, yes. Across several venues, wallets and DeFi, manual merging is where most errors are born; export consolidated data instead.
Terms in this article
See your whole portfolio in one view
TrueHold is an AI-native financial and DeFi platform for modern capital. Paste a wallet or link an exchange to see every chain in one view, free.
Open TrueHold →Keep reading
Oct 5, 2026 · 5 min read
How to track a Base wallet: tokens, DeFi and funds in the bridge
A Base wallet is your Ethereum address on Coinbase’s layer 2. How to watch its tokens, DeFi positions and bridged funds without connecting anything.
Oct 5, 2026 · 5 min read
How to track a Tron wallet: TRX, USDT and the TRX you staked
A Tron wallet is a T-address holding TRX, TRC-20 USDT and staked TRX. How to watch it by address, and what energy and bandwidth mean for the total.
