Solana Indexer
Real-time indexed data from every major Solana DEX. Query 6+ billion swaps directly via ClickHouse.
:::info Request Access Get a free 2-week trial — full database access, no restrictions. :::
What's Indexed
| Protocol | Table | Rows | Coverage |
|---|---|---|---|
| Raydium V4 + CPMM | raydium_all_swaps | 6.6B | All AMM swaps |
| Pump.fun | pumpfun_all_swaps | 2.0B | Bonding curve trades |
| PumpSwap | pumpswap_all_swaps | 4.6B | AMM swaps post-migration |
| Meteora DLMM | meteora_swaps | 291M | Concentrated liquidity |
| Meteora Dynamic | meteora_dynamic_bonding_swaps | 108M | Bonding curves |
Plus: token creation events, AMM migrations, Jito tips, and block data.
Data from January 2024. Updated in real-time (~15s delay).Key Features
Nanosecond Timestamps
We capture the exact moment each transaction reaches our infrastructure in Amsterdam—not just block time. Essential for:
- MEV research and latency analysis
- Cross-venue execution comparison (vs Binance, HyperLiquid)
- Propagation pattern studies
Full Transaction Context
Every swap includes:
- Pool reserves before and after
- Gas fees and priority fees
- Parent program (for CPI detection)
- Signing wallet and fee payer
Raw + Processed
Get both granular transaction data and pre-computed aggregates. Or build your own with Python ETL.
Sample Queries
Recent High-Volume Swaps
SELECT
block_time,
base_coin,
quote_coin_amount / 1e9 as sol_volume,
signing_wallet
FROM raydium_all_swaps
WHERE block_time > now() - INTERVAL 1 HOUR
ORDER BY quote_coin_amount DESC
LIMIT 20Daily Volume by DEX
SELECT
toDate(block_time) as date,
'raydium' as dex,
count(*) as swaps,
sum(quote_coin_amount) / 1e9 as sol_volume
FROM raydium_all_swaps
WHERE block_time > today() - 7
GROUP BY date
UNION ALL
SELECT
toDate(block_time),
'pumpfun',
count(*),
sum(quote_coin_amount) / 1e9
FROM pumpfun_all_swaps
WHERE block_time > today() - 7
GROUP BY toDate(block_time)
ORDER BY date, dexToken Launch Tracking
SELECT
block_time,
name,
symbol,
mint,
creator,
bundled_buys_count as bundle_size
FROM pumpfun_token_creation
WHERE block_time > now() - INTERVAL 24 HOUR
ORDER BY block_time DESC
LIMIT 50Access Methods
DBeaver (Recommended for Exploration)
Free GUI client. Setup guide
Python
import clickhouse_connect
client = clickhouse_connect.get_client(
host='157.90.130.44', port=8123,
username='your_user', password='your_pass'
)
df = client.query_df("""
SELECT * FROM raydium_all_swaps
WHERE block_time > now() - INTERVAL 1 HOUR
LIMIT 1000
""")HTTP API
curl 'http://157.90.130.44:8123/?query=SELECT+count(*)+FROM+raydium_all_swaps' \
-u 'user:password'Next Steps
Solana Indexer — Custom/month
Unlimited queries · Direct support · Community access