Transactions
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.
Several columns may only be applicable for specific EVM-compatible blockchains. The list of columns present in the table is not exhaustive.
Calculating Transaction Fees
For transactions on Base, the total transaction fee consists of two main components:
-
L2 Fee:
-
Total L2 Fee = Base Fee + Priority Fee
- Note:
(receipt_effective_gas_price * receipt_gas_used) / 10^18
ETH combines both base fee and priority fee components
- Note:
-
Base Fee:
(block.base_fee_per_gas * receipt_gas_used) / 10^18
ETH- Requires join with blocks table on
block_number
: see example query.
- Requires join with blocks table on
-
Priority Fee: L2 fee - base fee:
receipt_effective_gas_price - (block.base_fee_per_gas * receipt_gas_used) / 10^18
ETH
-
-
L1 Fee:
-
Given directly by
receipt_l1_fee / 10^18
ETH -
This represents the cost of posting transaction data to Ethereum mainnet
-
The total transaction fee is the sum of all components: L2 Fee (Base Fee + Priority Fee) + L1 Fee
Example query to calculate all fee components.
Table Columns
Unique Key: hash
Column Name | Description |
---|---|
block_number | The length of the chain, in blocks. |
block_timestamp | The time when the block that contains this transaction was included on the blockchain. |
block_hash | Unique identifier of the block that includes this transaction. |
hash | Unique identifier of a transaction. |
nonce | The transaction nonce, unique to the wallet. |
transaction_index | The position of this transaction in the block that it belongs to. The first transaction has index 0. |
from_address | The address of the sending party of this transaction. |
to_address | The address of the receiving party of this transaction (could be a contract address). |
value | The amount of ether sent in this transaction, in wei. |
gas | The maximum amount of gas allocated for this transaction in wei. |
gas_price | Cost per unit of gas specified by the transaction in wei. The higher the gas price, the higher chance of getting included in a block. |
input | The data send along with the transaction. |
max_fee_per_gas | The maximum fee per gas that the transaction sender is willing to pay for this transaction (introduced in EIP1559). |
max_priority_fee_per_gas | The maximum fee per gas the transaction sender is willing to give to validators (Proof of Stake) or miners (Proof of Work) to incentivize them to include their transaction (introduced in EIP1559). |
receipt_cumulative_gas_used | The total amount of gas used when this transaction was executed in the block. |
receipt_gas_used | The amount of gas consumed by this specific transaction. Used in fee calculations for L2 base fees: (block.base_fee_per_gas * receipt_gas_used) / 10^18 . requires join with blocks table: see example query |
receipt_l1_gas_used | The amount of L1 gas used by this transaction. |
receipt_l1_gas_price | The L1 gas price for this transaction. |
receipt_l1_fee | The L1 fee charged for this transaction in wei (divide by 10^18 for ETH). This represents the cost of posting transaction data to L1 and is added to L2 fees to get total transaction fees. |
receipt_l1_fee_scalar | The scalar value used to calculate L1 fees. |
receipt_effective_gas_price | The actual price paid per unit of gas for this transaction. Used to calculate L2 fees as: (receipt_effective_gas_price * receipt_gas_used) / 10^18 . This includes both the base fee and priority fee components. see example query |
receipt_contract_address | The contract address created, if the transaction was a contract creation, otherwise null. |
receipt_root | Transaction stateroot (pre Byzantium) |
receipt_status | Success status of the transaction. Either 1 (success) or 0 (failure). |
log_count | Number of event logs emitted in the transaction. |
transaction_type | The integer of the transaction type, 0x0 for legacy transactions, 0x1 for access list types, 0x2 for dynamic fees. |
source_hash | Hash of the source transaction. |
chain_id | The ID of the blockchain network. |
_created_at | Timestamp of the entry creation. |
_updated_at | Timestamp of the entry update. |
mint | Minting information for the transaction. |
receipt_l1_base_fee_scalar | The scalar value used to calculate L1 base fees. |
receipt_l1_blob_base_fee | The L1 blob base fee for this transaction. |
receipt_l1_blob_base_fee_scalar | The scalar value used to calculate L1 blob base fees. |
access_list | List of addresses and storage keys that the transaction plans to access. |
y_parity | The parity of the y-coordinate of the ECDSA signature. |