Updated 2 days ago
    WITH IntentStats AS (
    SELECT
    tx_hash,
    owner_id,
    block_timestamp
    FROM near.defi.fact_intents
    WHERE receipt_succeeded = TRUE
    ),
    TotalStats AS (
    SELECT
    COUNT(DISTINCT tx_hash) AS total_intent_transactions,
    COUNT(DISTINCT owner_id) AS total_unique_users,
    COUNT(DISTINCT tx_hash)::FLOAT / COUNT(DISTINCT owner_id) AS avg_tx_per_user,
    COUNT(DISTINCT CASE WHEN block_timestamp >= CURRENT_TIMESTAMP - INTERVAL '24 hours' THEN tx_hash END) AS tx_last_24h,
    COUNT(DISTINCT CASE WHEN block_timestamp < CURRENT_TIMESTAMP - INTERVAL '24 hours' THEN tx_hash END) AS tx_prior_24h,
    COUNT(DISTINCT CASE WHEN block_timestamp >= CURRENT_TIMESTAMP - INTERVAL '24 hours' THEN owner_id END) AS users_last_24h,
    COUNT(DISTINCT CASE WHEN block_timestamp < CURRENT_TIMESTAMP - INTERVAL '24 hours' THEN owner_id END) AS users_prior_24h
    FROM IntentStats
    )
    SELECT
    total_intent_transactions AS "Total Intent Transactions",
    total_unique_users AS "Total Unique Users",
    ROUND(avg_tx_per_user, 2) AS "Avg Tx per User",
    tx_last_24h AS "Transactions Last 24h",
    ROUND(((tx_last_24h - tx_prior_24h)::FLOAT / NULLIF(tx_prior_24h, 0)) * 100, 2) AS "Tx Change % Last 24h",
    users_last_24h AS "Users Last 24h",
    ROUND(((users_last_24h - users_prior_24h)::FLOAT / NULLIF(users_prior_24h, 0)) * 100, 2) AS "User Change % Last 24h"
    FROM TotalStats;
    Last run: 2 days ago
    Total Intent Transactions
    Total Unique Users
    Avg Tx per User
    Transactions Last 24h
    Tx Change % Last 24h
    Users Last 24h
    User Change % Last 24h
    1
    2085331155618.054410-97.84683-93.95
    1
    45B
    2s