CryptoTaxEdge › Schema

The Classification Record schema

cte-classification-v1 · frozen 2026-08-04 · JSON Schema · changelog

Every CryptoTaxEdge classification — REST or MCP — returns the same record shape. This page freezes that shape as a versioned contract you can build against and pin: fields are added, never removed or repurposed, within a major version.

The record

{
  "api_version": "v1",
  "hash": "0x...",
  "chain": "ethereum",
  "category": "swap",
  "treatment": "disposal",
  "taxable": true,
  "confidence": 77,
  "needs_review": false,
  "ledger_action": "Trade",
  "protocol": null,
  "description": "Token swap; a taxable disposition under IRC 1001.",
  "review_note": null,
  "grey_area": null,
  "assets": { "sent": [ ... ], "received": [ ... ], "gas": null }
}

The three rules integrators must honor

RuleMeaning
treatment is closedExactly five values: disposal, income, non_taxable, expense, needs_review. Branch exhaustive logic here. category is an open vocabulary — display it, never switch on it exhaustively.
taxable: null never means falsenull always travels with needs_review: true: taxability is not asserted. Route the row to a human.
needs_review is the gatetrue = the engine defers instead of guessing — queue it, never book it. false = served as authoritative at any confidence. grey_area, when present, carries the defensible position not taken.

Validate your integration

Validate any response against the schema with standard tooling:

npx ajv-cli validate -s https://cryptotaxedge.com/schema/cte-classification-v1.json -d response.json --spec=draft2020

Worked examples for canonical shapes live in the MCP repo and the developer quickstart. Full API reference: dashboard.cryptotaxedge.com/api.

Classifications are informational only, not tax advice. Verify results with a qualified tax professional before filing.