OQ — D31 · DEX & Trading
16 typed tables generated from the Raydium CPMM IDL — 2 event tables and 14 instruction tables. Every column name comes from the program's own interface definition.
- Tables
- 16
- Event tables
- 2
- Instruction tables
- 14
- Account types
- 4
Program ID
CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1COne table per event declared in the IDL. The fully qualified name is on the left, the short alias on the right — both resolve to the same physical table.
raydium_cpmm_solana.raydium_cpmm_evt_lp_change_eventraydium_cpmm.lp_change_eventraydium_cpmm_solana.raydium_cpmm_evt_swap_eventraydium_cpmm.swap_event
One table per instruction. OnchainQueries also exposes verified account_<name> aliases for instruction account columns when the bundled IDL and the live schema agree.
raydium_cpmm_solana.raydium_cpmm_call_close_permission_pdaraydium_cpmm.call_close_permission_pdaraydium_cpmm_solana.raydium_cpmm_call_collect_creator_feeraydium_cpmm.call_collect_creator_feeraydium_cpmm_solana.raydium_cpmm_call_collect_fund_feeraydium_cpmm.call_collect_fund_feeraydium_cpmm_solana.raydium_cpmm_call_collect_protocol_feeraydium_cpmm.call_collect_protocol_feeraydium_cpmm_solana.raydium_cpmm_call_create_amm_configraydium_cpmm.call_create_amm_configraydium_cpmm_solana.raydium_cpmm_call_create_permission_pdaraydium_cpmm.call_create_permission_pdaraydium_cpmm_solana.raydium_cpmm_call_depositraydium_cpmm.call_depositraydium_cpmm_solana.raydium_cpmm_call_initializeraydium_cpmm.call_initializeraydium_cpmm_solana.raydium_cpmm_call_initialize_with_permissionraydium_cpmm.call_initialize_with_permissionraydium_cpmm_solana.raydium_cpmm_call_swap_base_inputraydium_cpmm.call_swap_base_inputraydium_cpmm_solana.raydium_cpmm_call_swap_base_outputraydium_cpmm.call_swap_base_outputraydium_cpmm_solana.raydium_cpmm_call_update_amm_configraydium_cpmm.call_update_amm_configraydium_cpmm_solana.raydium_cpmm_call_update_pool_statusraydium_cpmm.call_update_pool_statusraydium_cpmm_solana.raydium_cpmm_call_withdrawraydium_cpmm.call_withdraw
Typed parameters keep values out of the SQL text. Save the file, then pass each value with its type.
SELECT date_trunc('hour', ts) AS hour, count(*) AS eventsFROM raydium_cpmm_solana.raydium_cpmm_evt_swap_eventWHERE ts >= {{start_time}}GROUP BY hourORDER BY hour;query sql \ --file raydium_cpmm.sql \ --param 'start_time:timestamp=2026-08-01 00:00:00' \ --output ./resultsOnchainQueries selects an engine, queues the query, and downloads checksum-verified Parquet parts plus a manifest. See the CLI guide.
Pro includes every engine class and 50,000 query credits a month.