10Blockchain3) Distribution Analysis: Whales vs. Retail (Ethereum)
    Updated 2025-02-25
    -- 1) Récupérer la balance max de chaque adresse sur COOK
    WITH cook_balances AS (
    SELECT
    user_address,
    MAX(balance) / 1e18 AS max_balance
    FROM ethereum.core.fact_token_balances
    WHERE contract_address = LOWER('0x9F0C013016E8656bC256f948CD4B79ab25c7b94D')
    GROUP BY user_address
    ),

    -- 2) Binner les adresses selon leur balance
    binned AS (
    SELECT
    CASE
    WHEN max_balance < 100 THEN '(<100) Tiny'
    WHEN max_balance < 1e3 THEN '(100-1K)'
    WHEN max_balance < 1e4 THEN '(1K-10K)'
    WHEN max_balance < 1e5 THEN '(10K-100K)'
    WHEN max_balance < 1e6 THEN '(100K-1M)'
    WHEN max_balance < 1e7 THEN '(1M-10M)'
    ELSE '(10M+) Mega Whale'
    END AS balance_range,

    COUNT(*) AS holders_count,
    SUM(max_balance) AS sum_of_balances
    FROM cook_balances
    GROUP BY 1
    ),
    -- 3) Calculer la somme totale pour pouvoir en déduire un pourcentage
    stats AS (
    SELECT SUM(sum_of_balances) AS total_supply
    FROM binned
    )

    -- 4) Résultat final : on ajoute la part relative
    SELECT
    Last run: 2 months ago
    Balance Range
    Number of Addresses
    Cumulative Balance
    Share_of_Total (%)
    1
    (10M+) Mega Whale1013533633355.10569699.70584041168
    2
    (1M-10M)621219030.7955310.156326186965
    3
    (100K-1M)3415723328.5016420.115837901116
    4
    (10K-100K)722728919.7701070.020104670487
    5
    (1K-10K)58243821.5119850.001796297278
    6
    (100-1K)3912391.4385890.000091290991
    7
    (<100) Tiny19439.9846270.000003241483
    7
    336B
    3s