DEX

Raydium CLMM historical data as Parquet

Every Raydium CLMM instruction and event in Solana history, decoded with an Anchor IDL that we checked against real transactions. Trawl gives you 15 event tables and 34 instruction tables, with a column for each account, argument and field. Calls from other programs (CPI) are in the result too.

Updated

The preset

Program
CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK
Preset
raydium-clmm
Tables
15 event tables and 34 instruction tables, and part-* with the raw bytes of each match
Price
$4 for one recent epoch, $8.68 for one week of chain

The program now adds trade_fee_0 and trade_fee_1 to SwapEvent. The published IDL does not have them, so they are not decoded.

The price is the same for every program: you pay for the archive the scan reads, not for the rows. Pricing.

# ask for a price: a 402 with the quote, no payment yet
curl -X POST https://trawl.run/scan \
  -H 'Content-Type: application/json' \
  -d '{"preset":"raydium-clmm","start_epoch":1058,"end_epoch":1058}'

-- then, in DuckDB, on the files of the job
SELECT slot, signature, pool_state, sender, token_account_0
FROM 'ev-swap_event-*.parquet'
ORDER BY slot
LIMIT 10;

Add "filter": {"accounts": ["<wallet>"]} to keep only the transactions that touch one wallet. How a filter changes a preset.

Event tables

One table for each event in the IDL. Each row also has log_index and the context columns. An event that the program writes two ways gives one row.

ev-collect_personal_fee_event
fields: position_nft_mint base58 string, recipient_token_account_0 base58 string, recipient_token_account_1 base58 string, amount_0 u64, amount_1 u64
ev-collect_protocol_fee_event
fields: pool_state base58 string, recipient_token_account_0 base58 string, recipient_token_account_1 base58 string, amount_0 u64, amount_1 u64
ev-config_change_event
fields: index u16, owner base58 string, protocol_fee_rate u32, trade_fee_rate u32, tick_spacing u16, fund_fee_rate u32, fund_owner base58 string
ev-create_personal_position_event
fields: pool_state base58 string, minter base58 string, nft_owner base58 string, tick_lower_index i32, tick_upper_index i32, liquidity decimal string, deposit_amount_0 u64, deposit_amount_1 u64, deposit_amount_0_transfer_fee u64, deposit_amount_1_transfer_fee u64
ev-decrease_limit_order_event
fields: pool_id base58 string, limit_order base58 string, zero_for_one bool, tick_index i32, total_amount u64, filled_amount u64, settled_output_amount u64, decreased_amount u64
ev-decrease_liquidity_event
fields: position_nft_mint base58 string, liquidity decimal string, decrease_amount_0 u64, decrease_amount_1 u64, fee_amount_0 u64, fee_amount_1 u64, reward_amounts JSON string, transfer_fee_0 u64, transfer_fee_1 u64
ev-increase_limit_order_event
fields: pool_id base58 string, limit_order base58 string, zero_for_one bool, tick_index i32, total_amount u64, increased_amount u64, transfer_fee u64
ev-increase_liquidity_event
fields: position_nft_mint base58 string, liquidity decimal string, amount_0 u64, amount_1 u64, amount_0_transfer_fee u64, amount_1_transfer_fee u64
ev-liquidity_calculate_event
fields: pool_liquidity decimal string, pool_sqrt_price_x64 decimal string, pool_tick i32, calc_amount_0 u64, calc_amount_1 u64, trade_fee_owed_0 u64, trade_fee_owed_1 u64, transfer_fee_0 u64, transfer_fee_1 u64
ev-liquidity_change_event
fields: pool_state base58 string, tick i32, tick_lower i32, tick_upper i32, liquidity_before decimal string, liquidity_after decimal string
ev-open_limit_order_event
fields: pool_id base58 string, limit_order base58 string, zero_for_one bool, tick_index i32, total_amount u64, transfer_fee u64
ev-pool_created_event
fields: token_mint_0 base58 string, token_mint_1 base58 string, tick_spacing u16, pool_state base58 string, sqrt_price_x64 decimal string, tick i32, token_vault_0 base58 string, token_vault_1 base58 string
ev-settle_limit_order_event
fields: pool_id base58 string, limit_order base58 string, zero_for_one bool, tick_index i32, total_amount u64, filled_amount u64, settled_amount_out u64
ev-swap_event
fields: pool_state base58 string, sender base58 string, token_account_0 base58 string, token_account_1 base58 string, amount_0 u64, transfer_fee_0 u64, amount_1 u64, transfer_fee_1 u64, zero_for_one bool, sqrt_price_x64 decimal string, liquidity decimal string, tick i32
ev-update_reward_infos_event
fields: reward_growth_global_x64 JSON string

Instruction tables

One table for each instruction in the IDL: the named accounts, then the arguments. Each row also has the context columns: slot, tx_index, signature, success, fee, program_id, ix_index, is_inner, inner_index, stack_height, accounts. What each one holds.

ix-close_limit_order
accounts: signer, rent_receiver, limit_order
ix-close_position
accounts: nft_owner, position_nft_mint, position_nft_account, personal_position, system_program, token_program
ix-close_protocol_position
accounts: admin, protocol_position
ix-collect_fund_fee
accounts: owner, pool_state, amm_config, token_vault_0, token_vault_1, vault_0_mint, vault_1_mint, recipient_token_account_0, recipient_token_account_1, token_program, token_program_2022
args: amount_0_requested u64, amount_1_requested u64
ix-collect_protocol_fee
accounts: owner, pool_state, amm_config, token_vault_0, token_vault_1, vault_0_mint, vault_1_mint, recipient_token_account_0, recipient_token_account_1, token_program, token_program_2022
args: amount_0_requested u64, amount_1_requested u64
ix-collect_remaining_rewards
accounts: reward_funder, funder_token_account, pool_state, reward_token_vault, reward_vault_mint, token_program, token_program_2022, memo_program
args: reward_index u8
ix-create_amm_config
accounts: owner, amm_config, system_program
args: index u16, tick_spacing u16, trade_fee_rate u32, protocol_fee_rate u32, fund_fee_rate u32
ix-create_customizable_pool
accounts: pool_creator, amm_config, pool_state, token_mint_0, token_mint_1, token_vault_0, token_vault_1, observation_state, tick_array_bitmap, token_program_0, token_program_1, system_program, rent
args: customizable_params JSON string
ix-create_dynamic_fee_config
accounts: owner, dynamic_fee_config, system_program
args: index u16, filter_period u16, decay_period u16, reduction_factor u16, dynamic_fee_control u32, max_volatility_accumulator u32
ix-create_operation_account
accounts: owner, operation_state, system_program
ix-create_pool
accounts: pool_creator, amm_config, pool_state, token_mint_0, token_mint_1, token_vault_0, token_vault_1, observation_state, tick_array_bitmap, token_program_0, token_program_1, system_program, rent
args: sqrt_price_x64 decimal string, open_time u64
ix-create_support_mint_associated
accounts: owner, token_mint, support_mint_associated, system_program
ix-decrease_limit_order
accounts: owner, pool_state, tick_array, limit_order, input_token_account, output_token_account, input_vault, output_vault, input_vault_mint, output_vault_mint, token_program, token_program_2022
args: amount u64, amount_min u64
ix-decrease_liquidity
accounts: nft_owner, nft_account, personal_position, pool_state, protocol_position, token_vault_0, token_vault_1, tick_array_lower, tick_array_upper, recipient_token_account_0, recipient_token_account_1, token_program
args: liquidity decimal string, amount_0_min u64, amount_1_min u64
ix-decrease_liquidity_v2
accounts: nft_owner, nft_account, personal_position, pool_state, protocol_position, token_vault_0, token_vault_1, tick_array_lower, tick_array_upper, recipient_token_account_0, recipient_token_account_1, token_program, token_program_2022, memo_program, vault_0_mint, vault_1_mint
args: liquidity decimal string, amount_0_min u64, amount_1_min u64
ix-increase_limit_order
accounts: owner, pool_state, tick_array, limit_order, input_token_account, input_vault, input_vault_mint, input_token_program
args: amount u64
ix-increase_liquidity
accounts: nft_owner, nft_account, pool_state, protocol_position, personal_position, tick_array_lower, tick_array_upper, token_account_0, token_account_1, token_vault_0, token_vault_1, token_program
args: liquidity decimal string, amount_0_max u64, amount_1_max u64
ix-increase_liquidity_v2
accounts: nft_owner, nft_account, pool_state, protocol_position, personal_position, tick_array_lower, tick_array_upper, token_account_0, token_account_1, token_vault_0, token_vault_1, token_program, token_program_2022, vault_0_mint, vault_1_mint
args: liquidity decimal string, amount_0_max u64, amount_1_max u64, base_flag bool
ix-initialize_reward
accounts: reward_funder, funder_token_account, amm_config, pool_state, operation_state, reward_token_mint, reward_token_vault, reward_token_program, system_program, rent
args: param JSON string
ix-open_limit_order
accounts: payer, pool_state, tick_array, limit_order_nonce, limit_order, input_token_account, input_vault, input_vault_mint, input_token_program, system_program
args: nonce_index u8, zero_for_one bool, tick_index i32, amount u64
ix-open_position
accounts: payer, position_nft_owner, position_nft_mint, position_nft_account, metadata_account, pool_state, protocol_position, tick_array_lower, tick_array_upper, personal_position, token_account_0, token_account_1, token_vault_0, token_vault_1, rent, system_program, token_program, associated_token_program, metadata_program
args: tick_lower_index i32, tick_upper_index i32, tick_array_lower_start_index i32, tick_array_upper_start_index i32, liquidity decimal string, amount_0_max u64, amount_1_max u64
ix-open_position_v2
accounts: payer, position_nft_owner, position_nft_mint, position_nft_account, metadata_account, pool_state, protocol_position, tick_array_lower, tick_array_upper, personal_position, token_account_0, token_account_1, token_vault_0, token_vault_1, rent, system_program, token_program, associated_token_program, metadata_program, token_program_2022, vault_0_mint, vault_1_mint
args: tick_lower_index i32, tick_upper_index i32, tick_array_lower_start_index i32, tick_array_upper_start_index i32, liquidity decimal string, amount_0_max u64, amount_1_max u64, with_metadata bool, base_flag bool
ix-open_position_with_token22_nft
accounts: payer, position_nft_owner, position_nft_mint, position_nft_account, pool_state, protocol_position, tick_array_lower, tick_array_upper, personal_position, token_account_0, token_account_1, token_vault_0, token_vault_1, rent, system_program, token_program, associated_token_program, token_program_2022, vault_0_mint, vault_1_mint
args: tick_lower_index i32, tick_upper_index i32, tick_array_lower_start_index i32, tick_array_upper_start_index i32, liquidity decimal string, amount_0_max u64, amount_1_max u64, with_metadata bool, base_flag bool
ix-set_reward_params
accounts: authority, amm_config, pool_state, operation_state, token_program, token_program_2022
args: reward_index u8, emissions_per_second_x64 decimal string, open_time u64, end_time u64
ix-settle_limit_order
accounts: signer, pool_state, tick_array, limit_order, output_token_account, output_vault, output_vault_mint, output_token_program
ix-swap
accounts: payer, amm_config, pool_state, input_token_account, output_token_account, input_vault, output_vault, observation_state, token_program, tick_array
args: amount u64, other_amount_threshold u64, sqrt_price_limit_x64 decimal string, is_base_input bool
ix-swap_router_base_in
accounts: payer, input_token_account, input_token_mint, token_program, token_program_2022, memo_program
args: amount_in u64, amount_out_minimum u64
ix-swap_v2
accounts: payer, amm_config, pool_state, input_token_account, output_token_account, input_vault, output_vault, observation_state, token_program, token_program_2022, memo_program, input_vault_mint, output_vault_mint
args: amount u64, other_amount_threshold u64, sqrt_price_limit_x64 decimal string, is_base_input bool
ix-transfer_reward_owner
accounts: authority, pool_state
args: new_owner base58 string
ix-update_amm_config
accounts: owner, amm_config
args: param u8, value u32
ix-update_dynamic_fee_config
accounts: owner, dynamic_fee_config
args: filter_period u16, decay_period u16, reduction_factor u16, dynamic_fee_control u32, max_volatility_accumulator u32
ix-update_operation_account
accounts: owner, operation_state, system_program
args: param u8, keys JSON string
ix-update_pool_status
accounts: authority, pool_state
args: status u8
ix-update_reward_infos
accounts: pool_state

Files are split at 2 GB: ix-<name>-tNN-SSSS.parquet. Large integers stay exact: u128 is a decimal string. All decoded types.

Get Raydium CLMM data for your range.

Select an epoch range and get a firm price. You pay only when you send the job.

Get a price