Skip to main content
Transactions are cryptographically signed instructions from accounts. An account will initiate a transaction to update the state of the blockchain network. Transactions always originate from an externally owned account (a smart contract can not initiate a transaction). Transactions, which change the state of the EVM, need to be broadcast to the whole network. Any node can broadcast a request for a transaction to be executed on the EVM; after this happens, a validator will execute the transaction and propagate the resulting state change to the rest of the network. Learn more in the official Ethereum documentation here.
EIP-7702 Support (Live as of May 7, 2025)EIP-7702 (enabled with Ethereum’s Pectra hardfork) introduces a new transaction type (type = 4) that lets EOAs delegate execution to a contract. The authorization_list includes the delegated address, chain ID, nonce, and signature data (r, s, yParity). Allium has done the work to embed authority directly in the authorization_list, enabling identification of the delegated source — built using logic from viem.authorization_list allows you to:
  • Detect if an EOA has become a smart wallet
  • Identify the contract it delegated to
  • Determine which chain the delegation occurred on
✅ Live on: Ethereum, BSC⏳ Enabled and awaiting data: Base, Worldchain, Optimism, Polygon, Arbitrum, Unichain

Transaction Fees

For detailed metrics on transaction fees in native tokens and USD, including average transfer costs, see Metrics.
Transaction fees vary across different blockchains. Layer 1 chains typically have a single fee component, while Layer 2 chains include both L1 and L2 fees. Each chain may handle system transactions and fee calculations differently.
Layer 2 Chains with L1 + L2 Fees (Base, Mode, Scroll, Optimism, Worldchain, Unichain)The total transaction fee consists of two components:
  1. L2 Fee:
    • Total L2 Fee = Base Fee + Priority Fee
    • Note: (receipt_effective_gas_price * receipt_gas_used) / 10^18 ETH combines both components
    • Base Fee: (block.base_fee_per_gas * receipt_gas_used) / 10^18 ETH
      • Requires join with blocks table on block_number: see example query.
    • Priority Fee: L2 fee - base fee
  2. L1 Fee:
    • Given by receipt_l1_fee / 10^18 ETH
    • Represents cost of posting transaction data to Ethereum mainnet
Total Fee = L2 Fee + L1 Fee = ((receipt_gas_used * receipt_effective_gas_price) + receipt_l1_fee) / 10^18 ETHStandard EVM Chains (Arbitrum, BSC, Avalanche, Polygon zkEVM)Total Fee = (receipt_gas_used * receipt_effective_gas_price) / 1e18 ETHNote: On Arbitrum, receipt_gas_used includes both L1 and L2 fees.EthereumTotal Fee = Calldata Fee + Blob Fee (Post EIP-4844)
  • Calldata Fee = (receipt_gas_used * receipt_effective_gas_price) / 1e18 ETH
  • Blob Fee = (receipt_blob_gas_used * receipt_blob_gas_price) / 1e18 ETH (for transaction_type = 3)
PolygonTotal Fee = (receipt_gas_used * COALESCE(receipt_effective_gas_price, gas_price)) / 1e18 ETHNote: receipt_effective_gas_price values may be null, in which case gas_price is used.System TransactionsDifferent chains handle system transactions differently:
  • Base/Optimism/Scroll: Identified by receipt_l1_fee IS NULL OR receipt_l1_fee = 0
  • Polygon: Identified by gas_price IS NULL OR gas_price = 0 (e.g., State Syncs)
  • Arbitrum: Identified by transaction_type BETWEEN 100 AND 106
  • BSC: Identified by receipt_effective_gas_price IS NULL OR receipt_effective_gas_price = 0

Table Columns

Several columns may only be applicable for specific EVM-compatible blockchains. The list of columns present in the table is not exhaustive.
Unique Key: hash