---
title: "CARF / DAC8 Reportable Classifier"
method: POST
path: "/v1/tools/carf_dac8_reportable_classifier"
tags: ["carf", "dac8", "crypto-tax", "casp", "reportable", "crypto-asset", "oecd", "eu", "tax-reporting", "compliance"]
---

# CARF / DAC8 Reportable Classifier

`POST /v1/tools/carf_dac8_reportable_classifier`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/carf_dac8_reportable_classifier`
- Auth: none declared

Classify CASPs, users, and transactions as reportable under OECD CARF and EU DAC8. Determines reporting-CASP status, reportable-user residency, and transaction-type triggers (exchanges, transfers to unhosted wallets, retail payments ≥ USD 50,000). CARF effective 1 Jan 2026 across 52 jurisdictions; DAC8 for FY2026, first reports 31 Jan 2027. Tier 1 Policy Mandate + Tier 2 classification CSV. Client-side. Works offline. Zero PII.

**Tool URL:** https://ainumbers.co/tools/465-carf-dac8-reportable-classifier.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `entity_type` 'exchange' | 'broker' | 'wallet_provider' | 'atm_operator' | 'other', required: CASP entity type per CARF §II Reporting CASP definition
  - `regime` 'carf' | 'dac8' | 'both', required: Applicable regime: carf (non-EU jurisdictions), dac8 (EU member states), or both
  - `user_residencies` string[]: ISO 3166-1 alpha-2 residency codes for each user to classify
  - `transactions` object[]: Transactions to classify; retail_payment threshold is USD 50,000 per CARF §II.D.3
    - `type` 'crypto_to_fiat' | 'fiat_to_crypto' | 'crypto_to_crypto' | 'transfer_out' | 'retail_payment'
    - `amount_usd` number
    - `counterparty_hosted` boolean

## Response `200`

Successful tool execution result

- object
  - `is_reporting_casp` boolean
  - `reportable_users_count` integer
  - `reportable_txns_count` integer
  - `users` object[]
    - `user_id` string
    - `residency` string
    - `reportable` boolean
  - `transactions` object[]
    - `tx_id` string
    - `type` string
    - `amount_usd` number
    - `reportable` boolean
    - `reason` string

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
