Exit Velocity

Specific Identification: How to Use HIFO Legally

Specific identification bitcoin rules let you report $7,200 in gains on a 2023 sale instead of the $24,500 FIFO would force. The IRS has allowed this since Notice 2014-21 if your records meet the standards in Pub 550 and Rev. Proc. 2019-09.

The IRS Allows Specific Identification for Bitcoin Sales

The IRS treats Bitcoin as property under Notice 2014-21. That means you can choose which specific units you sell instead of defaulting to FIFO. Rev. Proc. 2019-09 and the instructions for Form 8949 confirm that specific identification works when you keep adequate records that identify the exact lot sold. You must document the date acquired, cost basis, and date sold for each unit. Without those details the IRS defaults you to FIFO. Many holders still lose the option because they never created contemporaneous records. If you bought 0.05 BTC at $29,000 on January 12 2023 and another 0.05 BTC at $41,000 on March 4 2023 then sold 0.05 BTC on November 15 2023 for $42,000 you can assign the January lot to the sale. That produces a $13,000 gain instead of the $1,000 gain from the March lot. The choice is legal and permanent once you report it on Form 8949.

How HIFO Saves You Real Money on Taxes

HIFO simply means selling your highest-basis lots first. On a rising market this reduces taxable gain immediately. Take an investor who accumulated 1.2 BTC across five purchases between 2021 and 2023 with an average basis of $31,400. Selling 0.4 BTC at $68,000 produces a $14,640 gain under FIFO. The same sale under HIFO using the $52,000 and $48,000 lots drops the gain to $6,400. That is an $8,240 difference taxed at 15 or 20 percent ordinary rates plus state tax. The savings compound every time you sell. You do not need to sell everything at once. You can apply HIFO to each individual disposition reported on Form 8949. The only requirement is that your records clearly identify the lots chosen before the transaction settles.

Exact Records You Need to Defend Your Cost Basis

Audit-ready documentation starts with exchange CSV exports that show every purchase and sale with timestamps and wallet addresses. Add a unique lot ID for each acquisition and note the exact number of satoshis. For the January 2023 purchase of 0.05 BTC at $29,000 record the transaction hash, exchange confirmation number, and USD amount paid including fees. When you sell assign that lot ID on your Form 8949 entry. Keep the records in a single spreadsheet or database that you update within 24 hours of every trade. Screenshots alone fail because they lack machine-readable detail. The IRS has accepted CSV plus wallet history in multiple examinations when the data reconciles to the blockchain. Store copies offline and maintain a hash of the file to prove it has not changed since the tax year closed.

Step-by-Step Reporting on Form 8949

Enter each disposition on Form 8949 Part II with the specific identification box checked. In column (a) write the date acquired for the chosen lot. Column (b) shows the date sold. Column (c) lists proceeds and column (d) lists your documented cost basis for that exact lot. Subtract to arrive at gain or loss in column (e). Attach a statement that lists the lot IDs and references your permanent records. Do not use generic descriptions such as "Bitcoin". Use the precise acquisition date and basis amount for every line. If you have more than a few dozen transactions import the data directly from your spreadsheet into tax software that supports specific identification. The IRS cross-checks these entries against 1099-B forms sent by exchanges so any mismatch triggers an automated notice.

Why Most Traders Fail at Documentation and Get Audited

Traders lose specific identification because they delete exchange history or rely on wallet apps that do not export cost-basis data. One common failure is selling from a mixed wallet without noting which UTXOs moved. Another is waiting until April to reconstruct lots from memory. Both approaches collapse under IRS scrutiny. The agency has disallowed specific identification in cases where the taxpayer could not produce records created at the time of the trade. Start a new lot log the same day you buy or sell. Reconcile it monthly against your exchange statements and blockchain explorer data. This habit keeps the option open every year and removes the risk of an audit forcing FIFO treatment years after the fact.

Sign up for the Exit Velocity newsletter to get fresh Bitcoin tax examples delivered every week.

📧 Want more like this?

Weekly Bitcoin and finance breakdowns. Free. No spam.

Subscribe to The Receipt newsletter →

Frequently Asked Questions

What is specific identification?

Specific identification lets you choose exactly which Bitcoin units you sell by documenting the acquisition date and cost basis of each lot. The IRS permits this method under Notice 2014-21 and Pub 550 when you maintain adequate records. You report the chosen lot on Form 8949 instead of letting FIFO apply by default. This approach produces different tax results depending on which lots you assign to each sale. For example, selling a 2021 lot purchased at $48,000 rather than a 2023 lot purchased at $29,000 changes the gain by thousands of dollars on the same transaction.

What records are required?

You need the date and time of each acquisition, the exact number of Bitcoin or satoshis, the USD cost including fees, the exchange or wallet used, and the transaction hash. Rev. Proc. 2019-09 requires that these details identify the specific units disposed of before the sale occurs. Store the data in a spreadsheet or database updated within 24 hours of every trade. Export CSV files from every exchange and reconcile them monthly against blockchain records. Keep offline backups and a file hash to prove the records existed at the close of the tax year.

How to elect specific identification

You elect specific identification by checking the appropriate box on Form 8949 and reporting the exact acquisition date and basis for each lot sold. No separate IRS form or statement is required beyond the entries on the form itself and the supporting records you retain. Once you report a sale using specific identification you must continue using the same method for all future dispositions of that asset. The election is made at the time you file the return for that year. Consistent recordkeeping from the date of purchase protects the election against later challenge.

Spreadsheet documentation for HIFO

Create one row per lot with columns for lot ID, acquisition date, acquisition price, fees, total basis, wallet or exchange, transaction hash, and status. When you sell assign the highest-basis open lots first and mark those rows as disposed with the sale date and proceeds. Calculate gain per row and sum the results for Form 8949. Include formulas that verify total Bitcoin acquired equals total disposed plus remaining holdings. Export the file monthly to PDF and store the native spreadsheet with a SHA-256 hash recorded in a separate log. This format satisfies IRS requirements for contemporaneous, auditable records.

Auditor-friendly recordkeeping

Maintain a single master file that reconciles every exchange CSV, wallet export, and on-chain movement for the tax year. Timestamp each update and keep monthly snapshots. When an auditor requests support produce the original spreadsheet, the hash log, and the Form 8949 entries that match those records. Avoid relying solely on exchange 1099-B forms because they often default to FIFO. Your internal lot assignments must stand on their own documentation. This structure has withstood IRS examination when the data ties directly to blockchain timestamps and USD transaction values.

📊 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.

Bitcoin Holder Toolkit — $24.99 lifetime →