Updated 2025-04-08
    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: 18 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-01-08 00:00:00.000wormhole89409.4417210816333101419.1974876361.9090910.0221390.2041861521231
    2
    2025-01-08 00:00:00.000celer_cbridge21120.0009880.00911224166701
    3
    2025-01-08 00:00:00.000layerzero6660322.319758421349106854937.2292955961.2631090.3693573.406548831631437
    4
    2025-01-09 00:00:00.000layerzero1287822.5803174671443571803.6730816771.6413790.056370.496619729406
    5
    2025-01-09 00:00:00.000celer_cbridge14.6739480411114.6739480410.0004420.0038940201
    6
    2025-01-09 00:00:00.000wormhole33378.928551769734413457.24559661.6590910.0323540.28503874638
    7
    2025-01-10 00:00:00.000layerzero1816723.1314061262941072888.2720690081.5341460.0565820.505866655832378
    8
    2025-01-10 00:00:00.000wormhole255890.245658347643483998.2850884121.8823530.0166660.1490009842430
    9
    2025-01-11 00:00:00.000wormhole52547.947422315102399515.1759551212.6153850.0266480.2401873067237
    10
    2025-01-11 00:00:00.000layerzero3136529.0904159943632677193.8740605871.3374230.0355790.320685386719307
    11
    2025-01-12 00:00:00.000wormhole52748.155524707503491054.9631104941.4705880.0123410.1109353058232
    12
    2025-01-12 00:00:00.000mover26.2973497333228.7657832441.50.0004570.00410804916702
    13
    2025-01-12 00:00:00.000layerzero318335.644838834363005730.1276257771.4533330.040860.3672973532268
    14
    2025-01-13 00:00:00.000layerzero463166.0631590035193725892.4201602291.3951610.0506530.425759570431341
    15
    2025-01-13 00:00:00.000wormhole94664.4851073536545131456.3766939591.4444440.0199590.1677637112243
    16
    2025-01-14 00:00:00.000mover11.8912600883223.9637533631.50.0004570.00396428458311
    17
    2025-01-14 00:00:00.000layerzero2184985.2017867585169952567.5501783631.2174540.2606852.261333756335364
    18
    2025-01-14 00:00:00.000wormhole592876.9054599928241107230.20616414620.0226910.1968349704932
    19
    2025-01-15 00:00:00.000wormhole135769.5738856717136121912.2475195161.9722220.023390.2123519625630
    20
    2025-01-15 00:00:00.000layerzero2864784.6430832343231156631.4459330631.3890680.0596880.5418924370241
    ...
    214
    24KB
    112s