Crypto Fundamentals

Gas Fees for Accountants

Gas fees explained for accountants — Ethereum EIP-1559 base fee and priority fee mechanics, gas costs across L1 and L2 networks, fee classification as operating expense or cost basis adjustment, failed transaction handling, and gas fee reconciliation.

Updated

Gas fees are the network computation costs paid in a blockchain’s native token — ETH on Ethereum, SOL on Solana, POL on Polygon — for executing and confirming on-chain transactions. Every on-chain transaction consumes gas, and the resulting fee requires an accounting policy decision: classify it as an operating expense, a cost basis adjustment, or a proceeds reduction. This classification directly affects realized gain/loss calculations and cost basis tracking across the portfolio. Gas fees are a core knowledge domain for finance teams because gas costs appear on every on-chain record the crypto subledger processes.

Gas costs vary by 3 orders of magnitude across networks: $5-50 per transaction on Ethereum mainnet, $0.05-0.50 on Layer 2 networks such as Arbitrum and Base, and $0.001-0.01 on Solana (as of March 2026). The fee model, denomination token, and settlement mechanics differ per network — all of which affect how the subledger records, classifies, and reconciles gas expenses.

What Are Gas Fees and How Do They Work?

Gas fees are payments to network validators for processing and confirming on-chain transactions, a core concept within crypto fundamentals for finance teams. Fees are denominated in the blockchain’s native token and calculated by multiplying the gas units consumed by the gas price per unit at the time of execution.

The core formula applies across all EVM-compatible networks:

Gas Fee = Gas Units Used × Gas Price per Unit

A simple ETH transfer consumes 21,000 gas units. A token swap on Uniswap consumes 150,000-300,000 gas units. A complex DeFi interaction with multiple smart contract calls consumes 500,000+ gas units. The gas price per unit fluctuates based on network demand.

Ethereum’s EIP-1559 Fee Model

Ethereum’s EIP-1559 upgrade (August 2021) restructured the gas fee into 2 components:

  1. Base fee — Algorithmically adjusted by the protocol based on network congestion. The base fee increases when blocks are more than 50% full and decreases when blocks are less than 50% full. The base fee is burned (permanently destroyed), not paid to any party.

  2. Priority fee (tip) — A voluntary fee paid directly to the block producer (validator) to incentivize transaction inclusion. Higher tips result in faster inclusion during congestion periods.

The total Ethereum gas fee = Gas Units × (Base Fee + Priority Fee).

How Do Gas Costs Differ Across Blockchain Networks?

Gas costs differ across blockchain networks by 100-5,000× depending on the network architecture, consensus mechanism, and fee model — a cost differential that directly impacts the operating expense line for organizations with high on-chain transaction volume.

NetworkNative TokenTypical Cost (March 2026)Fee ModelSettlement
Ethereum L1ETH$5 – $50EIP-1559 (base + priority)~12 seconds
ArbitrumETH$0.10 – $0.50L2 execution + L1 data posting~1 second
BaseETH$0.05 – $0.30L2 execution + EIP-4844 blob data~2 seconds
Polygon PoSPOL$0.01 – $0.10Fixed gas price model~2 seconds
SolanaSOL$0.001 – $0.01Compute units + priority fee~400ms

Layer 2 networks (Arbitrum, Base, Optimism) achieve lower costs by batching hundreds of transactions into a single proof posted to Ethereum L1. The L2 transaction fee has 2 components: the L2 execution cost (computation on the rollup) and the L1 data posting cost (publishing transaction data to Ethereum for security). EIP-4844 (March 2024) introduced blob data, reducing L1 posting costs by 10-100× for rollups that adopted it.

How Should Gas Fees Be Classified in Accounting?

Gas fee classification depends on the underlying transaction type — the gas fee inherits its accounting treatment from the economic event it enables, following the principle that transaction costs attach to the transaction they facilitate.

Three classification approaches apply depending on the transaction context:

1. Cost Basis Adjustment

Gas paid on an acquisition transaction increases the cost basis of the acquired asset. The gas fee is capitalized into the asset’s carrying value, not expensed immediately. This treatment applies to:

  • Purchasing crypto on a DEX (gas increases the cost basis of the acquired token)
  • Minting an NFT (gas is part of the total acquisition cost)
  • Providing liquidity to a DeFi pool (gas increases the cost basis of the LP token)

2. Proceeds Reduction

Gas paid on a disposal transaction reduces the net proceeds from the sale, decreasing the realized gain or increasing the realized loss. This treatment applies to:

  • Selling crypto on a DEX (gas reduces net sale proceeds)
  • Swapping tokens (gas reduces proceeds on the disposal leg)

3. Operating Expense

Gas paid on non-trade transactions is recorded as a network fee expense in the income statement. This treatment applies to:

  • Transferring crypto between wallets owned by the same entity
  • Staking and unstaking transactions
  • Token approvals (ERC-20 approve calls)
  • Governance votes and contract interactions with no economic exchange
Transaction TypeGas Fee TreatmentAccount
Purchase (fiat → crypto via DEX)Added to cost basisDigital Asset Holdings
Sale (crypto → fiat via DEX)Deducted from proceedsReduces Realized Gain
Swap (crypto → crypto)Split: cost basis (buy leg) + proceeds reduction (sell leg)Both legs
Transfer (same entity)Operating expenseNetwork Fee Expense
Staking (lock / unlock)Operating expenseNetwork Fee Expense
Approval (ERC-20 approve)Operating expenseNetwork Fee Expense
Mint (NFT or LP token)Added to cost basisDigital Asset Holdings
Token swap gas fee: 0.005 ETH ($20) on swap of 1 ETH → 4,000 USDC (ETH cost basis: $2,500)
Account Debit Credit
USDC Holdings $3,980
Realized Gain on Crypto $20
ETH Holdings (1.005 ETH disposed) $2,510
Realized Gain on Crypto $1,490

In the journal entry above, the 0.005 ETH gas fee ($20) reduces the net proceeds from $4,000 to $3,980. The realized gain decreases from $1,500 (without gas) to $1,490 (with gas as proceeds reduction). An alternative policy treats the $20 as a separate network fee expense — both approaches are acceptable if applied consistently.

What Happens When a Transaction Fails but Gas Is Still Consumed?

Failed transactions consume gas but produce no economic event — the gas fee is recorded as an operating expense (network fee expense) or a loss because no asset was acquired, disposed of, or transferred. The blockchain charges gas for the computational work attempted, regardless of whether the transaction succeeded.

Common causes of failed transactions include:

  • Slippage exceeding tolerance — DEX swaps revert when the price moves beyond the user’s slippage setting
  • Insufficient token balance — The contract call fails because the wallet lacks the required token amount
  • Contract reverts — Smart contract logic conditions are not met (e.g., sale has ended, allowlist check fails)
  • Front-running — Another transaction executes first, changing the contract state and causing the original transaction to revert
Failed transaction: 0.01 ETH ($40) gas consumed, transaction reverted
Account Debit Credit
Network Fee Expense $40
ETH Holdings $40

Failed transactions require explicit handling in the subledger because blockchain explorers record them with a “reverted” or “failed” status. The gas consumed on a failed transaction is a real cost — the ETH leaves the wallet — but the intended economic event (swap, mint, transfer) never occurred. Organizations with active DeFi operations may accumulate $500-5,000 per quarter in failed transaction gas costs, making this a non-trivial expense category.

How Are Gas Fees Reconciled?

Gas fee reconciliation compares the gas amount recorded by the data source (exchange API, custody platform, or subledger) against the actual gas consumed on-chain, resolving discrepancies from rounding differences, fee estimation errors, and missing failed transactions.

The gas fee reconciliation process validates 3 data points per on-chain transaction:

  1. Gas units consumed — The actual computation used by the transaction (gasUsed field in the transaction receipt)
  2. Gas price at execution — The effective gas price paid, including base fee and priority fee (effectiveGasPrice field)
  3. Resulting fee in native token — Gas units × gas price, denominated in the network’s native token (ETH, SOL, POL)

Reconciliation Steps

  1. Extract on-chain gas data — Read gasUsed and effectiveGasPrice from each transaction receipt via the blockchain node or explorer API
  2. Compare against subledger records — Match each transaction’s recorded gas fee against the on-chain value using the transaction hash as the matching key
  3. Flag discrepancies — Transactions where the recorded gas fee deviates from the on-chain gas fee by more than the tolerance threshold (typically 0.1%) are flagged for review

Common Discrepancy Sources

SourceCauseResolution
RoundingDifferent decimal precision between systemsApply consistent rounding policy
Missing failed transactionsData source excludes reverted transactionsEnable failed transaction ingestion
L2 fee componentsL1 data posting fee not captured separatelyUse L2-specific receipt fields
Gas token priceFMV of ETH/SOL at execution time differs between sourcesStandardize price oracle source

Gas reconciliation applies exclusively to on-chain transactions originating from non-custodial wallets and DEX trades. Centralized exchange transactions (internal order book trades) have zero gas fees — the exchange absorbs network costs and charges trading fees separately. Exchange fee reconciliation covers the CEX-specific fee structures.

Automate Your Crypto Accounting

Coincile handles data collection, reconciliation, cost basis tracking, and journal entry generation — so finance teams close faster with fewer errors.