
If you effected a digital-asset sale for a customer, you must file Form 1099-DA for that sale. Start now: collect Digital Token Identifier Foundation (DTIF) codes and taxpayer identification numbers (TINs), secure IRIS access through a Transmitter Control Code (TCC) or an IRS-authorized e-filer, and calendar your recipient and IRS deadlines before you touch a single record.
TL;DR:
- Brokers must start TIN matching early, as processing can take up to 45 business days before they can file through IRIS.
- Accurate data mapping and 18-decimal unit precision are critical to avoid common rejection errors during file submission.
- Using optional aggregate reporting for qualifying stablecoins and NFTs can reduce form volume and simplify filing obligations.
- Reconciliation of total proceeds against ledger records helps prevent discrepancies that lead to corrections or rejections before filing.
- Filing deadlines are February 15 for recipient statements and March 31 for IRS electronic submission, with no paper fallback for the latter.
Filing Form 1099-DA is a data problem before it’s a tax problem. The form itself is short, but the inputs it demands (18-decimal unit precision, standardized token identifiers, exact TINs) trip up brokers who treat it like a routine 1099-B rerun. The workflow below turns raw transaction records into IRS-ready files in the order your operations team should actually work.
Every 1099-DA record needs these fields at minimum: payer and recipient names, TINs, account number, the DTIF code for the asset (or 999999999 if the token isn’t registered with the Digital Token Identifier Foundation), the digital asset name, units sold expressed to 18 decimal places, date acquired (when required), date sold, and gross proceeds. Map each field to your internal ledger’s column names before you export anything. A mismatched column header is the single most common cause of a failed CSV upload.
Brokers filing a smaller batch typically use the IRIS Taxpayer Portal’s CSV template, which caps uploads at 250 records per file. Save the file as UTF-8 and format every column as text in your spreadsheet software before export, since Excel may auto-convert long decimal strings and TINs into scientific notation or truncated integers. That single formatting mistake can silently corrupt filings. Higher-volume brokers filing through the Application-to-Application (A2A) channel submit XML built against IRIS Schema v1.1, which requires software capable of generating a compliant file rather than a spreadsheet export.
A transfer-in from another broker or wallet is not a reportable sale by itself, but it does establish a basis record you’ll need later if that asset is sold. A transfer-out to a customer’s self-hosted wallet generally isn’t a sale either, though it may trigger separate reporting obligations depending on the transfer’s purpose. Don’t collapse these into your sales file. If you’re using one of the optional aggregate reporting methods for qualifying stablecoins or specified NFTs, group only the transactions that method actually permits. Mixing aggregated and per-transaction records in the same file is a frequent cause of downstream reconciliation headaches.

Submitting a batch with mismatched TINs invites backup withholding obligations and correction cycles you don’t want. Run a TIN match against IRS records before you generate final 1099-DA forms, not after. Brokers using a platform with built-in TIN verification catch this earlier in the process; brokers building files manually should treat this as its own checkpoint, not an assumption baked into step one.

Total gross proceeds across your 1099-DA batch, and reconcile that figure against your transaction ledger or clearing records before submission. A discrepancy here almost always means a duplicated record, a missed transfer exclusion, or a unit-precision rounding error that shifted a proceeds calculation. Catching this before you file saves you from a corrected return later.
Once TINs are matched and totals reconcile, generate either individual per-transaction forms or aggregated forms under the optional method rules that apply to your situation. Stage the final file, run it through validation one more time, and hold it for the submission steps covered later in this guide.
Pro Tip: Build a validation script that rejects any row where the units field has fewer than 18 decimal places or where the DTIF code field is blank instead of populated with 999999999. Catching this in your own staging environment is far less painful than catching it as an IRIS schema reject.
If you would rather not do this on paper, e-file Form 1099-DA online with TaxFormHero instead.
Form 1099-DA’s boxes look deceptively simple until you hit the conditional logic buried in the instructions. Here’s what each critical box requires and when the rules bend.
Boxes 1d, 1g, box 2, and box 6 shift between required and optional depending on whether the security is covered, whether you’re using an optional reporting method, and whether basis information is available to you as the broker. A covered security generally requires basis reporting in box 2; a noncovered security does not, though you may report it voluntarily.
Box 9 (Noncovered security) is a checkbox, not a data field, but it carries real weight. Checking it tells the IRS and the recipient that you are not required to report basis for that asset, which shifts the burden of basis tracking onto the taxpayer for their own return. Leave it unchecked for covered securities where you’re required to report basis.
State boxes 14 through 16 apply only when state tax was withheld or when you’re participating in state reporting for that recipient. If your state participates in Combined Federal/State Filing, the IRS forwards qualifying data to the state automatically as part of your federal submission, so you don’t need a separate state transmission for those states. States outside that program require their own filing, which is where a filing platform’s state filing add-on becomes relevant if you’re managing multiple state obligations across a broker network.
One frequently missed detail: the optional reporting methods available for qualifying stablecoins and specified NFTs change which boxes you populate. If you’re using one of those methods, boxes 1e and 1f may legitimately stay blank on certain aggregated records, which is not an error even though it looks like one on first review.
You file Form 1099-DA exclusively through the IRS Information Returns Intake System (IRIS). The older FIRE system no longer accepts 1099-DA filings, so if your team has legacy FIRE workflows, retire them for this form specifically.
Get your TCC first, and get it early. Any entity with an EIN can apply for a Transmitter Control Code through the IRIS application process, but processing typically takes up to 45 business days. That’s not a typo, and it’s the single most underestimated timeline in the entire filing process. Apply in the fall for a filing season that opens in January, not in February when you realize you need access.
Once you have a TCC, you choose between two submission channels:
A2A filers must pass the Assurance Testing System (ATS) before moving to production. ATS validates that your software generates schema-compliant files against a battery of test scenarios. Skipping or rushing ATS is how brokers end up debugging schema rejects in the middle of March instead of January.
Once you’re filing in production, IRIS returns one of three statuses for each submission: Accepted, Accepted with Errors, or Rejected. A rejected file needs a full correction and resubmission before the IRS has any record of it. Accepted with Errors is more nuanced. A recent IRIS business-rule update clarified that some zero-proceeds “Accepted with Errors” statuses don’t require correction at all, meaning the record is on file and treated as filed despite the flag. Don’t assume every error flag demands a resubmission. Read the specific business rule cited in the acceptance message before you spend a weekend rebuilding a file that IRIS already considers filed.
Pro Tip: Run a small sample (10 to 20 records) through ATS well before your bulk data is finalized. It’s far easier to fix a schema mapping problem on 15 test records than to discover the same error after uploading 40,000 production rows.
Two dates govern your entire 1099-DA calendar, and they don’t move for convenience.
February 15 is the deadline to furnish payee statements to your customers. If that date lands on a weekend or federal holiday, the deadline shifts to the next business day.
March 31 is the deadline for electronic filing with the IRS. Because 1099-DA must be filed through IRIS, and IRIS is an electronic-only system for this form, every broker is working against the electronic deadline. There’s no paper-filing fallback that buys you extra runway.
Extensions exist through Form 8809, which can push your IRS filing deadline out, though it does not extend the February 15 recipient statement deadline. File the extension request before the original due date, not after.
Build your internal calendar backward from these dates:
The IRS granted transitional good-faith penalty relief for 2025 filings under Notice 2024-56, along with a postponement of certain backup withholding applications for that year. Treat that relief as a one-time grace period, not a permanent cushion. Build your 2026 and future filing calendars as though no transitional relief exists.
Most 1099-DA rejections trace back to a small handful of repeat offenders, and nearly all of them are preventable with a validation pass before submission.
When IRIS returns Accepted with Errors, don’t assume automatic resubmission is required. A recent business-rule clarification confirmed that certain zero-proceeds records flagged with errors are still considered filed and don’t need correction. Read the exact error code in your acceptance message first.
For records that genuinely need fixing, IRIS distinguishes between a correction (updating specific fields on an already-accepted record) and a replacement (resubmitting a full file for records that were rejected outright). Rejected records typically require a full-file replacement rather than a piecemeal correction. Confirm which path applies before you resubmit, since submitting a correction when IRIS expects a replacement just generates a second error.
Pro Tip: Keep a log of every acceptance message text, not just the status flag. The specific business-rule language in that message tells you whether an error needs action or is informational only, and that detail disappears fast once your team moves on to the next batch.
The IRS built optional reporting paths into Form 1099-DA specifically for qualifying stablecoins and specified NFTs, recognizing that per-transaction reporting on high-frequency stablecoin activity would generate an unmanageable form count for both brokers and the IRS.
Basis reporting follows the covered/noncovered security distinction. For covered securities, you’re generally required to report basis in box 2. For noncovered securities, basis reporting is voluntary, and the transitional guidance under Notice 2024-56 offers penalty protection specifically to encourage brokers to report basis voluntarily where they have the data, rather than penalizing a good-faith attempt that turns out imperfect.
A practical example: a broker processing thousands of small stablecoin trades for one customer during the year would file one aggregated form under the optional method rather than thousands of individual 1099-DA forms. A broker handling a customer’s single Bitcoin sale files one standard per-transaction form with all six core boxes completed.
Every reportable sale requires a payee statement, furnished to the recipient by February 15. You can use an acceptable substitute statement instead of the official IRS form layout, but that substitute must carry the required legend stating the information was also reported to the IRS. Omitting that legend on a homegrown statement template is a compliance gap that’s easy to miss until an audit surfaces it.
Running a clean 1099-DA season comes down to sequencing, not heroics. Before you touch production data, run a dry-run pass: upload a sample file, push it through ATS, reconcile your sample totals against ledger figures, run a TIN match on the sample, and confirm your electronic delivery consent records are actually documented rather than assumed.
Assign ownership early. One person should own the TCC application and ATS testing relationship with the IRS. A second should own data mapping and decimal precision validation. A third should own final reconciliation and upload. Splitting these roles across one overloaded person is how a 45 business day TCC timeline turns into a February scramble.
Whether you self-file through IRIS directly or route through an IRS-authorized e-filer comes down to volume and resources. A broker filing a few hundred forms with an in-house tax team can often manage the Taxpayer Portal directly. A broker filing thousands of forms, needing TIN matching at scale, or lacking a dedicated ATS testing resource generally gets more value from a platform built to handle that volume, since the operational cost of building and maintaining A2A infrastructure in-house rarely pencils out below a certain form count.
— Nazrul
There are platforms that serve as alternatives to building your own IRIS A2A pipeline, providing IRS-authorized e-filing, bulk CSV import, and TIN matching without the need to maintain schema-compliant software or manage an ATS testing cycle.

The platform handles the operational load this guide just walked through. Bulk-import your transaction data from an Excel template instead of hand-keying records, run TIN Check at $0.49 per check before you submit, and deliver recipient statements by encrypted e-delivery or USPS first-class mail through the platform’s print and mail service. Filings transmit to the IRS over IRIS A2A on your behalf. TaxFormHero is IRS-authorized and holds a SOC 2 Type I attestation for security, with pricing that’s pay-per-form and graduated rather than a flat subscription: the first 150 forms run $1.99 each, dropping to $0.99 for forms 151 through 500, $0.60 for forms 501 through 1,000, and $0.45 above that. State filing add-ons cover 41-plus states plus DC, with Combined Federal/State Filing states included at no extra charge.
If your team is weighing a 45-business-day TCC wait and an ATS testing cycle against a platform that’s already authorized and tested, start by uploading a sample batch through TaxFormHero’s 1099 filing platform to see how your data maps before your filing deadline gets closer than you’d like.
Broker-specific 1099-DA guidance changes as the IRS refines IRIS schema and business rules, so keep these primary sources bookmarked rather than relying on secondhand summaries.
You file Form 1099-DA through the IRS Information Returns Intake System (IRIS), completing boxes 1a through 1f with the asset’s DTIF code, name, units to 18 decimal places, and sale details. The Instructions for Form 1099-DA spell out conditional rules for boxes like 1d, 2, and 9 depending on whether the security is covered and whether an optional reporting method applies.
Form 1099-DA is the IRS information return brokers use to report digital-asset sales made on behalf of customers, covering the asset type, units sold, sale date, and gross proceeds. It replaces the patchwork of general-purpose 1099 forms brokers previously stretched to cover crypto and other digital-asset transactions.
Yes. Brokers transmit 1099-DA data directly to the IRS through IRIS, and recipients also get a payee statement by February 15 confirming that same information was reported. The IRS electronic filing deadline for these submissions is March 31.
Form 1099-DA generally requires reporting for each sale a broker effects on a customer’s behalf, without a minimum dollar threshold the way some other information returns work. Optional aggregate reporting methods exist for qualifying stablecoins and specified NFTs, letting brokers report combined totals rather than a form per transaction in those specific cases.
No. You need an active Transmitter Control Code to file through IRIS, whether through the Taxpayer Portal or A2A, and the application typically takes up to 45 business days to process. Brokers without an existing TCC or the staff to manage the application often use an IRS-authorized e-filer like TaxFormHero to avoid that lead time.
Answers come straight from our guides. For anything about your own filing, we’ll point you to a person.
Can’t find the answer? Contact us
General information, not tax advice. Please don’t type Social Security or tax ID numbers here.