Updated 2025-03-02
    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: about 1 month 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
    2024-12-02 00:00:00.000layerzero6149373.38875475614433510015.2661054641.4180140.0643620.832120207554379
    2
    2024-12-02 00:00:00.000wormhole66223.9452429991338623497.9244003231.5465120.0408980.5287600175185
    3
    2024-12-03 00:00:00.000layerzero3610211.13874704121285762978.7220616721.4142360.3122354.36439481492365
    4
    2024-12-03 00:00:00.000wormhole292922.15179161516769161754.0248610282.420290.0456940.6387069242267
    5
    2024-12-04 00:00:00.000wormhole644381.5130509919944146508.9041722322.250.0364170.52501175143
    6
    2024-12-04 00:00:00.000layerzero4919314.157821543005248651637.0429809721.2087691.22210217.6186371672161325
    7
    2024-12-05 00:00:00.000layerzero5652939.145831514509399751253.7012964811.1280962.04776528.618369113681316
    8
    2024-12-05 00:00:00.000wormhole260453.76888614115758141658.9412030962.7068970.0529530.7400402387454
    9
    2024-12-06 00:00:00.000wormhole163446.43832013512761131286.9798292922.0819670.0484050.6891056813655
    10
    2024-12-06 00:00:00.000layerzero2520787.18331439455240375553.7757432591.127572.0650429.39842573703334
    11
    2024-12-06 00:00:00.000mover19.9144211119.9144210.0000120.00017083501
    12
    2024-12-07 00:00:00.000wormhole218132.61953472910942112001.2166929792.5952380.0380550.5647679125339
    13
    2024-12-07 00:00:00.000layerzero4834615.359013799273925604.9318517281.0811693.85433357.2015136647096296
    14
    2024-12-07 00:00:00.000celer_cbridge11110.0004420.00655964833301
    15
    2024-12-07 00:00:00.000mover185.5035116377226.50050166110.0030310.0449825658307
    16
    2024-12-08 00:00:00.000wormhole67335.4050157446736121005.0060450111.8611110.0263910.3799974112036
    17
    2024-12-08 00:00:00.000mover24.6462013023328.21540043410.0012990.0187039762503
    18
    2024-12-08 00:00:00.000layerzero3215100.467701881494127172152.0083451821.1754520.5469387.875223527953318
    19
    2024-12-09 00:00:00.000wormhole216468.1004590113643171591.6772092573.1627910.0392090.5320007817241
    20
    2024-12-09 00:00:00.000layerzero4494301.4755686755538368097.840496521.4490860.0571860.7759187152331
    ...
    225
    25KB
    88s