Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

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

ProtocolTableRowsCoverage
Raydium V4 + CPMMraydium_all_swaps6.6BAll AMM swaps
Pump.funpumpfun_all_swaps2.0BBonding curve trades
PumpSwappumpswap_all_swaps4.6BAMM swaps post-migration
Meteora DLMMmeteora_swaps291MConcentrated liquidity
Meteora Dynamicmeteora_dynamic_bonding_swaps108MBonding 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 20

Daily 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, dex

Token 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 50

More examples


Access 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

  1. Get credentials
  2. Set up DBeaver
  3. Browse table schemas
  4. Try example queries
Solana IndexerCustom/month
Unlimited queries · Direct support · Community access
Start Free Trial →
Join traders already using our infrastructure