{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://cryptotaxedge.com/standard/cte-classification-standard-v1.0.0.json",
  "title": "CryptoTaxEdge Classification Standard (superseded snapshot: v1.0.0)",
  "description": "Machine-readable form of the CryptoTaxEdge Classification Standard v1.0: the canonical category set, the closed five-treatment US tax enum, grey-area doctrine, confidence and review semantics, evidence standards, and the wire contract. As a JSON Schema this document validates a conforming classification record by reference to the published record schema (cte-classification-v1). The normative standard content is carried under x-cte-standard; the human-readable specification is https://cryptotaxedge.com/standard/. This standard defines what a classification record means, not how any engine detects a category on-chain; detection logic and serve parameters are out of scope.",
  "$comment": "License: CC BY 4.0 (attribution to CryptoTaxEdge required). 'CryptoTaxEdge Classification Standard' and 'CTE Standard' are trademarks of Stursberg LLC dba Crypto Tax Edge; a third-party tool may claim it implements the Standard only if it implements the canonical wire contract as published. Not tax advice: IRC section references are general framing under US federal income tax principles.",
  "$ref": "https://cryptotaxedge.com/schema/cte-classification-v1.json",
  "x-cte-erratum": {
    "status": "superseded",
    "superseded_by": "https://cryptotaxedge.com/standard/cte-classification-standard-v1.json",
    "current_version": "1.1.0",
    "note": "This is the frozen v1.0.0 snapshot, retained at its own versioned URL so citations made against v1.0.0 stay resolvable. The document body below is the text as published on 2026-08-12. The only bytes changed from that publication are the $id and title of this snapshot, which point at this versioned URL rather than the current-v1 URL, and this erratum block. Do not implement from this snapshot; implement from the current version.",
    "known_errors": [
      "The treatment enum states expense carries taxable: true. That was wrong when published. The reference implementation has always emitted taxable: false for the expense treatment, and no conforming record has ever carried expense with taxable: true. Corrected in the v1.0.1 erratum.",
      "The category vocabulary lists 17 categories, four of which the reference implementation cannot emit: collateral, stake, unstake, and bridge. The emitted names are collateral_supply and collateral_withdraw, staking, and bridge_transfer. Reclassified as retired aliases in v1.1.0.",
      "The category vocabulary omits 18 categories the reference implementation does emit. Added in v1.1.0.",
      "The grey-area note states the liquid_staking_mint doctrine applies symmetrically to the redeem side. That symmetry does not hold in the reference implementation. Corrected in v1.1.0, where the redeem behavior is documented as a known implementation gap.",
      "The confidence_semantics text described how the score is computed and referred to counts of corroborating evidence sources. That contradicts this document's own statement that serve parameters are out of scope. Rewritten in v1.1.0 to meaning and routing behavior only."
    ]
  },
  "x-cte-standard": {
    "name": "The CryptoTaxEdge Classification Standard",
    "version": "1.0.0",
    "published": "2026-08-12",
    "specification_url": "https://cryptotaxedge.com/standard/",
    "wire_schema": {
      "$ref": "https://cryptotaxedge.com/schema/cte-classification-v1.json",
      "wire_format": "cte-classification-v1",
      "documentation": "https://cryptotaxedge.com/schema/",
      "note": "A conforming record is a JSON object validating against the referenced record schema. The record schema is the single source of field shapes; this document does not restate them."
    },
    "treatments": {
      "closed": true,
      "note": "The complete treatment set. Consumers may branch exhaustive logic on treatment; needs_review means no treatment is asserted.",
      "values": [
        {
          "value": "disposal",
          "meaning": "A disposition of property.",
          "us_framing": "IRC section 1001",
          "taxable": true
        },
        {
          "value": "income",
          "meaning": "Value received; ordinary income at receipt.",
          "us_framing": "IRC section 61",
          "taxable": true
        },
        {
          "value": "non_taxable",
          "meaning": "A positive finding that no recognition event occurred.",
          "us_framing": "No recognition event",
          "taxable": false
        },
        {
          "value": "expense",
          "meaning": "A fee or cost paid.",
          "us_framing": "Fee or cost",
          "taxable": true
        },
        {
          "value": "needs_review",
          "meaning": "No treatment is asserted; the record is routed to a human reviewer.",
          "us_framing": "Deferred to a reviewer",
          "taxable": null
        }
      ]
    },
    "categories": {
      "closed_at_version": true,
      "note": "The canonical category vocabulary of v1.0. Closed at any given version of the standard; new categories are added only through a version bump, so the vocabulary grows additively across versions. Consumers must not branch exhaustive logic on category; the treatment enum is the closed branching surface.",
      "values": [
        {
          "category": "swap",
          "house_treatment": "disposal",
          "grey_area": false,
          "definition": "Exchanging one asset for another, a disposition of the asset sold."
        },
        {
          "category": "reward",
          "house_treatment": "income",
          "grey_area": false,
          "definition": "Staking or protocol reward received; ordinary income at receipt."
        },
        {
          "category": "airdrop",
          "house_treatment": "income",
          "grey_area": false,
          "definition": "Unsolicited token distribution received; ordinary income at receipt."
        },
        {
          "category": "vesting",
          "house_treatment": "income",
          "grey_area": false,
          "definition": "Vested tokens received; ordinary income at receipt."
        },
        {
          "category": "fee_payment",
          "house_treatment": "expense",
          "grey_area": false,
          "definition": "Network or protocol fee paid."
        },
        {
          "category": "transfer",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Same-owner movement between wallets."
        },
        {
          "category": "borrow",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Loan principal received against collateral; no change in beneficial ownership."
        },
        {
          "category": "repay",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Loan principal repaid; no change in beneficial ownership."
        },
        {
          "category": "collateral",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Collateral posted or reclaimed; no change in beneficial ownership."
        },
        {
          "category": "stake",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Asset staked; no change in beneficial ownership."
        },
        {
          "category": "unstake",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Staked asset returned; no change in beneficial ownership."
        },
        {
          "category": "liquidity_add",
          "house_treatment": "disposal",
          "grey_area": true,
          "alternate_treatment": "non_taxable",
          "alternate_view": "Continuity of position: the deposit is a non-recognition contribution rather than a disposition.",
          "definition": "Assets deposited into a liquidity pool. House default treats the add as a disposition; the continuity alternative is exposed and configurable per firm."
        },
        {
          "category": "liquidity_remove",
          "house_treatment": "disposal",
          "grey_area": true,
          "alternate_treatment": "non_taxable",
          "alternate_view": "Continuity of position: the withdrawal unwinds the position rather than disposing of it.",
          "definition": "Assets withdrawn from a liquidity pool. House default treats the remove as a disposition; the continuity alternative is exposed and configurable per firm."
        },
        {
          "category": "wrap",
          "house_treatment": "non_taxable",
          "grey_area": true,
          "alternate_treatment": "disposal",
          "alternate_view": "Disposition view: the wrap is an exchange of one asset for another.",
          "definition": "One-to-one wrap of an asset. House default is non-taxable with basis carried; the disposition view is exposed and configurable per firm."
        },
        {
          "category": "unwrap",
          "house_treatment": "non_taxable",
          "grey_area": true,
          "alternate_treatment": "disposal",
          "alternate_view": "Disposition view: the unwrap is an exchange of one asset for another.",
          "definition": "One-to-one unwrap of an asset. House default is non-taxable with basis carried; the disposition view is exposed and configurable per firm."
        },
        {
          "category": "liquid_staking_mint",
          "house_treatment": "non_taxable",
          "grey_area": true,
          "alternate_treatment": "disposal",
          "alternate_view": "Disposition view: the receipt-token mint is an exchange of the deposited asset for a different asset.",
          "definition": "Receipt-token mint on a liquid staking deposit. House default treats the mint like a wrap of the deposited asset, so basis carries; the disposition view is exposed as the alternative and configurable per firm. Applies symmetrically to the redeem side."
        },
        {
          "category": "bridge",
          "house_treatment": "non_taxable",
          "grey_area": false,
          "definition": "Same-owner cross-chain movement; cost basis carries to the destination chain. A bridge that swaps into a different asset en route is treated as a disposal of the source asset instead."
        }
      ]
    },
    "grey_area_doctrine": {
      "requirements": [
        "A documented house default: the implementation states which position it returns by default and the basis for it.",
        "An exposed alternative: the defensible position not taken is carried on the record itself in the grey_area field, so a reviewer can see it and switch to it without re-deriving the analysis.",
        "Firm-level configurability: a firm can set its own standard for each grey-area category before classifying, and the implementation honors that election consistently."
      ],
      "grey_area_categories_v1": ["liquidity_add", "liquidity_remove", "wrap", "unwrap", "liquid_staking_mint"],
      "note": "The standard describes positions and their basis; it does not assert a filing position for any taxpayer. The liquid_staking_mint doctrine applies symmetrically to the redeem side."
    },
    "confidence_semantics": {
      "range": { "type": "integer", "minimum": 0, "maximum": 100 },
      "meaning": "A corroboration signal, not an accuracy percentage: it expresses how strongly independent evidence agreed on the classification. A simple transaction seen by only one evidence source can honestly carry a lower score than a complex one corroborated by several.",
      "role": "A routing signal gating one decision: whether the record is served as a treatment or routed to a human. It is not a probability that the treatment is correct and must not be presented as one."
    },
    "review_contract": {
      "rule": "When an implementation cannot honestly assert a treatment, it returns needs_review: true with taxable: null. A null taxable always travels with needs_review: true; consumers must never coerce null to false. A review-flagged record belongs in a review queue, never in the books.",
      "invariants": [
        "taxable is null if and only if taxability is not asserted",
        "taxable: null implies needs_review: true",
        "treatment: needs_review implies needs_review: true",
        "deferring is a designed behavior of a conforming implementation, not a failure state"
      ]
    },
    "evidence_standards": [
      "Receipt-derived legs: per-leg asset movements derive from the transaction receipt and its logs, not from heuristics over unverified metadata.",
      "Exact amounts: token amounts are decimal strings carried with their decimals, computed with integer arithmetic. Floating-point parsing of amounts is non-conforming for accounting use.",
      "Replayed examples: published example records are verbatim captures of real output, replayable against the live implementation, honest deferrals included."
    ],
    "versioning": {
      "scheme": "semver",
      "major": "Any change to the treatment enum, to the meaning of an existing field, or any other change that could break a consumer branching on documented semantics.",
      "minor": "Additive changes: new categories, new optional fields, new documented grey-area positions.",
      "patch": "Clarifications and corrections that change no semantics.",
      "note": "Every change is logged in the changelog array. Superseded versions remain published at their versioned URLs so citations stay stable."
    },
    "conformance": {
      "criteria": [
        "Emits records that validate against the cte-classification-v1 record schema.",
        "Uses the treatment enum and category vocabulary of this standard with the semantics defined here.",
        "Honors the review contract: taxable null if and only if needs_review true, and no silently guessed treatments.",
        "Implements the grey-area doctrine: documented house default, exposed alternate, firm-level configurability.",
        "Meets the evidence standards for the legs and amounts it reports."
      ],
      "reference_implementation": {
        "name": "CryptoTaxEdge API",
        "endpoint": "POST https://app.cryptotaxedge.com/v1/classify",
        "documentation": "https://dashboard.cryptotaxedge.com/api",
        "openapi": "https://dashboard.cryptotaxedge.com/api/openapi.json"
      },
      "note": "Any tool may implement this standard."
    },
    "license": {
      "type": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "terms": "The specification text and this JSON document are published under Creative Commons Attribution 4.0 International; attribution to CryptoTaxEdge is required. The license covers the text, not the marks.",
      "trademarks": "'CryptoTaxEdge Classification Standard' and 'CTE Standard' are trademarks of Stursberg LLC dba Crypto Tax Edge. A third-party tool may state that it implements the CryptoTaxEdge Classification Standard v1.0 only if it implements the canonical wire contract as published; only CryptoTaxEdge may describe an implementation as official or certified. The license permits redistribution of this text with attribution; what the marks reserve is the naming, so a modified, extended, or independently maintained document may not be presented as the Standard or as a version of it. Extensions must be namespaced with an x- prefix and are not part of the Standard unless ratified. The canonical URL and semver stewardship remain with CryptoTaxEdge.",
      "disclaimer": "Not tax advice. CryptoTaxEdge is software, not a licensed tax advisor. This standard and the treatments it defines are informational only; verify results and consult a qualified tax professional before filing."
    },
    "changelog": [
      {
        "version": "1.0.0",
        "date": "2026-08-12",
        "changes": [
          "Initial release: formalizes the public CryptoTaxEdge taxonomy as a versioned, citable, machine-readable standard.",
          "Defines the closed five-treatment enum with US-law framing.",
          "Defines the v1.0 category set with house-default treatments and grey-area flags.",
          "Defines the grey-area doctrine, confidence semantics, review contract, evidence standards, and conformance criteria.",
          "Adopts cte-classification-v1 as the wire contract by reference."
        ]
      }
    ]
  }
}
