Understanding the IRS 8949 Form and Addendum Files
What Is IRS Form 8949?
IRS Form 8949 — Sales and Other Dispositions of Capital Assets — is the tax form used to report every sale, trade, or other taxable disposition of a capital asset, including cryptocurrency. It is filed alongside Schedule D and feeds directly into the capital gains and losses reported on your federal income tax return (Form 1040).
For most cryptocurrency portfolios, there are far too many individual transactions to list on the form itself. Instead, the form is completed with summary totals and a note of "SEE ATTACHED," with the transaction detail provided as a separate supporting schedule — in NODE40's case, the accompanying CSV file.
What NODE40 Generates
When you export a Form 8949 report from NODE40 Balance, you receive three related files that work together:
File | Format | Purpose |
|---|---|---|
Form 8949 cover form | The official IRS form with summary totals — what gets filed with the return | |
Transaction detail | CSV | The "SEE ATTACHED" schedule — imported into tax software to populate Form 8949 |
Gain Loss report | Excel (.xlsx) | Full lot-level detail for CPA review and reconciliation |
Structure of the PDF
The Form 8949 PDF is two pages:
Page 1 — Part I: Short-Term Transactions — covers assets held 12 months or less
Page 2 — Part II: Long-Term Transactions — covers assets held more than 12 months
Each page follows the same layout, with a checkbox section at the top, a transaction table in the middle, and a totals row at the bottom.
The Checkbox: Which Box Does NODE40 Check?
At the top of each page, the taxpayer must check one box indicating how the transactions were reported to the IRS. NODE40 checks:
Box I (Part I — Short-Term): "Short-term digital asset transactions not reported to you on Form 1099-DA or Form 1099-B"
Box L (Part II — Long-Term): "Long-term digital asset transactions not reported to you on Form 1099-DA or Form 1099-B"
These boxes apply to digital asset transactions where the broker has not reported basis to the IRS — which is the standard situation for most on-chain and decentralized transactions, as well as many exchanges that have not yet fully implemented 1099-DA reporting. This is the appropriate box for the majority of cryptocurrency transactions.
Note for CPAs: If any of the client's transactions were reported on a 1099-B or 1099-DA by a broker, those transactions may need to be reported on a separate Form 8949 page with a different box checked (e.g., Box G or Box J for 1099-DA transactions where basis was reported). Review any 1099-DA or 1099-B forms received by the client alongside the NODE40 export.
The Transaction Table
Rather than listing thousands of individual transactions, NODE40 populates the transaction table with a single summary row referencing the attached detail schedule:
Column | Value |
|---|---|
(a) Description of property | The asset type (e.g., "SOL", "DIGITAL CURRENCY") and term (e.g., "SHORT TERM") |
(b) Date acquired | Blank or representative date — detail is in the attached CSV |
(c) Date sold | Blank or representative date — detail is in the attached CSV |
(d) Proceeds | Summary total of all proceeds for the term |
(e) Cost or other basis | Summary total of all cost basis for the term |
(f) Adjustment code | Left blank or noted where applicable |
(g) Adjustment amount | Left blank unless adjustments apply |
(h) Gain or (loss) | Net gain or loss: column (d) minus column (e) |
The description field references "SEE ATTACHED" to direct the IRS and reviewer to the accompanying CSV, which contains the full transaction-by-transaction detail.
The Totals Row
The totals row at the bottom of each page summarizes the entire Part I or Part II activity. These totals flow directly to Schedule D:
Part I totals → Schedule D, Line 1b, 2, or 3 (depending on which box is checked)
Part II totals → Schedule D, Line 8b, 9, or 10 (depending on which box is checked)
For Box I (short-term, no 1099-DA): totals go to Schedule D, Line 3 For Box L (long-term, no 1099-DA): totals go to Schedule D, Line 10
How to Read the Summary Figures
The PDF displays four key figures for each part:
Field | Description |
|---|---|
Proceeds (col d) | The total fair market value received from all dispositions in the period for that term |
Cost or Other Basis (col e) | The total cost basis of all assets disposed of |
Gain or (Loss) (col h) | Net result: Proceeds minus Cost. Shown in parentheses if a loss |
Important note on proceeds: The proceeds figure in the PDF reflects the total value of all outbound activity processed through NODE40 for the period. The CSV detail file and the Excel Gain Loss tab are the authoritative sources for reviewing individual transactions and verifying that only taxable dispositions are included in your filing. Review these files with your CPA before submitting.
The CSV: Column Structure
The CSV is specifically formatted for direct import into tax preparation software — such as UltraTax, Drake, Lacerte, or ProSeries — to auto-populate Form 8949 without requiring manual entry of individual transactions. Its columns map directly to the columns on IRS Form 8949:
CSV Column | Form 8949 Column | Description |
|---|---|---|
Description | (a) | Asset name and quantity (e.g., "1.5 SOL", "100 USDC") |
Date Acquired | (b) | Date the asset was originally acquired |
Date Sold | (c) | Date the asset was sold or disposed of |
Proceeds | (d) | Fair market value received at the time of disposition |
Cost Basis | (e) | Original cost basis of the asset disposed of |
Adjustment Code | (f) | A letter code indicating special tax treatment, if applicable |
Adjustment Amount | (g) | Dollar amount of any adjustment associated with the code in column (f) |
Term | — | "SHORT" or "LONG" — indicates whether the holding period qualifies as short-term (≤ 12 months) or long-term (> 12 months) |
The "W" Adjustment Code
Some rows in the CSV carry an adjustment code of "W" in column (f). This flag is applied by NODE40's automated wash sale detection engine and does not mean your data is wrong. See Wash Sale Treatment in NODE40 Balance for a full explanation of why this code appears and what your CPA should do with it.