Form 1099-DA for AI Agents — 2026 Broker Reporting Reference
When an autonomous agent settles a digital-asset trade, the first question is not "how much gain?" — it is "who has to file a 1099-DA?" That depends on custody, not profit. This pillar covers the broker determination for agent infrastructure, the phased 2025/2026 effective dates, wallet-by-wallet basis tracking, and how to emit 1099-DA-ready records at the moment of disposition.
What is 1099-DA reporting for AI agents?
1099-DA reporting is the digital-asset broker information-return obligation created by the final §1.6045-1 regulations (T.D. 10000). A digital-asset broker files Form 1099-DA for each disposition it effects on behalf of a customer — reporting gross proceeds for sales on or after January 1, 2025, and adding cost basis for covered assets acquired on or after January 1, 2026. The question that decides whether an AI agent operator is on the hook is custody: does the agent, or the facilitator it settles through, take control of keys at any point in the flow?
This is a different question from "how much capital-gains tax does the trade create." Gain computation is the principal's problem — short-term vs long-term character, cost-basis method, and state rate. The 1099-DA obligation is the broker's problem, and it attaches by role, not by profit. A custodial facilitator that nets zero on its own book still files 1099-DAs for every customer disposition it clears.
The hard part for agent infrastructure is that the data the form needs — acquisition date, per-lot basis, per-wallet allocation — has to be captured at the moment of acquisition and disposition, not reconstructed from a chain log months later. AgentTax attaches that capture to one API call per trade and returns the lot match, proceeds, cost basis and holding period inline.
Are you a digital-asset broker?
The 1099-DA obligation turns on custody and on whether you effect transfers for customers. Four configurations cover most agent stacks. Custody is the dividing line — if keys pass through your infrastructure, assume the obligation attaches.
1099-DA rollout — what reports when
The reporting obligation phases in. Gross proceeds first, cost basis a year later. Form 1099-DA is federal — there is no state equivalent, though the figures flow to state returns through the principal's Schedule D.
What goes on the form — and where the data comes from
Each 1099-DA field maps to something an agent stack has to capture at trade time. The right-hand column is what the engine records on each disposition.
Statutory citations and regulatory references
Source authorities behind the broker definition, the basis-tracking rules, and the holding-period determination.
Emit 1099-DA-ready records at disposition
One API call per trade. The engine matches the disposition to lots using your chosen cost-basis method, returns realized_gains per matched lot with proceeds, cost basis, holding days and term, and evaluates the §1091 wash-sale windows. GET /api/v1/export/1099-da?year= assembles those rows into a draft 1099-DA layout. Lots are kept per account and asset symbol.
// Log a disposition — proceeds, basis and term per matched lot
// (lot on the ledger: 2.5 ETH bought at $2,568 on 2025-02-14)
const response = await fetch("https://agenttax.io/api/v1/trades", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "atx_live_..."
},
body: JSON.stringify({
asset_symbol: "ETH",
trade_type: "sell",
quantity: 2.5,
price_per_unit: 3120.00,
fee_amount: 4.10, // deducted from proceeds on a sell
trade_date: "2026-05-20T18:04:00Z",
accounting_method: "fifo"
})
});
const result = await response.json();{
"trade": {
"id": "trd_...",
"asset_symbol": "ETH",
"trade_type": "sell",
"quantity": 2.5,
"total_amount": 7800.00,
"trade_date": "2026-05-20T18:04:00.000Z"
},
"realized_gains": [
{
"asset_symbol": "ETH",
"quantity": 2.5,
"proceeds": 7795.90,
"cost_basis": 6420.00,
"gain_loss": 1375.90,
"holding_days": 460,
"term": "long_term",
"accounting_method": "fifo",
"fee_deducted": 4.10
}
],
"total_gain_loss": 1375.90
}