Documentation Index
Fetch the complete documentation index at: https://docs.dune.com/llms.txt
Use this file to discover all available pages before exploring further.
Table description
Thestarknet.transactions table contains information about all transactions on the Starknet blockchain, including both user-initiated and system transactions. Transactions are the actions that modify the state of the blockchain, such as transfers of tokens or the execution of smart contracts. Each transaction is uniquely identified and linked to the block in which it was included.
Table Schema
| Column | Type | Description |
|---|---|---|
block_date | DATE | The date of the block containing this transaction (UTC) |
block_time | TIMESTAMP | The timestamp of the block containing this transaction |
block_number | BIGINT | The sequential number of the block containing this transaction |
block_l1_da_mode | VARCHAR | Layer 1 data availability mode (BLOB or CALLDATA) |
block_l1_data_gas_price_in_fri | UINT256 | L1 data gas price in fri (STRK) for the block |
block_l1_data_gas_price_in_wei | UINT256 | L1 data gas price in wei (ETH) for the block |
block_l1_gas_price_in_fri | UINT256 | L1 gas price in fri (STRK) for the block |
block_l1_gas_price_in_wei | UINT256 | L1 gas price in wei (ETH) for the block |
block_l2_gas_price_in_fri | UINT256 | L2 gas price in fri (STRK) for the block |
block_l2_gas_price_in_wei | UINT256 | L2 gas price in wei (ETH) for the block |
block_starknet_version | VARCHAR | The Starknet protocol version of the block |
fee_data_availability_mode | VARCHAR | Storage domain for fee payment (L1 or L2) |
index | INTEGER | Position of this transaction within the block |
max_fee | UINT256 | Maximum fee the sender is willing to pay (pre-v3 transactions) |
nonce | INTEGER | Sender’s transaction sequence number to prevent replays |
nonce_data_availability_mode | VARCHAR | Storage domain for the account nonce (L1 or L2) |
resource_bounds_l1_gas_max_amount | UINT256 | Maximum L1 gas amount the sender is willing to consume (v3+) |
resource_bounds_l1_gas_max_price_per_unit | UINT256 | Maximum price per unit of L1 gas the sender will pay (v3+) |
resource_bounds_l1_data_gas_max_amount | UINT256 | Maximum L1 data gas amount the sender is willing to consume (v3+) |
resource_bounds_l1_data_gas_max_price_per_unit | UINT256 | Maximum price per unit of L1 data gas the sender will pay (v3+) |
resource_bounds_l2_gas_max_amount | VARBINARY | Maximum L2 gas amount the sender is willing to consume (v3+) |
resource_bounds_l2_gas_max_price_per_unit | VARBINARY | Maximum price per unit of L2 gas the sender will pay (v3+) |
tip | UINT256 | Optional tip paid to the sequencer for priority (v3+) |
type | VARCHAR | Transaction type (INVOKE, L1_HANDLER, DECLARE, DEPLOY_ACCOUNT, DEPLOY) |
version | INTEGER | Transaction version number |
actual_fee_amount | UINT256 | Actual fee charged for this transaction |
actual_fee_unit | VARCHAR | Unit of the actual fee (WEI for ETH, FRI for STRK) |
execution_resources_bitwise_builtin_applications | INTEGER | Number of bitwise builtin applications consumed |
execution_resources_data_availability_l1_gas | UINT256 | L1 gas consumed for data availability |
execution_resources_data_availability_l1_data_gas | UINT256 | L1 data gas consumed for data availability |
execution_resources_data_availability_l2_gas | UINT256 | L2 gas consumed for data availability |
execution_resources_ec_op_builtin_applications | INTEGER | Number of elliptic curve operation builtin applications consumed |
execution_resources_ecdsa_builtin_applications | INTEGER | Number of ECDSA builtin applications consumed |
execution_resources_keccak_builtin_applications | INTEGER | Number of Keccak builtin applications consumed |
execution_resources_memory_holes | INTEGER | Number of memory holes in the execution trace |
execution_resources_pedersen_builtin_applications | INTEGER | Number of Pedersen hash builtin applications consumed |
execution_resources_poseidon_builtin_applications | INTEGER | Number of Poseidon hash builtin applications consumed |
execution_resources_range_check_builtin_applications | INTEGER | Number of range check builtin applications consumed |
execution_resources_segment_arena_builtin | INTEGER | Number of segment arena builtin applications consumed |
execution_resources_steps | INTEGER | Total number of Cairo VM steps executed |
execution_status | VARCHAR | Final execution status of the transaction |
finality_status | VARCHAR | Finality status (ACCEPTED_ON_L1 or ACCEPTED_ON_L2) |
receipt_type | VARCHAR | Type of the transaction receipt |
block_hash | VARBINARY | Hash of the block containing this transaction |
block_new_root | VARBINARY | New global state root after the block |
block_parent_hash | VARBINARY | Hash of the preceding block |
block_sequencer_address | VARBINARY | Address of the sequencer that produced the block |
calldata | ARRAY(VARBINARY) | Input data for the transaction’s function call |
class_hash | VARBINARY | Class hash of the declared or deployed contract |
compiled_class_hash | VARBINARY | Compiled class hash (for DECLARE v2+ transactions) |
constructor_calldata | ARRAY(VARBINARY) | Constructor arguments (for DEPLOY_ACCOUNT transactions) |
contract_address | VARBINARY | Address of the contract involved in this transaction |
contract_address_salt | VARBINARY | Salt used for contract address computation (for deployments) |
entry_point_selector | VARBINARY | Selector identifying the invoked function entry point |
hash | VARBINARY | Unique hash identifying this transaction |
sender_address | VARBINARY | Address of the account that sent this transaction |
signature | ARRAY(VARBINARY) | Cryptographic signature of the transaction |
message_hash | VARBINARY | Hash of the L1-to-L2 message (for L1_HANDLER transactions) |
messages_sent | ARRAY(ROW(FROM_ADDRESS VARBINARY, PAYLOAD VARBINARY, TO_ADDRESS VARBINARY)) | L2-to-L1 messages sent by this transaction |
revert_reason | VARCHAR | Reason for transaction failure, if it reverted |
transaction_hash | VARBINARY | Hash of this transaction (same as hash) |
- Prior to v3 transactions upgrade, fees are denominated in
weias users pay gas with ETH. For transactions v3 and later, fees are denominated infrias users pay gas with STRK. Hence here you can see two gas types of gas fields, one forweiand one forfri. - Starting with Starknet v0.13.1, Starknet distinguishes between blocks whose state diffs are sent to L1 as calldata and blocks whose state diffs are sent to L1 as blobs. The
l1_da_modeproperty in the Starknet block header contains this information. Values possible areBLOBorCALLDATA. - The
typefields denotes different types of transactions supported by Starknet. Possible values are:INVOKE,L1_HANDLER,DECLARE,DEPLOY_ACCOUNT, andDEPLOY. - The
fee_data_availability_modefield denotes the storage domain of the account’s balance from which fee will be charged. It can be one of ‘L1’ or ‘L2’ - The
block_statushas possible valuesACCEPTED_ON_L1orACCEPTED_ON_L2. Read here to learn more about different transaction status. - The
actual_feehas the actual fee paid for the transaction, to be used together withactual_fee_unit.