-- 24-hour network health summary
WITH hourly_stats AS (
SELECT
block_timestamp_hour,
transaction_count,
transaction_count_success,
transaction_count_failed,
ROUND(100.0 * transaction_count_success / NULLIF(transaction_count, 0), 2) AS success_rate,
total_fees_native,
total_fees_usd,
unique_from_count AS active_users,
block_count,
ROUND(transaction_count::FLOAT / NULLIF(block_count, 0), 2) AS avg_tx_per_block
FROM <blockchain_name>.stats.ez_core_metrics_hourly
WHERE block_timestamp_hour >= CURRENT_TIMESTAMP - INTERVAL '24 hours'
)
SELECT
COUNT(*) AS hours_of_data,
SUM(transaction_count) AS total_transactions,
AVG(success_rate) AS avg_success_rate,
SUM(total_fees_usd) AS total_fees_usd_24h,
SUM(active_users) AS unique_active_addresses,
AVG(avg_tx_per_block) AS avg_tx_per_block_24h,
MAX(transaction_count) AS peak_hourly_transactions,
MIN(block_count) AS min_blocks_per_hour,
MAX(block_count) AS max_blocks_per_hour
FROM hourly_stats;