The crypto tax API that returns the tax treatment
Most APIs marketed for crypto taxes return transaction data — balances, transfers, decoded calls — and leave the tax determination to you. CryptoTaxEdge returns the determination itself: from one transaction hash, the canonical category, the US tax treatment, a confidence score, and an honest review flag when the answer genuinely needs a human.
One call
POST https://app.cryptotaxedge.com/v1/classify
{ "chain": "ethereum", "hash": "0x4935…e18c" }
200 OK
{
"api_version": "v1",
"category": "swap",
"treatment": "disposal",
"taxable": true,
"confidence": 95,
"needs_review": false,
"ledger_action": "Trade",
"protocol": "OpenSea Seaport",
"grey_area": null,
"assets": { "sent": […], "received": […] }
}
Chain detection is automatic when you enter just a hash. A batch endpoint (POST /v1/classify-batch, up to 100 hashes) and a read-only GET /quota-status round out the surface. Errors carry proper HTTP semantics — 404 tx_not_found, 402 quota_exceeded, 429 rate_limited — and an upstream failure is a 502, never shipped as a classification.
Data API vs. determination API
The distinction that matters when you evaluate this category:
| Transaction-data APIs | CryptoTaxEdge |
|---|---|
| Return decoded activity: balances, transfers, method calls | Returns the tax determination: category + treatment + taxable |
| Tax logic is your team's problem, protocol by protocol | 14,000+ verified protocol rules across 80+ chains, applied for you |
| One data source's view of the transaction | Multiple independent sources reconciled by a patent-pending consensus engine |
| Ambiguity surfaces as your bug, in production | Ambiguity surfaces as needs_review with taxable: null, by design |
Both layers are legitimate infrastructure — you may well use a data API elsewhere in your stack. This one exists so the tax layer is a call, not a roadmap.
Honest by design
The engine routes to review rather than guessing. Confidence is a corroboration signal (full source agreement scores 95+, disagreement routes to review), and genuinely contested treatments — LP deposits, wrapping, liquid staking — return a documented house position and the alternative in the grey_area block, configurable per firm. CryptoTaxEdge describes positions and their basis; it does not assert a filing position for any taxpayer.
The full category and treatment set is a closed enum, published at /taxonomy, and every response validates against the published classification record schema. Want proof before you integrate? verbatim wire captures — including the honest deferrals — are published and replayed against the live engine nightly.
MCP, for AI agents
The same engine is exposed as an MCP server at mcp.cryptotaxedge.com: connect it to Claude Desktop or any MCP-capable agent and classification becomes a tool call, with identical wire values to the API. Agents get the same honesty contract — a review flag instead of a hallucinated treatment.
Pricing
| Tier | Price | Included |
|---|---|---|
| Developer | $0 | 250 billable transactions/month; full API + MCP + Explorer, no card required |
| Pro | $249/month | 25,000 billable transactions, then $0.012 each; REST + MCP keys, webhooks |
| Platform | $999/month | 120,000 billable transactions, then $0.012 each; priority support, top rate limits |
| Enterprise | Contact us | 250,000+ committed volume, rates below a penny; SLA, white-label and resale rights |
You pay only for tax classifications. Identification is always free: plain transfers come back with the counterparty named, and approvals, spam, failed rows, and every repeat never count against your pool. Accounting firms have a separate door — the Firm plan — with seats and no metered billing.
Questions, higher volume, or an integration that does not fit the grid: hello@cryptotaxedge.com.
Not tax advice. CryptoTaxEdge is software, not a licensed tax advisor. Classifications are informational only. Verify results and consult a qualified tax professional before filing. IRC section references are provided as general framing.