bsc.core Table: fact_blocks Type: Base Table
What
This table contains block-level data for EVM blockchains, providing a complete record of all blocks produced on the chain. Each row represents one block with its associated metadata, transactions, and gas metrics.Key Use Cases
- Analyzing gas price trends and network congestion over time
- Tracking block production rates and miner/validator performance
- Monitoring network upgrades and their impact (e.g., EIP-1559, EIP-4844)
- Calculating transaction throughput and network utilization
- Identifying uncle blocks and chain reorganizations
Important Relationships
- Join with fact_transactions: Use block_numberto analyze all transactions within a block
- Join with fact_traces: Use block_numberto examine internal transactions
- Join with fact_event_logs: Use block_numberto find all events emitted in a block
Commonly-used Fields
- block_number: Sequential identifier for blocks
- block_timestamp: UTC timestamp of block production
- gas_used: Total gas consumed by all transactions
- gas_limit: Maximum gas allowed in the block
- base_fee_per_gas: Base fee for EIP-1559 chains
- tx_count: Number of transactions in the block
- miner: Address that received block rewards
Sample queries
Columns
| Column Name | Data Type | Description | 
|---|---|---|
| BLOCK_NUMBER | NUMBER | Sequential counter representing the position of a block in the blockchain since genesis (block 0). | 
- Immutable once finalized
- Primary ordering mechanism for blockchain data
- Increments by 1 for each new block
- Used as a proxy for time in many analyses
- Set by block producer
- Can have minor variations (±15 seconds)
- Always increasing (newer blocks = later timestamps)
[{"index": 1234, "validator_index": 5678, "address": "0x123...", "amount": 1000000000}] |
| WITHDRAWALS_ROOT | TEXT | Merkle root of all withdrawals in the block.
Example: ‘0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890’ | | REQUESTS_HASH |
TEXT | | | MILLI_TIMESTAMP | TIMESTAMP_NTZ | | | FACT_BLOCKS_ID | TEXT | Primary key - unique
identifier for each row ensuring data integrity.
Format: Usually VARCHAR containing composite key generated using MD5 hash of the relevant
columns. Example: MD5(block_number, tx_hash, trace_index)
Usage:
- Deduplication in incremental loads
- Join operations for data quality checks
- Troubleshooting specific records
- Data freshness monitoring
- Incremental processing markers
- Debugging data pipeline issues
- SLA tracking