Self-Custody Bitcoin Tax Tracking
Why FIFO Loses You Money on Self-Custody Bitcoin
You bought 0.05 BTC on January 12 2023 for $29,000 and another 0.05 BTC on November 8 2023 for $36,500. When you spend 0.05 BTC on March 15 2024 at $65,000 market price, FIFO forces you to use the $29,000 basis. That creates $36,000 of gain. Switch to specific identification under Form 8949 instructions and you assign the November lot instead. Your taxable gain drops to $28,500. The $7,500 difference at 15 percent long-term capital gains rates saves $1,125 in federal tax. IRS Publication 550 allows this method when you maintain timestamped wallet records that tie each UTXO to its acquisition date and price. Most exchange CSV exports destroy that link, which is why self-custody holders who import raw wallet data beat exchange users by thousands of dollars every tax year. Keep the actual transaction hashes and block heights; those details satisfy an IRS audit faster than any average-cost spreadsheet.
How Specific Identification Works With UTXOs
Every unspent output carries its own cost basis. Rev. Proc. 2019-09 confirms you may identify the exact UTXO you spend at the moment of the transaction. Export the full history from your wallet, match each output to the block time and dollar price on that day, then tag the lot as short-term or long-term. If you move 0.12 BTC from cold storage on February 2 2024 after holding since June 2021, that entire UTXO qualifies for long-term rates. Label it clearly in your records. When you later consolidate outputs, the software must preserve the original acquisition data for every new UTXO created. Fail to keep that chain and you lose the ability to use HIFO ordering. The IRS has never disallowed HIFO when contemporaneous records exist; they simply require you to prove which lot you chose. Self-custody gives you that proof directly from the blockchain.
Building an Audit-Ready Record in Under an Hour
Start with a CSV of every incoming and outgoing transaction from your wallet software. Add three columns: acquisition date, USD price at acquisition, and lot ID. For the 0.08 BTC you received from a 2022 mining payout valued at $2,400, record the exact date the coins cleared 100 confirmations. When you spend from that UTXO in 2025, attach the 2022 price to the disposal line on Form 8949. Export the finished file and store a PDF copy with SHA-256 hash on a separate drive. This process takes forty minutes for a wallet with under 200 transactions. The same file satisfies both IRS and state revenue departments because it shows the specific identification you actually used on the date of each spend. Do this every quarter rather than once in April; the data stays fresh and you catch errors before they compound across multiple tax years.
Handling Transfers Between Your Own Wallets
Moving bitcoin between addresses you control is not a taxable event. You still must update the lot tracking so the new UTXO inherits the original basis and holding period. Label the transfer with the source transaction hash and carry forward the acquisition date. If you consolidate five old UTXOs into one larger output, each component keeps its own identity inside your records. When you later spend part of that consolidated output, you choose which original lot to assign. This preserves HIFO flexibility. Treat every internal transfer as a bookkeeping event only; never report it on Form 8949. The blockchain timestamp plus your internal note creates the required audit trail without creating phantom gains. Skip this step and you risk double-counting basis or accidentally triggering short-term rates on long-held coins.
Staying Compliant Without Handing Over Keys
Tax software never needs your private keys. Upload only the public address history or signed PSBT exports. The tool calculates gains from the on-chain data and the price feeds you supply. Keep the master file locally and share only the final Form 8949 summary with your CPA. This approach satisfies IRS record-keeping rules while keeping custody with you. If an audit letter arrives, you produce the timestamped CSV and the wallet export that matches the blockchain. No exchange login or third-party account is required. Self-custody holders who follow this pattern close audits in weeks instead of months because the data originates from the immutable ledger rather than from a custodian's incomplete logs. Consult your CPA before filing to confirm your specific lot assignments match current guidance.
Exit Velocity's newsletter ships the exact CSV template and quarterly checklist that turns these rules into a fifteen-minute routine.
📧 Want more like this?
Weekly Bitcoin and finance breakdowns. Free. No spam.
Frequently Asked Questions
Why track Bitcoin separately if self-custodied?
Self-custodied UTXOs carry acquisition dates and prices that exchange CSVs never capture. IRS Notice 2014-21 treats each output as separate property, so you must maintain that history to use specific identification. Without it you default to FIFO and pay extra tax. A wallet with 0.3 BTC bought across four dates in 2022 and 2023 can save several thousand dollars by matching the highest-basis lots to 2024 spends. Track separately or lose the HIFO ordering the IRS explicitly permits with proper records.
Privacy considerations for tax software
Upload only public address histories or signed transaction exports. Never share seed phrases or private keys. The IRS requires you to keep records, not to hand custody to a third party. Use local-first tools that store the master CSV on your machine and export only the summarized Form 8949 lines. This keeps your full transaction graph private while still producing audit-ready output that cites exact block heights and dollar prices on acquisition dates.
Spreadsheet vs software for self-custody
A spreadsheet works for wallets under roughly 150 transactions if you manually add acquisition dates and prices for every UTXO. Beyond that volume, matching lots manually creates errors that cost more than the software license. Dedicated Bitcoin tax software imports raw wallet data, preserves UTXO lineage across internal transfers, and applies HIFO ordering automatically. You still review and approve the lot assignments before export. The choice hinges on transaction count and your tolerance for manual data entry each quarter.
How to handle UTXOs in tax tracking
Each UTXO is an independent tax lot under IRS rules. Record the exact block time, dollar price, and holding period for every incoming output. When spending, select which specific UTXOs to assign using your wallet's coin control or by entering the chosen lot IDs into your tracking file. This preserves the ability to use HIFO ordering on Form 8949. Transfers between your own wallets are non-taxable but must carry forward the original basis data so the new consolidated output retains the correct lot identities.
Coin control and tax implications
Coin control lets you choose exactly which UTXOs to spend, directly affecting which cost basis appears on your tax return. Selecting the highest-basis UTXOs first reduces recognized gain in the current year. You must still record the selection in your tax file with the matching transaction hash and date. The IRS accepts this method when you maintain contemporaneous documentation. Use coin control deliberately rather than letting wallet software pick the oldest coins by default.
📊 Want to track this ongoing?
The spreadsheet bundle behind our calculations. Track cost basis, sats stacking, and tax lots forever — on your machine, never in someone else's database.