Verify caller labels
verify_batchVerify a batch of caller-assigned transaction labels (up to 100) against CryptoTaxEdge's deterministic classification basis: rules, the verified cache and the answer guards, with no model call. Returns per row a verdict (agree, disagree, unverifiable), the engine's cte_category, cte_treatment and cte_taxable when known, confidence (a routing signal, not an accuracy claim), evidence (the checks run: label mapping, basis, legs vs on-chain transfers, label vs token flows, protocol registry, taxability, calibration), a suggested_fill and a machine-readable dispute (dispute_id, failed check, evidence, how to contest, review_sla_hours) on disagree, and a reason with fill_available on unverifiable. A row with no deterministic basis is unverifiable and free; pass fill=true on that row to run the classification engine on it (that row is then a fill). Labels are read in the Standard vocabulary (https://cryptotaxedge.com/standard/#categories), the served ledger-action labels, and the Koinly and CoinTracker export vocabularies; an unmapped label is unverifiable (label_unmapped), never best-effort matched. Verify does not decide tax treatment beyond the published Standard and does not file.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"rows": "<rows>"
},
"name": "verify_batch"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fill | No | (Optional, default false) default for rows that do not set fill. | |
| rows | Yes | Rows to verify (max 100 per call). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| metered | No | ||
| results | Yes | ||
| latency_ms | No |