Fees and gas: tax classification and treatment
A fee payment covers network gas or a protocol charge. It is classified as expense: a cost of executing the transaction, deductible or capitalizable depending on the taxpayer’s activity, and itself a disposition of the asset used to pay it.
Example last verified 2026-09-10 against the live engine. CryptoTaxEdge Team.
Tax treatment
House treatment: expense for fee_payment.
This mapping comes from the closed CryptoTaxEdge classification taxonomy: every verdict resolves to one category and one of five treatments (disposal, income, non_taxable, expense, needs_review), with a confidence score and review routing when sources disagree.
How the engine reads this shape
Gas has a double character that trips up exported books. Paying a fee in ETH disposes of that ETH at its fair market value, a small §1001 event, and the same value is then a §162 business expense, a §263 capitalizable cost added to basis, or a nondeductible personal expense depending on the client’s activity classification. Transactions whose only economic content is a fee, like failed interactions or governance votes, classify cleanly as fee payments; fees attached to substantive transactions ride along with the primary category.
A real classification
{
"api_version": "v1",
"hash": "0x083b0d0188065e739d3ed4fb88839ffd8c4e24b3d722e420f9ab43bb5b6d3a4f",
"chain": "ethereum",
"category": "fee_payment",
"treatment": "expense",
"taxable": false,
"confidence": 99,
"needs_review": false,
"ledger_action": "Fee",
"protocol": "ERC-20 Approve",
"description": "Network/protocol fee payment; a deductible expense where applicable.",
"review_note": null,
"grey_area": null,
"assets": {
"sent": [],
"received": [],
"gas": null
}
}
Verbatim /v1 shape from the live classify-by-hash probe 2026-09-10 (assert: review_note is null; gas is null per GAP-8). Token approval: only the network fee left the wallet. House treatment is expense. Check any transaction yourself in the Classification Explorer.
Verified rules behind this category
The engine backs this category with 63 verified contract-level rules across 6 chains, each earned from repeated on-chain observation and cross-source agreement rather than a heuristic guess. A small illustrative sample:
| Protocol | Chain | Category | Confidence |
|---|---|---|---|
| multiple | ethereum | fee_payment | high |
| multiple | optimism | fee_payment | high |
| multiple | arbitrum | fee_payment | high |
| multiple | bsc | fee_payment | high |
| OpenSea Seaport | base | fee_payment | high |
Illustrative sample of the 63 verified rules behind this page: the full mappings are served through the API.
Limitations
What this page does not decide. The engine reports the fee event; choosing between expensing and capitalizing is the preparer’s call based on trader, investor, or business status. Fee rows are identification-grade output and never manufacture income. Confidence is a corroboration signal, not an accuracy percentage: when independent parses of a transaction disagree, the engine returns needs_review with taxable: null rather than guessing.
Frequently asked questions
What tax treatment does this page document?
House treatment follows the CryptoTaxEdge Classification Standard. Categories with no fixed mapping (GAP-3) tell you to read the treatment field on the record rather than infer it from the category name.
Where is the closed vocabulary published?
The versioned Classification Standard at https://cryptotaxedge.com/standard/ enumerates emitted categories and the five-treatment enum. This encyclopedia page is a worked example on top of that Standard.
Are the wire examples still current?
Yes. Each example is verbatim engine output, re-verified on a daily replay against the live engine.
Not tax advice. CryptoTaxEdge is software, not a licensed tax advisor. Classifications and the treatments described here are informational only; verify results and consult a qualified tax professional before filing. IRC section references are general framing.