Skip to content

Keeping DeFi Records Your Accountant Can Actually Use

The tax is rarely the problem. The records are. What to capture at the moment of each DeFi transaction, why exchange exports fail, and how to reconstruct.

DeFi transaction ledger spreadsheet with wallet addresses and tax documentation
The cost of incomplete DeFi records is not the tax bill; it is the unprovable cost basis and the overpayment that follows.

Table of Contents

What You Will Accomplish

Centralized exchange CSV export files showing incomplete DeFi transaction data on computer screen

You are going to build a record-keeping system that survives tax filing. Not a folder of exchange CSVs that your accountant cannot interpret. Not a collection of wallet addresses you cannot prove you controlled. A documented position history with cost basis, transaction timestamps, and protocol identifiers that answer the question every tax authority asks: where did the money come from, and what was it worth when you received it?

The objective is to avoid two specific costs. The first is the professional fee for reconstructing a year of on-chain activity after the fact, which ranges from $500 to $3,000 depending on transaction volume and protocol complexity. The second is the tax overpayment that results from an unprovable cost basis. When you cannot document what you paid for an asset, the IRS assumption is often zero basis, which means you pay capital gains on the entire disposal proceeds rather than the actual gain.

This guide assumes you are in month one of using DeFi protocols. You have made your first Uniswap swap or Aave deposit. You have not yet accumulated the year of tangled transactions that makes reconstruction painful. If you are already past that point, the final section addresses what to do when the records were not kept.

Why Exchange Exports Do Not Cover DeFi Activity

Investor manually logging DeFi transaction timestamps, token values, and gas fees in detailed spreadsheet

Form 1099-DA was introduced in 2026 for the 2025 tax year, requiring brokers to report gross proceeds of digital asset transactions. For 2025 transactions, brokers report gross proceeds only; starting in 2026, they must also report cost basis for covered assets acquired and held within the same broker account. The gap that matters: 1099-DA forms do not include your DeFi activity. Brokers only report cost basis for assets that never left their platform. Transfer crypto to a personal wallet, bridge to another chain, or deposit into a lending protocol, and that tracking breaks. You are responsible for it yourself.

This mirrors the structure of European capital controls during the 2013 Cyprus crisis. Cypriot banks could document deposits and withdrawals within their own ledgers, but the moment euros moved to a foreign account or were withdrawn in cash, the audit trail depended on the account holder's personal records. The same principle applies to DeFi. Centralized exchanges document what happens on their platform. Blockchain records what happened on-chain. Neither documents the linkage that tax authorities require: which wallet you controlled, what you paid for each token, and which tax lot you elected to dispose of in each transaction.

The second problem is format divergence. On-chain data is not standardized. Each exchange formats exports differently. A Coinbase CSV shows different columns than a Kraken export, and neither interprets what happened when you exited a Curve liquidity pool or claimed staking rewards from Lido. Blockchain explorers like Etherscan show raw transaction logs: token transfers, gas fees, contract interactions. They do not show cost basis, tax lot assignment, or the fair market value in USD at the moment of each transaction. All of that must be constructed through off-chain accounting.

The third limitation is categorical. Wallet-based exports show your perspective of transactions but lack counterparty information. A DEX trade on Uniswap appears as two separate events: you send Token A, you receive Token B. The export does not explicitly link them as a single taxable swap. That linkage is an interpretation, and it is the interpretation that matters for tax filing. Without it, your accountant sees two disconnected transfers and cannot determine whether the transaction was a trade, a liquidity deposit, a reward claim, or a bridge operation.

What to Capture at the Moment of Each Transaction

Blockchain explorer showing raw transaction history with timestamps and contract addresses for DeFi reconstruction

The IRS and most tax authorities require you to document the date of every transaction, the tokens involved, the fair market value in USD at the time of the transaction, your cost basis for each asset, and the fees paid. Additionally, you should retain a year-end snapshot of all addresses you controlled and the balances held in each. Records must be kept for at least three years from filing, though the IRS can audit up to six years if substantial underreporting is suspected.

Here is what to capture in real time, before the transaction leaves your mental context:

  • Timestamp to UTC precision. Not the date. The hour and minute, in Coordinated Universal Time. Token prices move; a transaction at 14:00 UTC and 22:00 UTC can have materially different valuations, especially for thinly-traded assets. Most blockchain explorers show UTC timestamps. Record it.
  • Token symbols and quantities. Not just the ticker. The contract address for the specific token. There are sixteen tokens called "WBTC" on different chains; only one is Wrapped Bitcoin on Ethereum mainnet. Record the chain and the contract address.
  • USD price at transaction time. Document which price oracle you used. CoinGecko, CoinMarketCap, and Chainlink oracles can show different prices for the same token at the same timestamp, particularly for low-liquidity assets. Most crypto tax professionals recommend using a consistent oracle for the entire tax year and documenting that election. The IRS does not mandate a specific oracle; it requires consistency and reasonable methodology.
  • Gas fees paid. Gas fees in ETH or other native tokens are a disposal event. You are technically selling crypto to pay for the transaction, which can trigger capital gains. Most tax professionals recommend tracking gas separately and adding it to the cost basis of the transaction it facilitated.
  • Actual recipient address. If you are sending tokens to a protocol, record the protocol name and the contract address. "Deposited to Aave" is less useful than "Deposited to Aave V3 USDC pool, contract 0x... on Polygon." If the transaction involves a smart contract interaction, save the transaction hash from the block explorer. That hash is your definitive proof the transaction occurred.
  • Pool or protocol identifier for DeFi interactions. Liquidity pool deposits, staking positions, and lending protocol interactions create positions that change value over time. Record which pool, which protocol version, and what the position represents. When you exit the position six months later, you will need this data to calculate gain or loss.

The practical method: maintain a simple spreadsheet with one row per transaction, columns for the fields above, and a notes column for anything ambiguous. Update it the same day you transact, not at year-end. The twenty seconds it takes to log a transaction in the moment is faster than the three hours it takes to reconstruct it from incomplete blockchain data later.

Transaction Types Requiring Special Capture

Certain DeFi interactions create taxable events that do not feel like taxable events. The most common failures occur with liquid staking, liquidity pool exits, and reward claims. All three produce tax obligations that most users fail to capture.

Liquid staking is illustrative. On Lido, you send Ethereum and receive stETH. The exchange rate is approximately 1:1. The tokens track each other's price closely. The transaction feels like a deposit. It is not. It is a disposal of ETH and an acquisition of stETH, liable for capital gains tax if your ETH had appreciated since you acquired it. The IRS position, as clarified in Notice 2014-21, is that cryptocurrency is property, and exchanging one property for another is a taxable event regardless of economic similarity.

This mirrors the tax treatment of foreign currency exchanges in traditional finance. Converting USD to EUR and back to USD is not a wash even if the exchange rate is stable; each leg of the conversion can produce a gain or loss. The same principle applies to token swaps. You must record the fair market value of the ETH you disposed of, the fair market value of the stETH you acquired, and the cost basis of the ETH position you closed. If you cannot document that cost basis, the assumption is zero, and you pay tax on the entire value.

Liquidity pool exits are the second common failure. When you withdraw from a Uniswap or Curve pool, you typically receive two tokens in amounts that differ from what you deposited. The pool has been trading while you held the position; impermanent loss and fee accumulation have shifted the composition. Each token you receive is a separate acquisition event requiring fair market value documentation. Additionally, if the pool paid rewards in a governance token (e.g., CRV or UNI), those rewards are ordinary income at the time of the claim, regardless of whether you sold them. Most users capture the LP deposit and the LP withdrawal but miss the intermediate reward claims.

Gas fees deserve specific attention. Every transaction on Ethereum, Polygon, or any EVM-compatible chain requires gas paid in the native token. You are disposing of that token to pay the fee. If your ETH has appreciated since acquisition, the gas payment itself can trigger a capital gain. The amounts are often small, a few dollars per transaction, but across a year of active DeFi use the aggregate can be material. The IRS has not issued explicit guidance on gas fee treatment, but the conservative interpretation treats each gas payment as a disposal and includes it in cost basis for the transaction it enabled.

The practical implication: when you log a DeFi transaction, log the main event and the ancillary events. The Aave deposit, the gas fee to execute it, and the later reward claim are three separate line items for tax purposes, not one.

Position History Reconstruction When Records Were Not Kept

If you are reading this in month twelve, and you did not keep records, you have two options. The first is to hire a crypto tax professional to reconstruct your history from blockchain data. The second is to do it yourself using blockchain explorers and specialized software.

Blockchain explorers like Etherscan, Polygonscan, and Solscan let you export transaction history for any address. The export is a CSV of every transaction the address initiated or received: timestamps, token transfers, gas fees, contract interactions. The data is complete but uninterpreted. A Uniswap swap appears as a series of token approvals, transfers, and contract calls. You must manually identify which transactions represent trades, which represent liquidity operations, and which represent reward claims.

For single-protocol activity, this is manageable. If you used only Aave, connect your wallet to app.aave.com, navigate to the transaction history tab, and the interface will show deposits, withdrawals, borrows, repayments, and liquidations in human-readable format. Export that. Cross-reference it with your Etherscan transaction history to capture the gas fees. Document the USD value of each transaction using historical price data from CoinGecko or CoinMarketCap, matched to the transaction timestamp.

For multi-protocol activity across multiple wallets, manual reconstruction becomes impractical. The average crypto user in 2026 operates across three to seven wallets. A 2025 study of 500 crypto tax returns by TaxBit found that 68% of initial filings missed at least one wallet, resulting in amended returns and IRS correspondence. If you have used more than two protocols or more than one wallet, the ROI of specialized tax software becomes positive.

Crypto tax software like CoinTracker, Koinly, TokenTax, and Cointracking.info automate the interpretation step. You connect your wallets and exchange accounts via API or CSV upload, and the software attempts to classify each transaction: trade, transfer, income, fee, liquidity operation. The classification is not perfect. Automated systems regularly misclassify DeFi interactions, particularly for newer protocols, multi-step transactions, and airdrops. The value is not perfection; it is speed. The software reduces a forty-hour manual job to a four-hour review and correction job.

One caution: different platforms produce different results for the same transaction history. There is no standardized method for classifying every DeFi interaction. One platform may treat your Curve reward claim as ordinary income, another as a capital gain, depending on whether it interprets the claim as new token issuance or a sale of an accrued position. Both interpretations have tax precedent in traditional finance. The variance is not a bug; it is a reflection of ambiguity in how existing tax law applies to novel DeFi mechanisms. Choose a platform, verify its classifications on your ten largest transactions, and be prepared to defend the methodology if audited.

Professional tax software ranges from $65 per year for basic plans handling fewer than 100 transactions, to $2,999 per year for institutional plans with unlimited transactions. For traders with 500 or more annual transactions, the time saved versus manual CSV processing makes these platforms ROI-positive if they save just three to four hours of your time.

Year-End Documentation Checklist

At year-end, compile the following for your tax filing:

  • A list of every wallet address you controlled during the tax year. Include addresses that held balances only briefly. If you bridged funds to a new wallet for a single transaction and then abandoned it, include that wallet. The IRS expects you to report all crypto activity, not just the activity in wallets you consider primary.
  • Balances held in each address as of December 31 at 23:59 UTC. Document the token symbol, quantity, and USD value using your elected price oracle. This snapshot serves as the opening balance for the next tax year.
  • A complete transaction log. Either your manually maintained spreadsheet or the export from your tax software, showing every transaction with timestamp, token symbols, quantities, USD values, and fees. If you used software, export the final report as PDF and CSV. The PDF is human-readable; the CSV is machine-verifiable.
  • Cost basis assignment method election. The IRS allows FIFO (first in, first out), LIFO (last in, first out), or specific identification. You must apply the same method consistently within each tax year, though you can change methods between years. Document which method you used. If you used specific identification, document which tax lots you elected to dispose of in each transaction. This is where most manual record-keeping fails, and where software adds the most value.
  • Protocol and pool identifiers for open positions. If you ended the year with funds in an Aave lending position, a Uniswap LP pool, or a Lido staking position, document the protocol, the pool or contract address, and the quantity deposited. These positions will produce taxable events in the next tax year when you exit them or claim rewards. The cost basis for that future event is the value of the position at the moment you entered it, which is data from this tax year.

The records you keep this year determine the tax you pay next year. DeFi yield is taxed when realized, but the cost basis that determines gain or loss is established when you acquire the asset. If you cannot prove what you paid, the assumption is often zero.

The Software Question

The question readers ask is whether to use software or keep records manually. The answer depends on transaction volume and protocol diversity. If you made fewer than 50 transactions across no more than two protocols, manual record-keeping is faster and cheaper. If you made more than 100 transactions, used liquidity pools, or operated across multiple chains, software is ROI-positive.

CoinTracker currently supports 347 DeFi protocols, the widest coverage as of 2026. Koinly excels at NFT and multi-chain tracking. TokenTax offers the most granular control over transaction classification, which matters for professional traders using specific identification for cost basis. All three integrate with major exchanges and support API connections to wallets. All three require manual review of flagged transactions; none interpret every DeFi interaction correctly on first import.

The limitation to understand: software cannot create data that does not exist. If you did not document which wallet you used for a transaction, or if you cannot provide the private key or transaction hash to prove you controlled a wallet, software cannot reconstruct that. The blockchain shows that a transaction occurred; it does not show that you were the person who initiated it. That proof depends on your records.

For traders who cannot reconstruct their history and cannot afford professional help, the fallback is to document what you can prove and amend later if necessary. File a return with the transactions you can document, attach a statement noting that blockchain data may show additional activity you are working to classify, and amend within three years if you reconstruct missing records. This is preferable to not filing, which starts a six-year audit window rather than the standard three-year window. The IRS penalizes underreporting; it does not penalize good-faith efforts to report incomplete data with a plan to amend.

What Happens When You Do Not Keep Records

The European sovereign debt crisis of 2011 through 2013 offers a parallel for what unprovable cost basis looks like in practice. Greek banks froze withdrawals. Depositors could not prove the origin of funds. When capital controls lifted, tax authorities assumed undeclared income for any balance that could not be sourced to documented deposits or payroll. The burden of proof fell on the account holder, not the state.

The IRS takes a similar position with cryptocurrency. If you dispose of an asset and cannot document cost basis, the assumption is zero basis. You pay capital gains tax on the entire disposal amount, not the gain. For a $10,000 Ethereum sale where you originally paid $6,000, the correct tax is on the $4,000 gain. Without documentation, the IRS assumption is tax on the full $10,000. That difference is $600 to $1,200 depending on your marginal rate and holding period. Across a year of disposals, the aggregate overpayment can exceed the cost of professional reconstruction.

The second consequence is audit risk. Underreporting or incomplete reporting flags returns for review. The IRS has increased audit rates for cryptocurrency filers; public statements from the agency in 2025 indicated that digital asset compliance is an enforcement priority. An audit does not mean you did something wrong; it means you must produce the records that support your filing. If you cannot, the IRS adjustment is based on the available data, which typically means zero cost basis and maximum tax liability.

The third consequence is time. Reconstructing a year of DeFi activity from incomplete records takes between 20 and 60 hours depending on transaction volume and protocol complexity. Most professionals charge $100 to $250 per hour for this work. The all-in cost is $2,000 to $15,000 for active traders. That cost is avoidable if you keep records in the moment.

The Takeaway

The tax is not the variable you control. The rate is set by statute, and the obligation is triggered the moment you dispose of an asset or earn yield. What you control is the cost basis, and the cost basis depends entirely on the records you keep.

The specific action: maintain a transaction log with timestamp, token symbols, USD values, gas fees, and protocol identifiers, updated in real time as you transact. If you have not been keeping records, reconstruct what you can using blockchain explorers and DeFi-capable tax software, verify the classifications on your largest transactions, and document your methodology. The fifteen minutes you spend logging transactions this week will save you the $3,000 you would otherwise pay to reconstruct them at year-end. That is the income mechanism: time saved is money not spent, and the overpayment from unprovable cost basis is the opportunity cost you avoid.

Frequently Asked Questions

What records do I need to keep for DeFi transactions?

You need timestamp (to UTC precision), token symbols and contract addresses, quantity transacted, USD value at transaction time (documenting which oracle you used), gas fees paid, recipient address or protocol identifier, and transaction hash from the block explorer. Additionally, keep a year-end snapshot of all wallet addresses you controlled and the balances held in each. These records must be kept for at least three years from filing, though the IRS can audit up to six years for substantial underreporting.

Why don't exchange CSV exports cover my DeFi activity?

Form 1099-DA introduced in 2026 only covers assets that stayed on the broker's platform. Once you transfer crypto to a personal wallet, bridge to another chain, or interact with DeFi protocols, the exchange can no longer track cost basis. Additionally, blockchain data shows raw transactions but not tax-relevant metadata like cost basis, tax lot assignment, or the fair market value in USD at transaction time. That interpretation must be constructed through your own records or specialized tax software.

Are gas fees taxable events?

Yes. Gas fees paid in ETH or other native tokens are technically a disposal of crypto to pay for a transaction, which can trigger capital gains if the token appreciated since you acquired it. Most tax professionals recommend tracking gas fees separately and adding them to the cost basis of the transaction they facilitated. The amounts are often small per transaction, but across a year of active DeFi use the aggregate can be material and should be documented.

What happens if I can't prove my cost basis?

If you dispose of an asset and cannot document cost basis, the IRS assumption is often zero basis, meaning you pay capital gains tax on the entire disposal amount rather than just the gain. For example, selling $10,000 of ETH you bought for $6,000 should trigger tax on the $4,000 gain; without documentation, you may be taxed on the full $10,000. This overpayment, aggregated across multiple transactions, often exceeds the cost of professional record reconstruction or tax software.

Should I use crypto tax software or keep manual records?

If you made fewer than 50 transactions across one or two protocols, manual record-keeping in a spreadsheet is faster and cheaper. For more than 100 transactions, multiple protocols, or cross-chain activity, specialized software becomes ROI-positive. Platforms like CoinTracker, Koinly, and TokenTax automate transaction classification but require manual review of flagged items. Software costs range from $65 to $2,999 annually; for traders with 500+ transactions, the time saved typically justifies the cost if it saves just three to four hours of manual work.

Tool mentioned above
Koinly

Koinly imports from 800+ exchanges and wallets and handles the DeFi cases most tools get wrong - rebasing tokens, LP positions, staking rewards.

Try Koinly

We may earn a commission if you sign up through this link, at no cost to you. It does not change what gets recommended.

The Weekly Yield Report

You now have the structure to avoid $3,000 in reconstruction costs and the overpayment from unprovable cost basis. Those numbers will be higher next year.

Every Thursday: where crypto yield actually is - stablecoins, liquid staking and DeFi lending, with the risk named next to the rate and what changed since last week.

Get it free every Thursday

Free. No trade calls, no allocations, no hype. Unsubscribe in one click.

Comments

Latest