feyikemiWhale Trading
    Updated 2025-04-21
    WITH whale_addresses AS (
    -- Get all whale wallets (only scan fact_token_balances ONCE)
    SELECT owner AS wallet
    FROM solana.core.fact_token_balances
    WHERE mint = 'mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So'
    AND balance >= 10000
    ),
    filtered_swaps AS (
    -- Pre-filter swaps involving mSOL (avoids scanning non-relevant swaps)
    SELECT
    BLOCK_TIMESTAMP,
    swapper,
    SWAP_FROM_SYMBOL,
    SWAP_TO_SYMBOL,
    SWAP_FROM_AMOUNT,
    SWAP_TO_AMOUNT
    FROM solana.marinade.ez_swaps
    WHERE 'MSOL' IN (SWAP_FROM_SYMBOL, SWAP_TO_SYMBOL) -- Apply filter here for efficiency
    AND BLOCK_TIMESTAMP >= CURRENT_DATE - INTERVAL '6 months' -- Optional time filter to reduce scan size
    )

    -- Aggregate whale swap activity
    SELECT
    DATE_TRUNC('month', s.BLOCK_TIMESTAMP) AS month,
    COUNT(DISTINCT s.swapper) AS whale_traders,
    SUM(CASE WHEN s.SWAP_FROM_SYMBOL = 'MSOL' THEN s.SWAP_FROM_AMOUNT ELSE 0 END) AS whale_msol_sold,
    SUM(CASE WHEN s.SWAP_TO_SYMBOL = 'MSOL' THEN s.SWAP_TO_AMOUNT ELSE 0 END) AS whale_msol_bought
    FROM filtered_swaps s
    JOIN whale_addresses w ON s.swapper = w.wallet
    GROUP BY 1
    ORDER BY 1
    Last run: about 1 month ago
    MONTH
    WHALE_TRADERS
    WHALE_MSOL_SOLD
    WHALE_MSOL_BOUGHT
    1
    2024-10-01 00:00:00.000115794980.4252809228628292.4829722
    2
    2024-11-01 00:00:00.0002021599660.045529424566031.9029785
    3
    2024-12-01 00:00:00.0002324511987.463320826608.2232247
    4
    2025-01-01 00:00:00.0002729731302.386331468313707.2770427
    5
    2025-02-01 00:00:00.0002424048795.610901545314216.0708021
    6
    2025-03-01 00:00:00.000176635217.4505693336885175.9847082
    7
    2025-04-01 00:00:00.000192746675.4121318842961393.440879
    7
    452B
    213s