---
title: "PAID $0.50 — provenanced tax reconciliation for one wallet and tax year"
method: GET
path: "/api/paid/tax-reconciliation"
tags: ["payments", "paid"]
---

# PAID $0.50 — provenanced tax reconciliation for one wallet and tax year

`GET /api/paid/tax-reconciliation`

## Request

- Base URL: `https://www.flarewatch.io`
- URL: `https://www.flarewatch.io/api/paid/tax-reconciliation`
- Auth: none declared

A per-event ledger where every line states the RULE that classified it, the evidence that rule matched, and the dated RATE that valued it. Each event is valued at the published rate for its OWN date, not a single rate for the year. The fiat total is WITHHELD rather than estimated if any income event cannot be honestly valued — token amounts, which are chain facts, are returned regardless. A reconstruction with its workings shown; not tax advice and not a determination.

## Query parameters

- `address` string, required
- `year` integer, required

## Response `200`

Reconciliation document plus the full per-event ledger.

- TaxReconciliation: A reconciliation document plus its per-event ledger. The headline is a discriminated union: a figure always arrives with the basis that justifies it, or it is withheld with a reason — there is no variant that yields a bare number.
  - `tax_year` integer
  - `paid_via` 'exact' | 'credits'
  - `document` object
    - `wallet` string
    - `period` object, nullable
    - `headline` object: kind=stated carries value+basis; kind=withheld carries reason+insteadUse; kind=none is a real zero.
    - `amounts` object: Per-token income AMOUNTS. Chain facts — present even when the fiat total is withheld.
    - `statement` object: What this document is and is not. Always present.
    - `gaps` string[]
  - `lines` object[]: Per-event ledger; each line carries ruleId, ruleEvidence and a dated valuation.
  - `rate_coverage` object: Published rate bounds, so a caller can predict a withheld total.

## Other responses

- `400`: Bad address or year — only reachable once payment has been presented.
- `402`: Payment required — spec-shaped terms, returned regardless of query params.
- `429`: Rate limited — structured error + RateLimit headers.

---

[API](https://skmtc.dev/flarewatch/apis/flarewatch-public-api.md) · [All operations](https://skmtc.dev/flarewatch/apis/flarewatch-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/flarewatch/apis/flarewatch-public-api/revisions/890e7013afdb?raw)
