# Solana table reference

> Full schema for the Supanode Solana Indexer - 21 tables and 463 columns across Pump.fun, PumpSwap, Raydium, Meteora and Jito, with every type, partition key and retention window.

The Solana database contains decoded DEX activity plus reusable helper tables. This page documents every table, column, type, and description. For runnable patterns see [Query examples](https://supanode.xyz/docs/solana/indexer/examples); for the conventions that apply across tables see [Schema conventions](https://supanode.xyz/docs/solana/indexer/database-schema); for connection details see [Access](https://supanode.xyz/docs/solana/indexer/access).

<Note>
**Schema snapshot: 16 August 2026.** Row counts and sizes grow continuously. Columns marked *(populated since ...)* exist on every row but only carry data from that date onward - older rows hold the type default.
</Note>

## Tables overview

| Table | Protocol | Rows | Size | History | Retention |
|---|---|---|---|---|---|
| [`pumpfun_token_creation`](#pumpfuntokencreation) | Pump.fun | 16,158,167 | 4.10 GB | 2024-01-17 → 2026-08-16 | full history |
| [`pumpfun_all_swaps`](#pumpfunallswaps) | Pump.fun | 2,447,780,900 | 322.27 GB | 2024-06-11 → 2026-08-16 | full history |
| [`pumpfun_v2_swaps`](#pumpfunv2swaps) | Pump.fun | 1,352,692,572 | 185.82 GB | 2024-11-02 → 2026-08-16 | full history |
| [`pfamm_migrations`](#pfammmigrations) | Pump.fun | 106,004 | 24.4 MB | 2025-08-16 → 2026-08-16 | 1 year |
| [`pumpfun_creator_fee_distributions`](#pumpfuncreatorfeedistributions) | Pump.fun | 1,862,105 | 301.8 MB | 2026-02-15 → 2026-08-16 | full history |
| [`pumpfun_amm_admin_set_coin_creator`](#pumpfunammadminsetcoincreator) | Pump.fun | 751 | 143.1 KB | 2026-03-15 → 2026-08-16 | full history |
| [`pumpswap_all_swaps`](#pumpswapallswaps) | PumpSwap | 5,061,985,647 | 1656.07 GB | 2025-08-16 → 2026-08-16 | 1 year |
| [`raydium_all_swaps`](#raydiumallswaps) | Raydium | 14,866,785 | 2.09 GB | 2026-05-18 → 2026-08-16 | 90 days |
| [`raydium_cpmm_swaps`](#raydiumcpmmswaps) | Raydium | 15,924,873 | 3.73 GB | 2026-05-18 → 2026-08-16 | 90 days |
| [`raydium_launchpad_swaps`](#raydiumlaunchpadswaps) | Raydium | 22,880,401 | 3.86 GB | 2025-08-16 → 2026-08-16 | 1 year |
| [`raydium_launchpad_token_creation`](#raydiumlaunchpadtokencreation) | Raydium | 65,568 | 19.9 MB | 2025-04-16 → 2025-10-15 | full history |
| [`raydium_launchpad_migrations`](#raydiumlaunchpadmigrations) | Raydium | 94 | 478.6 KB | 2025-08-16 → 2026-08-14 | 1 year |
| [`raydium_launchpad_cpmm_migrations`](#raydiumlaunchpadcpmmmigrations) | Raydium | 3,664 | 4.0 MB | 2025-08-16 → 2026-08-16 | 1 year |
| [`meteora_swaps`](#meteoraswaps) | Meteora | 75,434,658 | 13.48 GB | 2026-05-18 → 2026-08-16 | 90 days |
| [`meteora_dynamic_bonding_swaps`](#meteoradynamicbondingswaps) | Meteora | 152,076,712 | 41.81 GB | 2025-08-18 → 2026-08-16 | 1 year |
| [`jito_tips`](#jitotips) | Jito | 135,442,770 | 10.22 GB | 2026-08-02 → 2026-08-16 | 14 days |
| [`token_transfers`](#tokentransfers) | Helper | 146,085,642 | 22.57 GB | 2026-07-20 → 2026-08-16 | 31 days |
| [`sol_top_ups`](#soltopups) | Helper | 173,385,646 | 28.29 GB | 2026-07-20 → 2026-08-16 | 31 days |
| [`solana_blocks`](#solanablocks) | Helper | 184,679,641 | 9.46 GB | full chain history → 2026-08-16 | full history |
| [`tx_timestamps`](#txtimestamps) | Helper | 2,744,043,346 | 243.84 GB | rolling window | 14 days |
| [`max_caps`](#maxcaps) | Helper | 9,353,726 | 438.8 MB | rolling window | full history |

<Warning>
**Retention is per table, not one global window.** `tx_timestamps` and `jito_tips` hold 14 days, `token_transfers` and `sol_top_ups` hold 31 days, the Raydium and Meteora AMM tables hold 90 days, and the rest hold a year or their full history. If your analysis needs a longer window on a short-retention table, tell us before you start - extended retention and one-off exports are arranged per customer.
</Warning>

<Tip>
**Always filter on the partition column first.** Each table lists its partition key below. A swap query without that filter scans the whole table - on `pumpswap_all_swaps` that is 1.6 TB.
</Tip>

## pumpfun_token_creation

Every Pump.fun launch, with bundle forensics - bundle size and structure, bundled buys, and the dev's balance right after creation.

**Partition key:** not partitioned  
**History:** 2024-01-17 → 2026-08-16  
**Retention:** full history  
**Rows:** 16,158,167 · **Size:** 4.10 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `creator` | FixedString(48) | Wallet that created the token |
| `name` | FixedString(20) | Token name |
| `symbol` | FixedString(16) | Token ticker symbol |
| `url` | FixedString(256) | Metadata URI (usually IPFS) |
| `mint` | FixedString(48) | Token mint address |
| `bundle_size` | UInt8 | Number of transactions in the bundle |
| `gas_used` | UInt64 | Total gas used for token creation |
| `amount_of_instructions` | Int32 | Number of instructions in the transaction |
| `amount_of_lookup_reads` | Int32 | Number of address lookup table reads |
| `amount_of_lookup_writes` | Int32 | Number of address lookup table writes |
| `bundle_structure` | String | Structure of bundled transactions |
| `bundled_buys` | UInt64 | Total SOL amount in bundled buys |
| `bundled_buys_count` | UInt64 | Number of bundled buy transactions |
| `dev_balance` | UInt64 | Developer's token balance after creation |
| `creation_ix_index` | Int32 | Index of creation instruction |
| `curve_address` | FixedString(48) | Bonding curve account address |
| `pf_program_index` | UInt8 | Pump.fun program index in transaction |
| `direct_pf_invocation` | UInt8 | Whether pump.fun was called directly (1=yes, 0=no) |
| `version` | DateTime64(3) | Record version timestamp *(populated since 2024-01-17)* |
| `mayhem_mode` | UInt8 | Whether mayhem mode was enabled *(populated since 2025-11-12)* |
| `token_program` | String | Token program used (SPL Token or Token-2022) *(populated since 2024-01-17)* |
| `signature` | String | Transaction signature (base58 encoded) *(populated since 2024-01-17)* |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2026-01-22)* |
| `is_cashback_enabled` | UInt8 | Whether cashback was enabled for creation *(populated since 2026-02-18)* |

## pumpfun_all_swaps

Pump.fun bonding-curve swaps. The deepest history in the database and one of its largest tables.

**Partition key:** not partitioned  
**History:** 2024-06-11 → 2026-08-16  
**Retention:** full history  
**Rows:** 2,447,780,900 · **Size:** 322.27 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `signing_wallet` | FixedString(48) | Wallet address that signed the transaction |
| `direction` | String | Trade direction (buy/sell) |
| `base_coin` | FixedString(48) | Base token mint address |
| `base_coin_amount` | UInt64 | Base token amount (raw units, needs decimal adjustment) |
| `quote_coin_amount` | UInt64 | Quote token amount (raw units) |
| `virtual_token_balance_after` | UInt64 | Virtual token reserves after trade (bonding curve state) |
| `virtual_sol_balance_after` | UInt64 | Virtual SOL reserves after trade (bonding curve state) |
| `signature` | FixedString(128) | Transaction signature (base58 encoded) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |
| `is_exact_quote` | UInt8 | Whether quote amount was exact (1=yes, 0=no) *(populated since 2025-12-03)* |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2024-11-02)* |

## pumpfun_v2_swaps

The Pump.fun v2 instruction set, including failed transactions and the compute-budget instruction indexes.

**Partition key:** `(block_date_utc, failed)`  
**History:** 2024-11-02 → 2026-08-16  
**Retention:** full history  
**Rows:** 1,352,692,572 · **Size:** 185.82 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `ix_idx` | Int16 | Instruction index within the transaction *(populated since 2024-11-02)* |
| `signing_wallet` | String | Wallet address that signed the transaction |
| `fee_payer` | String | Wallet that paid the transaction fee *(populated since 2024-11-02)* |
| `direction` | LowCardinality(String) | Trade direction (buy/sell) |
| `base_coin` | String | Base token mint address |
| `quote_coin` | LowCardinality(String) | Quote token mint address (usually SOL or USDC) |
| `instruction_type` | LowCardinality(String) | Pump.fun instruction variant: `buy`, `sell`, `buy_v2`, `sell_v2`, `buy_exact_sol_in`, or `buy_exact_quote_in_v2` |
| `base_coin_amount` | UInt64 | Base token amount (raw units, needs decimal adjustment) |
| `quote_coin_amount` | UInt64 | Quote token amount (raw units) |
| `virtual_token_balance_after` | UInt64 | Virtual token reserves after trade (bonding curve state) |
| `virtual_sol_balance_after` | UInt64 | Virtual SOL reserves after trade (bonding curve state) |
| `signature` | String | Transaction signature (base58 encoded) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |
| `lookup_tables` | String | Pipe-delimited account addresses loaded through address lookup tables (writable first, then read-only) *(populated since 2024-11-02)* |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2024-11-02)* |
| `failed` | UInt8 | Whether the transaction failed (1=yes, 0=no) *(populated since 2024-11-02)* |
| `pf_program_account_index` | Int16 | Default: `-1` *(populated since 2024-11-02)* |
| `cu_price_ix_index` | Int16 | Instruction index of the compute-unit price instruction *(populated since 2024-11-02)* |
| `cu_limit_ix_index` | Int16 | Instruction index of the compute-unit limit instruction *(populated since 2024-11-02)* |
| `tip_index` | Int16 | Default: `-1` *(populated since 2024-11-02)* |

## pfamm_migrations

Pump.fun graduations to the PumpSwap AMM - one row per migrated mint.

**Partition key:** `block_date_utc`  
**History:** 2025-08-16 → 2026-08-16  
**Retention:** 1 year  
**Rows:** 106,004 · **Size:** 24.4 MB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `user` | String | User wallet address |
| `mint` | String | Token mint address |
| `mint_amount` | UInt64 | Token amount migrated |
| `sol_amount` | UInt64 | SOL amount in the migration |
| `pool_migration_fee` | UInt64 | Fee paid for pool migration |
| `bonding_curve` | String | Bonding curve account address |
| `timestamp` | UInt32 | Unix timestamp of migration |
| `pool` | String | Pool account address |
| `signature` | String | Transaction signature (base58 encoded) *(populated since 2025-11-10)* |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2026-01-22)* |

## pumpfun_creator_fee_distributions

Creator fee payouts: which mint, which wallet received it, how much.

**Partition key:** `toYYYYMMDD(block_time)`  
**History:** 2026-02-15 → 2026-08-16  
**Retention:** full history  
**Rows:** 1,862,105 · **Size:** 301.8 MB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `ix_idx` | UInt32 | Instruction index within the transaction |
| `signature` | String | Transaction signature (base58 encoded) |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `mint` | String | Token mint address |
| `receiver` | String | Creator wallet receiving the fee distribution |
| `amount` | UInt64 | Fee amount distributed (lamports) |
| `fee_distribution_method` | String | Method used for fee distribution *(populated since 2026-02-15)* |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2026-05-29)* |

## pumpfun_amm_admin_set_coin_creator

Admin changes to a pool's coin creator. A small table, but it decides creator-fee attribution.

**Partition key:** `toYYYYMM(block_time)`  
**History:** 2026-03-15 → 2026-08-16  
**Retention:** full history  
**Rows:** 751 · **Size:** 143.1 KB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `swap_idx` | Int32 | Swap index within the transaction |
| `signature` | String | Transaction signature (base58 encoded) |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `pool` | String | Pool account being modified |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |

## pumpswap_all_swaps

PumpSwap AMM swaps with complete reserve and fee accounting. The largest table here.

**Partition key:** `block_date_utc`  
**History:** 2025-08-16 → 2026-08-16  
**Retention:** 1 year  
**Rows:** 5,061,985,647 · **Size:** 1656.07 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `signing_wallet` | String | Wallet address that signed the transaction |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `direction` | LowCardinality(String) | Trade direction (buy/sell) |
| `base_token` | String | Base token mint address |
| `quote_token` | String | Quote token mint address |
| `base_token_amount` | UInt64 | Base token amount (raw units) |
| `quote_token_amount` | UInt64 | Quote token amount (raw units) |
| `quote_token_amount_limit` | UInt64 | Maximum quote token amount limit |
| `quote_token_amount_without_lp_fee` | UInt64 | Quote amount before LP fee deduction |
| `user_base_token_account` | String | User's base token account |
| `user_quote_token_account` | String | User's quote token account |
| `user_base_token_reserves` | UInt64 | User's base token balance |
| `user_quote_token_reserves` | UInt64 | User's quote token balance |
| `pool_base_token_reserves_before` | UInt64 | Pool base token reserves before swap |
| `pool_quote_token_reserves_before` | UInt64 | Pool quote token reserves before swap |
| `pool_base_token_reserves_after` | UInt64 | Pool base token reserves after swap |
| `pool_quote_token_reserves_after` | UInt64 | Pool quote token reserves after swap |
| `lp_fee_basis_points` | UInt16 | LP fee in basis points |
| `lp_fee` | UInt64 | LP fee amount |
| `protocol_fee_basis_points` | UInt16 | Protocol fee in basis points |
| `protocol_fee` | UInt64 | Protocol fee amount |
| `signature` | String | Transaction signature (base58 encoded) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `pool` | String | Pool account address *(populated since 2025-08-16)* |
| `is_exact_quote` | UInt8 | Whether quote amount was exact (1=yes, 0=no) *(populated since 2025-12-03)* |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2025-12-13)* |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction *(populated since 2026-02-18)* |
| `coin_creator` | String | Default: `''` *(populated since 2026-07-23)* |
| `coin_creator_fees_basis_points` | UInt64 | Default: `0` *(populated since 2026-07-23)* |
| `coin_creator_fees` | UInt64 | Default: `0` *(populated since 2026-07-23)* |
| `cash_back_fees_basis_points` | UInt64 | Default: `0` *(populated since 2026-07-23)* |
| `cash_back_fees` | UInt64 | Default: `0` *(populated since 2026-07-23)* |
| `buy_back_fees_basis_points` | UInt64 | Default: `0` *(populated since 2026-07-23)* |
| `buy_back_fees` | UInt64 | Default: `0` *(populated since 2026-07-23)* |
| `virtual_quote_reserves` | Int128 | Default: `0` *(populated since 2026-07-23)* |
| `can_boost` | UInt8 | Default: `0` *(populated since 2026-07-23)* |
| `base_supply` | UInt64 | Default: `0` *(populated since 2026-07-23)* |

## raydium_all_swaps

Raydium AMM swaps with pool balances before and after, plus the OpenBook market id.

**Partition key:** `block_date_utc`  
**History:** 2026-05-18 → 2026-08-16  
**Retention:** 90 days  
**Rows:** 14,866,785 · **Size:** 2.09 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `signing_wallet` | FixedString(48) | Wallet address that signed the transaction |
| `direction` | String | Trade direction (buy/sell) |
| `base_coin` | FixedString(48) | Base token mint address |
| `quote_coin` | FixedString(48) | Quote token mint address (usually SOL or USDC) |
| `base_coin_amount` | UInt64 | Base token amount (raw units, needs decimal adjustment) |
| `quote_coin_amount` | UInt64 | Quote token amount (raw units) |
| `base_pool_balance_before` | UInt64 | Pool base token balance before swap |
| `quote_pool_balance_before` | UInt64 | Pool quote token balance before swap |
| `base_pool_balance_after` | UInt64 | Pool base token balance after swap |
| `quote_pool_balance_after` | UInt64 | Pool quote token balance after swap |
| `signature` | FixedString(128) | Transaction signature (base58 encoded) |
| `serum_market_id` | FixedString(48) | OpenBook/Serum market ID (for hybrid pools) |
| `raydium_market_id` | FixedString(48) | Raydium AMM market ID |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2026-05-18)* |

## raydium_cpmm_swaps

Raydium CPMM swaps with pool sizes, per-side fees, and swap type.

**Partition key:** `block_date_utc`  
**History:** 2026-05-18 → 2026-08-16  
**Retention:** 90 days  
**Rows:** 15,924,873 · **Size:** 3.73 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `swap_idx` | UInt16 | Swap index within the transaction |
| `signature` | String | Transaction signature (base58 encoded) |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `pool_id` | String | Pool account address |
| `signer` | String | Wallet address that signed the transaction |
| `direction` | LowCardinality(String) | Trade direction (buy/sell) |
| `base_coin` | String | Base token mint address |
| `quote_coin` | String | Quote token mint address (usually SOL or USDC) |
| `base_coin_amount` | UInt64 | Base token amount (raw units, needs decimal adjustment) |
| `quote_coin_amount` | UInt64 | Quote token amount (raw units) |
| `base_coin_slippage` | Int64 | Slippage on base token |
| `quote_coin_slippage` | Int64 | Slippage on quote token |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |
| `input_token_pool_size_before` | UInt64 | Input token pool size before swap |
| `output_token_pool_size_before` | UInt64 | Output token pool size before swap |
| `tokens_in` | UInt64 | Tokens received by pool |
| `tokens_out` | UInt64 | Tokens sent from pool |
| `fee_in_token_in` | UInt64 | Fee denominated in input token |
| `fee_in_token_out` | UInt64 | Fee denominated in output token |
| `swap_type` | LowCardinality(String) | Type of swap (BaseIn/BaseOut) |
| `instruction_input1` | UInt64 | First instruction input parameter |
| `instruction_input2` | UInt64 | Second instruction input parameter |
| `input_token_mint` | String | Input token mint address |
| `output_token_mint` | String | Output token mint address |

## raydium_launchpad_swaps

Raydium Launchpad bonding-curve swaps - this is where LetsBonk.fun activity lands.

**Partition key:** `block_date_utc`  
**History:** 2025-08-16 → 2026-08-16  
**Retention:** 1 year  
**Rows:** 22,880,401 · **Size:** 3.86 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `direction` | LowCardinality(String) | Trade direction (buy/sell) |
| `pool_status` | UInt8 | Pool status code |
| `pool_state` | String | Pool state account address |
| `base_token` | String | Base token mint address |
| `quote_token` | String | Quote token mint address |
| `total_base_sell` | UInt64 | Total base tokens available for sale |
| `virtual_base` | UInt64 | Virtual base token reserves |
| `virtual_quote` | UInt64 | Virtual quote token reserves |
| `pool_base_token_reserves_before` | UInt64 | Pool base token reserves before swap |
| `pool_quote_token_reserves_before` | UInt64 | Pool quote token reserves before swap |
| `pool_base_token_reserves_after` | UInt64 | Pool base token reserves after swap |
| `pool_quote_token_reserves_after` | UInt64 | Pool quote token reserves after swap |
| `base_token_amount` | UInt64 | Base token amount (raw units) |
| `quote_token_amount` | UInt64 | Quote token amount (raw units) |
| `protocol_fee` | UInt64 | Protocol fee amount |
| `platform_fee` | UInt64 | Platform fee amount |
| `share_fee` | UInt64 | Share/referral fee amount |
| `signature` | String | Transaction signature (base58 encoded) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |

## raydium_launchpad_token_creation

Raydium Launchpad token launches, with bonding-curve parameters and bundle forensics. Historical only - no new rows since October 2025, as launches moved to the CPMM path.

**Partition key:** not partitioned  
**History:** 2025-04-16 → 2025-10-15  
**Retention:** full history  
**Rows:** 65,568 · **Size:** 19.9 MB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `creator` | FixedString(48) | Wallet that created the token |
| `name` | FixedString(20) | Token name |
| `symbol` | FixedString(16) | Token ticker symbol |
| `url` | FixedString(256) | Metadata URI (usually IPFS) |
| `mint` | FixedString(48) | Token mint address |
| `bundle_size` | UInt8 | Number of transactions in the bundle |
| `gas_used` | UInt64 | Total gas used for token creation |
| `amount_of_instructions` | Int32 | Number of instructions in the transaction |
| `amount_of_lookup_reads` | Int32 | Number of address lookup table reads |
| `amount_of_lookup_writes` | Int32 | Number of address lookup table writes |
| `bundle_structure` | String | Structure of bundled transactions |
| `bundled_buys` | UInt64 | Total SOL amount in bundled buys |
| `bundled_buys_count` | UInt64 | Number of bundled buy transactions |
| `dev_balance` | UInt64 | Developer's token balance after creation |
| `creation_ix_index` | Int32 | Index of creation instruction |
| `pool_state` | FixedString(48) | Pool state account address |
| `base_vault` | FixedString(48) | Base token vault address |
| `quote_vault` | FixedString(48) | Quote token vault address |
| `raydium_program_index` | UInt8 | Raydium program index in transaction |
| `direct_raydium_invocation` | Bool | Whether Raydium was called directly |
| `decimals` | UInt8 | Token decimals |
| `cpmm_type` | UInt8 | CPMM pool type |
| `supply` | UInt64 | Total token supply |
| `bonding_curve_sell_amount` | UInt64 | Amount available for bonding curve sale |
| `bonding_curve_raise_amount` | UInt64 | Target raise amount for bonding curve |
| `migrate_type` | UInt8 | Migration type after bonding curve |
| `version` | DateTime64(3) | Record version timestamp *(populated since 2025-04-16)* |

## raydium_launchpad_migrations

Raydium Launchpad graduations into AMM / OpenBook markets.

**Partition key:** `block_date_utc`  
**History:** 2025-08-16 → 2026-08-14  
**Retention:** 1 year  
**Rows:** 94 · **Size:** 478.6 KB

| Column | Type | Description |
|---|---|---|
| `signature` | String | Transaction signature (base58 encoded) |
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `payer` | String | Wallet that paid for the migration |
| `base_coin` | String | Base token mint address |
| `quote_coin` | String | Quote token mint address (usually SOL or USDC) |
| `openbook_program` | String | OpenBook program address |
| `serum_market_id` | String | OpenBook market ID |
| `request_queue` | String | OpenBook request queue |
| `event_queue` | String | OpenBook event queue |
| `bids` | String | OpenBook bids account |
| `asks` | String | OpenBook asks account |
| `market_vault_signer` | String | OpenBook vault signer |
| `market_base_vault` | String | OpenBook base token vault |
| `market_quote_vault` | String | OpenBook quote token vault |
| `raydium_program` | String | Raydium AMM program address |
| `raydium_market_id` | String | Raydium AMM market ID |
| `amm_authority` | String | Raydium AMM authority |
| `amm_open_orders` | String | Raydium open orders account |
| `lp_mint` | String | LP token mint address |
| `base_pool_balance_before` | String | Pool base token balance before migration |
| `quote_pool_balance_before` | String | Pool quote token balance before migration |
| `amm_target_orders` | String | Raydium target orders account |
| `amm_config` | String | Raydium AMM configuration |
| `amm_create_fee_dest` | String | Destination for AMM creation fee |
| `authority` | String | Launchpad authority account |
| `pool_state` | String | Launchpad pool state account |
| `global_config` | String | Global configuration account |
| `user_token_coin` | String | User's base token account |
| `user_token_pc` | String | User's quote token account |
| `user_lp_token_account` | String | User's LP token account |
| `token_program` | String | Token program address |
| `associated_token_program` | String | Associated token program address |
| `system_program` | String | System program address |
| `rent_program` | String | Rent sysvar address |

## raydium_launchpad_cpmm_migrations

Raydium Launchpad graduations into CPMM pools, with every account involved in the migration.

**Partition key:** `block_date_utc`  
**History:** 2025-08-16 → 2026-08-16  
**Retention:** 1 year  
**Rows:** 3,664 · **Size:** 4.0 MB

| Column | Type | Description |
|---|---|---|
| `signature` | String | Transaction signature (base58 encoded) |
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `payer` | String | Wallet that paid for the migration |
| `base_mint` | String | Base token mint address |
| `quote_mint` | String | Quote token mint address |
| `platform_config` | String | Platform configuration account |
| `cpswap_program` | String | CPMM swap program address |
| `cpswap_pool` | String | New CPMM pool address |
| `cpswap_authority` | String | CPMM pool authority |
| `cpswap_lp_mint` | String | CPMM LP token mint |
| `cpswap_base_vault` | String | CPMM base token vault |
| `cpswap_quote_vault` | String | CPMM quote token vault |
| `cpswap_config` | String | CPMM configuration account |
| `cpswap_create_pool_fee` | String | Fee account for pool creation |
| `cpswap_observation` | String | CPMM observation account (for TWAP) |
| `lock_program` | String | LP lock program address |
| `lock_authority` | String | LP lock authority |
| `lock_lp_vault` | String | Vault holding locked LP tokens |
| `authority` | String | Launchpad authority account |
| `pool_state` | String | Launchpad pool state account |
| `global_config` | String | Global configuration account |
| `base_vault` | String | Launchpad base token vault |
| `quote_vault` | String | Launchpad quote token vault |
| `pool_lp_token` | String | Pool LP token account |

## meteora_swaps

Meteora DLMM swaps with the bin range crossed and the full fee breakdown.

**Partition key:** `block_date`  
**History:** 2026-05-18 → 2026-08-16  
**Retention:** 90 days  
**Rows:** 75,434,658 · **Size:** 13.48 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `signing_wallet` | String | Wallet address that signed the transaction |
| `base_coin` | String | Base token mint address |
| `quote_coin` | String | Quote token mint address (usually SOL or USDC) |
| `base_coin_amount` | UInt64 | Base token amount (raw units, needs decimal adjustment) |
| `quote_coin_amount` | UInt64 | Quote token amount (raw units) |
| `start_bin_id` | Int32 | Starting bin ID in the DLMM pool |
| `end_bin_id` | Int32 | Ending bin ID after the swap |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `protocol_fee` | UInt64 | Protocol fee amount |
| `fee_bps_low` | UInt64 | Lower bound of fee in basis points |
| `fee_bps_high` | UInt64 | Upper bound of fee in basis points |
| `host_fee` | UInt64 | Host/frontend fee amount |
| `signature` | String | Transaction signature (base58 encoded) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee_paid` | UInt64 | Total fee paid |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `lb_pair` | String | Liquidity bin pair (pool) address |
| `from_wallet` | String | Source wallet for the swap |
| `swap_for_y` | UInt8 | Whether swapping for Y token (1=yes, 0=no) |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) *(populated since 2026-05-18)* |

## meteora_dynamic_bonding_swaps

Meteora Dynamic Bonding Curve swaps, including slippage, routing amounts, and referral fields.

**Partition key:** `block_date_utc`  
**History:** 2025-08-18 → 2026-08-16  
**Retention:** 1 year  
**Rows:** 152,076,712 · **Size:** 41.81 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `swap_idx` | UInt16 | Swap index within the transaction |
| `signature` | String | Transaction signature (base58 encoded) |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `pool_id` | String | Pool account address |
| `signer` | String | Wallet address that signed the transaction |
| `direction` | LowCardinality(String) | Trade direction (buy/sell) |
| `base_coin` | String | Base token mint address |
| `quote_coin` | String | Quote token mint address (usually SOL or USDC) |
| `base_coin_amount` | UInt64 | Base token amount (raw units, needs decimal adjustment) |
| `quote_coin_amount` | UInt64 | Quote token amount (raw units) |
| `base_coin_slippage` | Int64 | Slippage on base token (negative = less than expected) |
| `quote_coin_slippage` | Int64 | Slippage on quote token (negative = less than expected) |
| `parent_program` | String | Parent program that invoked this instruction (for CPI calls) |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |
| `orig_base_coin_amount` | UInt64 | Original base amount before slippage |
| `orig_quote_coin_amount` | UInt64 | Original quote amount before slippage |
| `config` | String | Pool configuration account |
| `trade_direction` | UInt64 | Numeric trade direction indicator |
| `has_referral` | UInt8 | Whether trade included a referral (1=yes, 0=no) |
| `swap_amount0` | String | First swap amount in the route |
| `swap_amount1` | String | Second swap amount in the route |
| `swap_mode` | UInt64 | Swap mode (exact in/out) |
| `input_amount` | String | Input amount for the swap |
| `output_amount` | String | Output amount from the swap |
| `base_mint` | String | Base token mint address |
| `quote_mint` | String | Quote token mint address |
| `referral` | String | Referral account address (if any) |

## jito_tips

Jito tip payments: who tipped, which tip account received it, how much.

**Partition key:** `block_date_utc`  
**History:** 2026-08-02 → 2026-08-16  
**Retention:** 14 days  
**Rows:** 135,442,770 · **Size:** 10.22 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `signature` | String | Transaction signature (base58 encoded) |
| `signer` | String | Wallet address that signed the transaction |
| `sender` | String | Wallet that sent the tip |
| `tip_account` | String | Jito tip account that received the tip |
| `amount` | UInt64 | Tip amount in lamports |

## token_transfers

SPL and Token-2022 transfers. The transfer variant is encoded in `flavour`.

**Partition key:** `block_date_utc`  
**History:** 2026-07-20 → 2026-08-16  
**Retention:** 31 days  
**Rows:** 146,085,642 · **Size:** 22.57 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `failed` | UInt8 | Whether the transaction failed (1=yes, 0=no) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `cu_price_ix_index` | Int16 | Instruction index of the compute-unit price instruction |
| `cu_limit_ix_index` | Int16 | Instruction index of the compute-unit limit instruction |
| `num_signatures` | UInt8 | Number of signatures on the transaction |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |
| `transaction_version` | Int8 | Transaction message version (-1=legacy, 0=v0, -2=unknown) |
| `lookup_tables` | String | Pipe-delimited account addresses loaded through address lookup tables (writable first, then read-only) |
| `signature` | String | Transaction signature (base58 encoded) |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `mint` | String | Token mint address |
| `src_wallet` | String | Source wallet address |
| `dst_wallet` | String | Destination wallet address |
| `amount` | UInt64 | Token amount transferred in raw base units (apply the mint's decimals for display) |
| `flavour` | UInt8 | Transfer encoding: add 16 for Token-2022; base values are 0=Transfer, 1=TransferChecked, 2=TransferCheckedWithFee, and 3=SetAuthority owner change |
| `ix_idx` | Int16 | Instruction index within the transaction |

## sol_top_ups

Native SOL transfers. Use it to trace funding paths into a wallet.

**Partition key:** `block_date_utc`  
**History:** 2026-07-20 → 2026-08-16  
**Retention:** 31 days  
**Rows:** 173,385,646 · **Size:** 28.29 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `block_date_utc` | Date | UTC date of the block (for partitioning) |
| `slot` | UInt32 | Solana slot number (block height) |
| `tx_idx` | UInt16 | Transaction index within the block |
| `failed` | UInt8 | Whether the transaction failed (1=yes, 0=no) |
| `provided_gas_fee` | UInt64 | Gas fee provided for the transaction (lamports) |
| `provided_gas_limit` | UInt64 | Compute unit limit requested |
| `fee` | UInt64 | Transaction fee paid (lamports) |
| `consumed_gas` | UInt64 | Compute units actually consumed |
| `cu_price_ix_index` | Int16 | Instruction index of the compute-unit price instruction |
| `cu_limit_ix_index` | Int16 | Instruction index of the compute-unit limit instruction |
| `num_signatures` | UInt8 | Number of signatures on the transaction |
| `top_level_transfers_json` | String | JSON array of top-level SOL/token transfers in the transaction |
| `transaction_version` | Int8 | Transaction message version (-1=legacy, 0=v0, -2=unknown) |
| `lookup_tables` | String | Pipe-delimited account addresses loaded through address lookup tables (writable first, then read-only) |
| `signature` | String | Transaction signature (base58 encoded) |
| `fee_payer` | String | Wallet that paid the transaction fee |
| `src_wallet` | String | Source wallet address |
| `dst_wallet` | String | Destination wallet address |
| `amount` | UInt64 | Amount of SOL transferred, in lamports |

## solana_blocks

Block-level index: hash, validator identity, rewards, and transaction count.

**Partition key:** not partitioned  
**History:** full chain history → 2026-08-16  
**Retention:** full history  
**Rows:** 184,679,641 · **Size:** 9.46 GB

| Column | Type | Description |
|---|---|---|
| `block_time` | DateTime | UTC timestamp when the block was produced |
| `slot` | UInt32 | Solana slot number (block height) |
| `hash` | FixedString(48) | Block hash |
| `validator` | FixedString(48) | Validator identity that produced the block |
| `rewards` | UInt64 | Total rewards in the block (lamports) *(populated since 2024-11-02)* |
| `amount_of_transactions` | UInt64 | Number of transactions in the block *(populated since 1969-12-31)* |

## tx_timestamps

High-precision entry timestamp per transaction - the join target for latency work. See [Nanosecond timestamps](https://supanode.xyz/docs/solana/indexer/nanosecond-timestamp).

**Partition key:** `toYYYYMMDD(toDateTime(entry_timestamp))`  
**History:** rolling window  
**Retention:** 14 days  
**Rows:** 2,744,043,346 · **Size:** 243.84 GB

| Column | Type | Description |
|---|---|---|
| `slot` | UInt64 | Solana slot number (block height) |
| `tx_idx` | UInt32 | Transaction index within the block |
| `entry_timestamp` | Float64 | Entry timestamp (high-precision Unix timestamp) |
| `signature` | String | Transaction signature (base58 encoded) |

## max_caps

Precomputed peak market cap per mint, in SOL and USDC, with the slot at which it was reached.

**Partition key:** not partitioned  
**History:** rolling window  
**Retention:** full history  
**Rows:** 9,353,726 · **Size:** 438.8 MB

| Column | Type | Description |
|---|---|---|
| `token_mint` | String | Token mint address |
| `max_mcap_sol` | SimpleAggregateFunction(max, Float32) | Maximum market cap reached (in SOL) |
| `max_mcap_usdc` | SimpleAggregateFunction(max, Float32) | Maximum market cap reached (in USDC) |
| `max_slot` | SimpleAggregateFunction(max, UInt32) | Slot when maximum market cap was reached |

## See also

<CardGroup cols={3}>
  <Card title="Schema conventions" icon="database" href="https://supanode.xyz/docs/solana/indexer/database-schema">
    Shared columns, units, and the gotchas that bite first.
  </Card>
  <Card title="Query examples" icon="code" href="https://supanode.xyz/docs/solana/indexer/examples">
    Working SQL against these tables.
  </Card>
  <Card title="Access" icon="key" href="https://supanode.xyz/docs/solana/indexer/access">
    Connection details and code samples.
  </Card>
</CardGroup>
