Updated 2025-05-06
    WITH prices AS (
    SELECT
    DATE_TRUNC('{{granularity}}', HOUR) AS date,
    AVG(PRICE) AS avg_price
    FROM aptos.price.ez_prices_hourly
    WHERE TOKEN_ADDRESS = '0x1::aptos_coin::AptosCoin'
    GROUP BY DATE_TRUNC('{{granularity}}', HOUR)
    ),
    first_tx AS (
    SELECT
    IFF(direction = 'inbound', RECEIVER, SENDER) AS user,
    MIN(block_timestamp) AS first_activity
    FROM aptos.defi.ez_bridge_activity
    GROUP BY 1
    )

    SELECT
    DATE_TRUNC('{{granularity}}', b.block_timestamp) AS date,
    b.platform,
    SUM(b.AMOUNT_IN_USD) AS volume,
    COUNT(DISTINCT b.TX_HASH) AS bridges,
    COUNT(DISTINCT IFF(b.direction = 'inbound', b.RECEIVER, b.SENDER)) AS users,
    COUNT(DISTINCT b.TOKEN_ADDRESS) AS tokens_bridged,
    SUM(b.AMOUNT_IN_USD) / COALESCE(NULLIF(COUNT(DISTINCT b.TX_HASH), 0), 1) AS avg_vol_per_tx,
    COUNT(DISTINCT b.TX_HASH) / COALESCE(NULLIF(COUNT(DISTINCT IFF(b.direction = 'inbound', b.RECEIVER, b.SENDER)), 0), 1) AS avg_bridges_per_user,

    SUM((t.gas_used * t.gas_unit_price) / 1e8) AS bridging_fees_apt,

    SUM((t.gas_used * t.gas_unit_price) / 1e8 * p.avg_price) AS bridging_fees_usd,

    COUNT(DISTINCT CASE WHEN f.first_activity >= DATE_TRUNC('{{granularity}}', b.block_timestamp) THEN f.user END) AS new_users,

    COUNT(DISTINCT CASE WHEN f.first_activity < DATE_TRUNC('{{granularity}}', b.block_timestamp) THEN f.user END) AS returning_users

    FROM aptos.defi.ez_bridge_activity b
    LEFT JOIN aptos.core.fact_transactions t
    Last run: 26 days ago
    DATE
    PLATFORM
    VOLUME
    BRIDGES
    USERS
    TOKENS_BRIDGED
    AVG_VOL_PER_TX
    AVG_BRIDGES_PER_USER
    BRIDGING_FEES_APT
    BRIDGING_FEES_USD
    NEW_USERS
    RETURNING_USERS
    1
    2025-02-05 00:00:00.000layerzero14655690.3280864437290533537.048805691.5068970.0770960.470542586799191
    2
    2025-02-05 00:00:00.000wormhole45438.681141877251691817.5472456751.56250.0075150.04586655016
    3
    2025-02-06 00:00:00.000wormhole298724.777456528311579636.2831437592.0666670.0080620.047827815312
    4
    2025-02-06 00:00:00.000mover0.25134879321110.251348793210.0004330.002568772501
    5
    2025-02-06 00:00:00.000layerzero9671767.552598142153200054492.2283105431.07650.9684925.745578791769231
    6
    2025-02-07 00:00:00.000wormhole7937.15481898628187283.4698149641.5555560.0080720.04736582333018
    7
    2025-02-07 00:00:00.000layerzero561677.8056346356015306934.5720559641.1339620.2040811.197530301349181
    8
    2025-02-08 00:00:00.000layerzero3250432.4533950836525158905.2943928631.4541830.0399260.226363784239212
    9
    2025-02-08 00:00:00.000mover0.21911846582210.109559232910.0008660.00490985916702
    10
    2025-02-08 00:00:00.000wormhole20043.065541308302311668.102184711.3043480.0096290.05459241792221
    11
    2025-02-09 00:00:00.000wormhole121670.569283413251694866.8227713371.56250.0085080.049931325115
    12
    2025-02-09 00:00:00.000layerzero3942368.3299286261249156441.7783168771.2464360.144130.8458629375223268
    13
    2025-02-10 00:00:00.000celer_cbridge1452.8060541111452.80605410.0004390.00268375333301
    14
    2025-02-10 00:00:00.000layerzero7257695.03042846514412514120.0292420791.2475730.1169820.71514996175237
    15
    2025-02-10 00:00:00.000wormhole14547.330999655412213354.8129512111.8636360.0168610.1030769133418
    16
    2025-02-11 00:00:00.000layerzero2886328.4150831796384152997.2257685181.1450650.3739012.290143625661180
    17
    2025-02-11 00:00:00.000wormhole14031.77265074535229400.9077900211.5909090.0092560.056693319
    18
    2025-02-12 00:00:00.000wormhole10924.13617133232209341.3792553541.60.0161450.09597529792218
    19
    2025-02-12 00:00:00.000celer_cbridge94.2907686811194.2907686810.0004390.00260967208301
    20
    2025-02-12 00:00:00.000layerzero754584.948402363407838535185.0379961751.0583962.12805912.6504240643631222
    ...
    208
    23KB
    116s