▾ Documentation

Database schema

All tables, columns, and storage configuration for the Indexer.

// updated 2026-06-04

The Indexer maintains 9 core tables tracking decoded Solana DEX activity. ClickHouse with MergeTree engine and daily partitioning.

NOTE

Shared columns (block time, slot, signature, signing wallet, fee) are common across all tables. Per-protocol columns (mint addresses, amounts, pool details) live on each table.

Tables overview

TableWhat it contains
solana_mintsNew SPL tokens (excluding Pump.fun)
pumpfun_token_creationNew tokens launched on Pump.fun
pumpfun_all_swapsAll Pump.fun swap activity
pumpswap_all_swapsPumpSwap protocol transactions
pfamm_migrationsPumpFun AMM migration events
raydium_all_swapsRaydium exchange transactions
raydium_launchpad_swapsRaydium launchpad transactions
raydium_launchpad_migrationsRaydium launchpad graduations
meteora_swapsMeteora DLMM exchange swaps

Shared columns

Use these for joins, time-series aggregations, and wallet-level queries.

ColumnTypePurpose
block_timeDateTimeBlock processing timestamp
block_date_utcDateUTC date - daily partition key
slotUInt32 / UInt64Blockchain slot number
tx_idxUInt16 / UInt32Transaction index within block
signatureStringUnique transaction signature
signing_wallet / userStringTransaction signer
fee_payerStringFee-paying account
fee / fee_paidUInt64Actual fees paid (lamports)
TIP

Some tables include arrival_ts_ns - the nanosecond-resolution arrival timestamp. See Nanosecond timestamps.

Per-table column details

NOTE

Detailed per-table column lists (swap-specific fields like input/output mint, amounts, AMM pool, LP details) are being published in this section. Schema is finalizing - contact @supanode_tgs for the current full schema if you're starting integration today.

Storage configuration

All tables share the same engine and storage policy.

SettingValue
EngineMergeTree
Partitioningdaily by block_date_utc
Sort order(slot, tx_idx)
TTL1 year (older data dropped automatically)
IndexesBloom filter on wallet and token address columns

Coverage and latency

History coverage

Data starts from January 11, 2024. Anything earlier is not indexed.

Validation latency

~15 seconds between Solana block confirmation and the row appearing. Confirmed transactions only - never processed-level data that might revert.

Sample queries

24h trading volume on Raydium for a specific token

SELECT
    sum(amount_in_usd) AS volume_usd,
    count() AS swap_count,
    count(DISTINCT signing_wallet) AS unique_traders
FROM raydium_all_swaps
WHERE block_date_utc >= today() - 1
  AND token_in_mint = 'So11111111111111111111111111111111111111112'

Top 10 wallets by Pump.fun activity in the last 24 hours

SELECT
    signing_wallet,
    count() AS swap_count,
    sum(amount_sol) AS total_sol_volume
FROM pumpfun_all_swaps
WHERE block_date_utc = today()
GROUP BY signing_wallet
ORDER BY swap_count DESC
LIMIT 10

Pump.fun graduations in the past week

SELECT
    block_date_utc,
    count() AS graduations
FROM pfamm_migrations
WHERE block_date_utc >= today() - 7
GROUP BY block_date_utc
ORDER BY block_date_utc
NOTE

Column names like amount_in_usd, token_in_mint, amount_sol are illustrative - confirm against the live schema.

See also

Access

Connection and authentication.

Nanosecond timestamps

Precision arrival data.