Overview

Transaction fees represent the dollar costs of executing operations on blockchain networks. By measuring transaction fees, we can understand the demand for resources on the network and the incentives that drive user behavior. Gas fee calculations are more complex than they may seem at first glance. This is because different networks have different fee structures, and some even have multiple components to their fees. We are aggregating the data from multiple sources to provide a comprehensive view of the fees paid for each network.

You can explore the daily gas fee data via metrics.gas_fees_daily

EVM Networks

For EVM networks, we have developed a unified model to calculate transaction fees consistently across different types of chains. The data is accessible through the gas.fees table, which standardizes the fee components into l1_fee, base_fee, and priority_fee. This model elegantly unifies the fee structures of rollups, L1s, and L2s, providing a coherent view of gas costs across the EVM ecosystem. However, it’s important to note that the specific fee components and their calculations may vary depending on the unique characteristics and design choices of each network. You can find the fee components for each network below.

Arbitrum uses a custom L1/L2 fee model that ignores priority fees (tips) in calculations and uses effective_gas_price instead of standard gas_price. This helps account for the actual costs of posting data to the L1 chain.

-- Two component fee structure
l1_fee = gas_used_for_l1 * effective_gas_price
base_fee = (gas_used - gas_used_for_l1) * effective_gas_price

Non-EVM Networks

For non-EVM networks we haven’t yet found a consistent way to model the fee structure, so we are not yet able to provide a unified model for non-EVM networks. However all the data is included in the metrics.gas_fees_daily table.

Solana

Solana has two “types” of transactions: transactions and votes. We track the fees for each type separately in gas_solana.tx_fees and gas_solana.vote_fees.

Solana uses a custom fee structure with a base fee and an optional prioritization fee for transactions. The base fee is calculated based on the number of signatures required for the transaction, while the prioritization fee depends on the compute unit price and compute budget limit.

-- Two component fee structure
base_fee = # of signatures * 0.000005
priority_fee = compute_unit_price * compute_budget_limit

This data is standardized in gas_solana.tx_fees.

We consider both gas_solana.tx_fees and gas_solana.vote_fees when calculating the total transaction fees for solana in metrics.gas_fees_daily.

Bitcoin

Bitcoin uses a simple fee structure where each transaction has a fee paid to the miner. Miners pick the transactions with the highest fees to include in the next block.

-- Single component fee structure
fee = fee