
You opened your Form 1099-DA and your crypto tax software in the same afternoon, and they told you two different stories. The form showed a proceeds number that looked alarmingly large, with the cost basis column mostly empty. Your software, after importing your whole year, showed a far smaller gain or loss. If your first thought was that one of them must be broken, the honest answer to why your 1099-DA is different from your crypto tax software is reassuring: they are measuring two different things, and the mismatch is designed into the system rather than a mistake by either tool.
Here is the shape of it. Your Form 1099-DA is an information return your broker sends to you and to the IRS, and for the 2025 tax year most of these forms report gross proceeds, the total you received on your disposals, with little or no cost basis attached. Your crypto tax software is trying to compute your actual gain or loss, which is proceeds minus what you paid, across every wallet and exchange you use. One reports a raw total; the other does the subtraction, so they were never going to match line for line. This guide covers what each document measures, the three structural reasons they diverge, which number the IRS is matching against, and how to reconcile the two on Form 8949 before you file.
Your Form 1099-DA and your crypto tax software differ because they measure different things. The form mostly reports gross proceeds with cost basis left blank for 2025, while your software calculates gain or loss across all of your accounts. The broker sees only the activity inside its own account, cannot use your outside purchase records to fill in basis, and defaults to a set cost-basis method, so its view is narrower than your software’s full history. Both can be internally correct and still disagree, which is exactly why you reconcile them on Form 8949, supplying the basis the form left blank while keeping proceeds aligned with the figure the IRS already holds.
The most common source of panic is treating the proceeds on the form as if it were profit.
Every disposal counts toward proceeds. Under the broker reporting rules, a sale includes disposing of digital assets for cash, for a different digital asset, and for property or services provided by the broker, among other situations. So if you rotated one token into another a dozen times last year, each swap produced proceeds, and every one lands in the total. Someone who bought $5,000 of crypto and traded actively can see a five-figure proceeds figure on a portfolio that never actually grew. That is not an error. It is what gross proceeds measures.
Your crypto tax software does something different. It imports each acquisition and each disposal, attaches a cost basis to the units sold, and reports the difference as gain or loss. Its headline number is therefore closer to what you actually made, while the form’s number is closer to how much money moved. Comparing them directly is like comparing a store’s total sales to its profit: both are real, and they are not the same figure. One detail helps here: the proceeds box is already net of the broker’s own selling costs, because brokers must reduce proceeds by digital asset transaction costs such as fees, commissions, and transfer taxes related to the sale.

Three structural reasons account for nearly every difference, and none of them is anyone’s fault.
The cost basis column is blank because the asset is noncovered. The word that explains almost every blank on your form is “covered.” For Form 1099-DA purposes, a covered security is, broadly, a digital asset you acquired after 2025 in an account where the broker provided custodial services, and held there until the broker sold it. Everything else is a noncovered security: any digital asset the broker did not custody at acquisition, any acquired before 2026, and any transferred in. Coins bought in 2021 and still held at the same exchange, and tokens bought in a wallet and later moved to an exchange to sell, are both noncovered. When a broker flags a lot as noncovered, it does not have to report the date acquired, the basis, or the gain or loss. That is the blank space your software fills from your records.
The broker is not allowed to use your software’s numbers. A broker may take customer provided acquisition information into account to identify which units were sold, which is lot ordering, but under current law may use that information solely for lot selection and not for reporting basis or acquisition dates. The IRS confirmed this in its broker reporting FAQs: even when a transferring broker supplies purchase records, the receiving broker may not rely on them to report your basis. So the taxpayer owns the basis calculation by design.
The broker sees only one account. A broker determines short term or long term treatment from what it can see, and is not required to consider transactions or events occurring outside your account with it. If it does not use your acquisition information for lot ordering, it treats assets transferred into your account as acquired on the date and time of the transfer. So a coin you have genuinely held since 2019 can appear with a holding period that started the week it arrived at the exchange. Your software keeps the original acquisition date and matches the transfer as your own movement rather than a sale. Cost basis method adds to this: absent a specific identification of the units sold, the broker applies FIFO within your account, while your software may apply a method you have chosen across all accounts, which changes which lots are treated as sold.

You file your gain or loss, computed from your complete records, and you make it reconcile to the proceeds the IRS already holds. The IRS is direct about the taxpayer’s responsibility: its guidance states that basis must be calculated by taxpayers before the return can be filed, and that whether or not you receive a Form 1099-DA, you must report all income, gains, and losses from digital asset transactions on your federal income tax return. So your software’s completed picture is the basis for what you report, and the form’s proceeds figure is the number the IRS will try to match against your return.
Reconciliation is how you satisfy both. On Form 8949 you report the disposal, supply the basis the form left blank, and, where you and the broker genuinely disagree, use an adjustment code so the IRS’s copy and your return start from the same proceeds. Code B corrects an incorrect basis, code T corrects an incorrect short or long term classification, and code E adds selling costs the statement did not reflect. Where you have no disagreement, you leave the adjustment columns blank, and the mismatch you saw on your screen becomes two views of one honest number.
Consider one Ether bought in a self custody wallet in 2023, transferred to a US exchange in 2026, and sold there the same year.
| Element | Form 1099-DA shows | Crypto tax software shows | What you file on Form 8949 |
|---|---|---|---|
| Asset and units | 2 Ether | 2 Ether | Match, no action |
| Proceeds | Amount received, net of the broker’s selling fee | The same proceeds | Keep aligned with the form |
| Cost basis | Blank, because the lot is noncovered | The 2023 purchase price from wallet history | Enter the rebuilt basis in column (e) |
| Holding period | May look short term, dated from the transfer in | Long term, dated from the 2023 purchase | Report on Part II, code T if needed |
| Extra selling cost | Not reflected | A network fee you paid | Code E, cost as a negative in column (g) |
| Gain or loss | Not calculated | Proceeds minus your real basis | Your calculated gain or loss |
Both tools are behaving correctly. The form reports what the broker is allowed to report, and the software reports what your records actually show. Your return uses the software’s basis and holding period while keeping proceeds aligned with the form, so nothing looks unmatched to the IRS.
Reconciling the form against your own records is a data problem before it is a tax problem, and CRPTM is a crypto portfolio tracker and US crypto tax calculator built for that stage.
Because they measure different things. The form mostly reports gross proceeds with basis blank, while your software calculates gain or loss from your full history. The form also sees only one account and cannot use your outside records for basis, so a difference is expected rather than a bug.
The proceeds figure. Your broker sends the Form 1099-DA to the IRS, so the agency holds that proceeds number and will compare it to your return. Your job is to report your gain while keeping proceeds aligned with the form.
Because the asset is almost certainly a noncovered security. Brokers are not required to report basis on assets acquired before 2026, transferred in, or not custodied by the broker at acquisition.
Yes. The IRS states that whether or not you receive a Form 1099-DA, you must report all income, gains, and losses from digital asset transactions. Those disposals go in box I or box L on Form 8949.
No. Under current law, brokers may use customer provided acquisition information solely for lot selection, not for reporting basis or acquisition dates.
Box G for short term with basis reported to the IRS, box H for short term without, and box I when you received no form. Boxes J, K, and L are the long term equivalents. Boxes C and F do not apply to digital assets. If the form itself is wrong, request a corrected one from the issuer named in the Filer box, keep copies, do not contact the IRS about it, and do not delay filing.
A Form 1099-DA that disagrees with your crypto tax software is not a red flag. It is two tools doing two different jobs: one reporting the money that moved, the other computing what you actually made. Understanding that difference turns a stressful mismatch into a routine reconciliation on Form 8949. For the background on how this reporting regime arrived, see our post on the 1099-DA era, and for the wider picture, the 2026 overview of IRS rules and forms.
This article is for educational purposes only and does not constitute tax, legal, or financial advice. Federal and state tax rules may change. Consult a qualified tax professional regarding your specific circumstances.