DEX

Meteora DAMM v2 historical data as Parquet

Every Meteora DAMM v2 instruction and event in Solana history, decoded with an Anchor IDL that we checked against real transactions. Trawl gives you 25 event tables and 39 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
cpamdpZCGKUy5JxQXB4dcpGPiikHawvSWAd6mEn1sGG
Preset
meteora-damm-v2
Tables
25 event tables and 39 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 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":"meteora-damm-v2","start_epoch":1058,"end_epoch":1058}'

-- then, in DuckDB, on the files of the job
SELECT slot, signature, pool, trade_direction, collect_fee_mode
FROM 'ev-evt_swap2-*.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-evt_claim_position_fee
fields: pool base58 string, position base58 string, owner base58 string, fee_a_claimed u64, fee_b_claimed u64
ev-evt_claim_protocol_fee2
fields: pool base58 string, receiver_token_account base58 string, token_mint base58 string, amount u64
ev-evt_claim_reward
fields: pool base58 string, position base58 string, owner base58 string, mint_reward base58 string, reward_index u8, total_reward u64
ev-evt_close_config
fields: config base58 string, admin base58 string
ev-evt_close_position
fields: pool base58 string, owner base58 string, position base58 string, position_nft_mint base58 string
ev-evt_create_config
fields: pool_fees JSON string, vault_config_key base58 string, pool_creator_authority base58 string, activation_type u8, sqrt_min_price decimal string, sqrt_max_price decimal string, collect_fee_mode u8, index u64, config base58 string, permission decimal string
ev-evt_create_dynamic_config
fields: config base58 string, pool_creator_authority base58 string, index u64, permission decimal string
ev-evt_create_position
fields: pool base58 string, owner base58 string, position base58 string, position_nft_mint base58 string
ev-evt_create_token_badge
fields: token_mint base58 string
ev-evt_fund_reward
fields: pool base58 string, funder base58 string, mint_reward base58 string, reward_index u8, amount u64, transfer_fee_excluded_amount_in u64, reward_duration_end u64, pre_reward_rate decimal string, post_reward_rate decimal string
ev-evt_initialize_pool
fields: pool base58 string, token_a_mint base58 string, token_b_mint base58 string, creator base58 string, payer base58 string, alpha_vault base58 string, pool_fees JSON string, sqrt_min_price decimal string, sqrt_max_price decimal string, activation_type u8, collect_fee_mode u8, liquidity decimal string, sqrt_price decimal string, activation_point u64, token_a_flag u8, token_b_flag u8, token_a_amount u64, token_b_amount u64, total_amount_a u64, total_amount_b u64, pool_type u8
ev-evt_initialize_reward
fields: pool base58 string, reward_mint base58 string, funder base58 string, creator base58 string, reward_index u8, reward_duration u64
ev-evt_liquidity_change
fields: pool base58 string, position base58 string, owner base58 string, token_a_amount u64, token_b_amount u64, transfer_fee_included_token_a_amount u64, transfer_fee_included_token_b_amount u64, reserve_a_amount u64, reserve_b_amount u64, liquidity_delta decimal string, token_a_amount_threshold u64, token_b_amount_threshold u64, change_type u8
ev-evt_lock_position
fields: pool base58 string, position base58 string, owner base58 string, vesting base58 string, cliff_point u64, period_frequency u64, cliff_unlock_liquidity decimal string, liquidity_per_period decimal string, number_of_period u16
ev-evt_permanent_lock_position
fields: pool base58 string, position base58 string, lock_liquidity_amount decimal string, total_permanent_locked_liquidity decimal string
ev-evt_set_pool_status
fields: pool base58 string, status u8
ev-evt_split_position2
fields: pool base58 string, first_owner base58 string, second_owner base58 string, first_position base58 string, second_position base58 string, current_sqrt_price decimal string, amount_splits JSON string, first_position_info JSON string, second_position_info JSON string, split_position_parameters JSON string
ev-evt_split_position3
fields: pool base58 string, first_owner base58 string, second_owner base58 string, first_position base58 string, second_position base58 string, current_sqrt_price decimal string, amount_splits JSON string, first_position_info JSON string, second_position_info JSON string, split_position_parameters JSON string
ev-evt_swap2
fields: pool base58 string, trade_direction u8, collect_fee_mode u8, has_referral bool, params JSON string, swap_result JSON string, included_transfer_fee_amount_in u64, included_transfer_fee_amount_out u64, excluded_transfer_fee_amount_out u64, current_timestamp u64, reserve_a_amount u64, reserve_b_amount u64
ev-evt_update_delegate_permission
fields: position base58 string, owner base58 string, permission u32, delegate base58 string
ev-evt_update_pool_fees
fields: pool base58 string, operator base58 string, params JSON string
ev-evt_update_reward_duration
fields: pool base58 string, reward_index u8, old_reward_duration u64, new_reward_duration u64
ev-evt_update_reward_funder
fields: pool base58 string, reward_index u8, old_funder base58 string, new_funder base58 string
ev-evt_withdraw_dead_liquidity_reward
fields: pool base58 string, reward_mint base58 string, amount u64
ev-evt_withdraw_ineligible_reward
fields: pool base58 string, reward_mint base58 string, amount u64

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-add_liquidity
accounts: pool, position, token_a_account, token_b_account, token_a_vault, token_b_vault, token_a_mint, token_b_mint, position_nft_account, signer, token_a_program, token_b_program, event_authority, program
args: params JSON string
ix-claim_position_fee
accounts: pool_authority, pool, position, token_a_account, token_b_account, token_a_vault, token_b_vault, token_a_mint, token_b_mint, position_nft_account, signer, token_a_program, token_b_program, event_authority, program
ix-claim_protocol_fee2
accounts: receiver_token_account, token_a_mint, token_b_mint, token_a_program, token_b_program, pool, token_a_vault, token_b_vault, pool_authority, signer
args: max_amount u64
ix-claim_reward
accounts: pool_authority, pool, position, reward_vault, reward_mint, user_token_account, position_nft_account, signer, token_program, event_authority, program
args: reward_index u8, skip_reward u8
ix-close_config
accounts: config, operator, signer, rent_receiver, event_authority, program
ix-close_operator_account
accounts: operator, signer, rent_receiver, event_authority, program
ix-close_position
accounts: position_nft_mint, position_nft_account, pool, position, pool_authority, rent_receiver, owner, token_program, event_authority, program
ix-close_token_badge
accounts: token_badge, operator, signer, rent_receiver, event_authority, program
ix-create_config
accounts: config, operator, signer, payer, system_program, event_authority, program
args: index u64, config_parameters JSON string
ix-create_dynamic_config
accounts: config, operator, signer, payer, system_program, event_authority, program
args: index u64, config_parameters JSON string
ix-create_operator_account
accounts: operator, whitelisted_address, signer, payer, system_program, event_authority, program
args: permission decimal string
ix-create_position
accounts: owner, position_nft_mint, position_nft_account, pool, position, pool_authority, payer, token_program, system_program, event_authority, program
ix-create_token_badge
accounts: token_badge, token_mint, operator, signer, payer, system_program, event_authority, program
ix-dummy_ix
accounts: pod_aligned_fee_time_scheduler, pod_aligned_fee_rate_limiter, pod_aligned_fee_market_cap_scheduler
args: _ixs JSON string
ix-fix_config_fee_params
accounts: config, operator, signer
args: params JSON string
ix-fix_pool_fee_params
accounts: pool, operator, signer
args: params JSON string
ix-fix_pool_layout_version
accounts: pool, operator, signer
ix-fund_reward
accounts: pool, reward_vault, reward_mint, funder_token_account, funder, token_program, event_authority, program
args: reward_index u8, amount u64, carry_forward bool
ix-initialize_customizable_pool
accounts: creator, position_nft_mint, position_nft_account, payer, pool_authority, pool, position, token_a_mint, token_b_mint, token_a_vault, token_b_vault, payer_token_a, payer_token_b, token_a_program, token_b_program, token_2022_program, system_program, event_authority, program
args: params JSON string
ix-initialize_pool
accounts: creator, position_nft_mint, position_nft_account, payer, config, pool_authority, pool, position, token_a_mint, token_b_mint, token_a_vault, token_b_vault, payer_token_a, payer_token_b, token_a_program, token_b_program, token_2022_program, system_program, event_authority, program
args: params JSON string
ix-initialize_pool_with_dynamic_config
accounts: creator, position_nft_mint, position_nft_account, payer, pool_creator_authority, config, pool_authority, pool, position, token_a_mint, token_b_mint, token_a_vault, token_b_vault, payer_token_a, payer_token_b, token_a_program, token_b_program, token_2022_program, system_program, event_authority, program
args: params JSON string
ix-initialize_reward
accounts: pool_authority, pool, reward_vault, reward_mint, signer, payer, token_program, system_program, event_authority, program
args: reward_index u8, reward_duration u64, funder base58 string
ix-lock_inner_position
accounts: pool, position, position_nft_account, signer, event_authority, program
args: params JSON string
ix-lock_position
accounts: pool, position, vesting, position_nft_account, signer, payer, system_program, event_authority, program
args: params JSON string
ix-permanent_lock_position
accounts: pool, position, position_nft_account, signer, event_authority, program
args: permanent_lock_liquidity decimal string
ix-refresh_vesting
accounts: pool, position, position_nft_account, owner
ix-remove_all_liquidity
accounts: pool_authority, pool, position, token_a_account, token_b_account, token_a_vault, token_b_vault, token_a_mint, token_b_mint, position_nft_account, signer, token_a_program, token_b_program, event_authority, program
args: token_a_amount_threshold u64, token_b_amount_threshold u64
ix-remove_liquidity
accounts: pool_authority, pool, position, token_a_account, token_b_account, token_a_vault, token_b_vault, token_a_mint, token_b_mint, position_nft_account, signer, token_a_program, token_b_program, event_authority, program
args: params JSON string
ix-set_pool_status
accounts: pool, operator, signer, event_authority, program
args: status u8
ix-split_position
accounts: pool, first_position, first_position_nft_account, second_position, second_position_nft_account, first_owner, second_owner, event_authority, program
args: params JSON string
ix-split_position2
accounts: pool, first_position, first_position_nft_account, second_position, second_position_nft_account, first_owner, second_owner, event_authority, program
args: numerator u32
ix-swap
accounts: pool_authority, pool, input_token_account, output_token_account, token_a_vault, token_b_vault, token_a_mint, token_b_mint, payer, token_a_program, token_b_program, referral_token_account, event_authority, program
args: _params JSON string
ix-swap2
accounts: pool_authority, pool, input_token_account, output_token_account, token_a_vault, token_b_vault, token_a_mint, token_b_mint, payer, token_a_program, token_b_program, referral_token_account, event_authority, program
args: _params JSON string
ix-update_delegate_permission
accounts: position, position_nft_account, owner, event_authority, program
args: permission u32
ix-update_pool_fees
accounts: pool, operator, signer, event_authority, program
args: params JSON string
ix-update_reward_duration
accounts: pool, signer, event_authority, program
args: reward_index u8, new_duration u64
ix-update_reward_funder
accounts: pool, signer, event_authority, program
args: reward_index u8, new_funder base58 string
ix-withdraw_dead_liquidity_reward
accounts: pool_authority, pool, reward_vault, reward_mint, funder_token_account, funder, token_program, event_authority, program
args: reward_index u8
ix-withdraw_ineligible_reward
accounts: pool_authority, pool, reward_vault, reward_mint, funder_token_account, funder, token_program, event_authority, program
args: reward_index u8

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

Get Meteora DAMM v2 data for your range.

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

Get a price