MONTH | WHALE_TRADERS | WHALE_MSOL_SOLD | WHALE_MSOL_BOUGHT | |
---|---|---|---|---|
1 | 2024-10-01 00:00:00.000 | 11 | 5794980.42528092 | 28628292.4829722 |
2 | 2024-11-01 00:00:00.000 | 20 | 21599660.0455294 | 24566031.9029785 |
3 | 2024-12-01 00:00:00.000 | 23 | 24511987.4633 | 20826608.2232247 |
4 | 2025-01-01 00:00:00.000 | 27 | 29731302.3863314 | 68313707.2770427 |
5 | 2025-02-01 00:00:00.000 | 24 | 24048795.6109015 | 45314216.0708021 |
6 | 2025-03-01 00:00:00.000 | 17 | 6635217.45056933 | 36885175.9847082 |
7 | 2025-04-01 00:00:00.000 | 19 | 2746675.41213188 | 42961393.440879 |
feyikemiWhale Trading
Updated 2025-04-21
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
›
⌄
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
7
452B
213s