The 1099-DA Reality Check: Crypto Exchanges Now Report to IRS—But Your Beancount Ledger Holds the Truth

I just received my first Form 1099-DA from Coinbase last month, and I’ll be honest: my initial reaction was relief. Finally, crypto tax reporting is getting automated! The IRS would have the data, I’d have the forms, tax season would be easier. Right?

Wrong.

After digging into the details, I realized the 1099-DA forms for 2025 transactions only report gross proceeds—not cost basis. That’s coming in 2026 for 2026 transactions. So right now, I’m getting a form that tells the IRS I sold $45,000 worth of crypto last year, but it doesn’t tell them (or me, conveniently) what I originally paid for it.

The IRS sees $45K in proceeds. If I don’t properly report my $38K cost basis, they’ll assume I made $45K in profit and come after me for taxes on phantom gains.

The Bigger Problem: Exchanges Can’t See Everything

Even once cost basis reporting kicks in, exchange-generated 1099-DA forms will only capture what happens on that exchange. They can’t see:

  • DeFi transactions (Uniswap swaps, Aave lending, Curve liquidity pools)
  • Hardware wallet transfers (my Ledger holds 60% of my crypto)
  • Staking rewards (earning 5% APY on ETH via Lido)
  • Airdrops and forks (got 300 ARB tokens airdropped in 2024)
  • NFT purchases (bought 3 NFTs using ETH from my wallet)
  • Cross-chain bridges (moved assets from Ethereum to Arbitrum)

And here’s the kicker: the IRS eliminated the “universal method” in 2026. You can no longer aggregate all your Bitcoin across multiple wallets into one pool for cost basis tracking. Now you must maintain separate cost basis records per wallet, per exchange. If you have BTC in Coinbase, Kraken, your hardware wallet, and a DeFi protocol, you’re tracking FOUR separate Bitcoin cost basis pools.

Beancount Is Now Essential

This is where Beancount went from “nice to have” to “absolutely essential” for me. I need a comprehensive ledger that tracks:

  1. Every transaction across ALL platforms (CEX, DEX, wallets)
  2. Cost basis per wallet/account using account hierarchy
  3. Lot tracking for FIFO/LIFO calculations
  4. Audit trail with transaction documentation

I’ve structured my accounts like this:

Assets:Crypto:Coinbase:BTC
Assets:Crypto:Kraken:BTC  
Assets:Crypto:Ledger:BTC
Assets:Crypto:DeFi:Aave:BTC

Each wallet/platform gets its own account subtree, maintaining separate cost basis pools as the IRS now requires.

The Reconciliation Reality Check

When I reconciled my 1099-DA from Coinbase against my Beancount ledger last week, I found three discrepancies:

  1. The 1099-DA missed a $2,400 transfer OUT to my hardware wallet (they reported it as a sale)
  2. They didn’t capture my staking rewards ($450 in ETH)
  3. A partial Bitcoin sale showed wrong gross proceeds by $150

Without Beancount, I would have just trusted the form and filed incorrectly. Now I know the truth.

Questions for the Community

  1. Have you reconciled your 1099-DA forms against your Beancount ledger? What discrepancies did you find?

  2. How are you handling per-wallet cost basis tracking? What’s your account structure?

  3. What importers are you using for DeFi protocols? I’m struggling with Uniswap LP position tracking.

  4. Is anyone generating Form 8949 schedules directly from Beancount queries? Would love to see examples.

The IRS now has robust data matching—they’ll compare your 1099-DA against your filed return. Your Beancount ledger might be the only thing standing between you and an audit notice.

How are you handling the new crypto tax reality?