Updated 6 days ago
    WITH contracts AS (
    SELECT LOWER(address) AS address
    FROM (VALUES
    ('0x7712c34205737192402172409a8f7ccef8aa2aec'),-- Ethereum
    ('0x6a9DA2D710BB9B700acde7Cb81F10F1fF8C89041'), -- Ethereum
    ('0xA6525Ae43eDCd03dC08E775774dCAbd3bb925872'), -- Arbitrum
    ('0xa1CDAb15bBA75a80dF4089CaFbA013e376957cF5'), -- Optimism
    ('0x2893Ef551B6dD69F661Ac00F11D93E5Dc5Dc0e99'), -- Polygon
    ('0x53FC82f14F009009b440a706e31c9021E1196A2F') -- Avalanche
    ) AS data(address)
    ),

    mints_and_burns AS (
    -- Ethereum Mints and Burns
    SELECT
    'Ethereum' AS chain,
    SUM(CASE WHEN from_address = '0x0000000000000000000000000000000000000000' THEN amount
    WHEN to_address = '0x0000000000000000000000000000000000000000' THEN -amount
    ELSE 0 END) AS balance
    FROM ethereum.core.ez_token_transfers
    WHERE LOWER(contract_address) IN (SELECT address FROM contracts)
    GROUP BY 1

    UNION ALL

    -- Optimism Mints and Burns
    SELECT
    'Optimism',
    SUM(CASE WHEN from_address = '0x0000000000000000000000000000000000000000' THEN amount
    WHEN to_address = '0x0000000000000000000000000000000000000000' THEN -amount
    ELSE 0 END) AS balance
    FROM optimism.core.ez_token_transfers
    WHERE LOWER(contract_address) IN (SELECT address FROM contracts)
    GROUP BY 1
    Last run: 6 days ago
    CUMULATIVE_SUPPLY
    1
    1916326602.12
    1
    17B
    71s