-
Notifications
You must be signed in to change notification settings - Fork 0
Raydium
Andrei Montchik edited this page Apr 15, 2026
·
1 revision
-
AMM
-
IDL
- Instructions are outdated! but it seems AMM accounts are still Ok.
- The AMM pool account type name is AmmInfo
- token_coin - base token AMM vault
- token_pc - quote (particular coin) token AMM vault
- lp_mint - Raydium specific LP token mint, like Raydium LP Token SOL-USDC
- lp_amount - LP token amount
-
Calculations
- base_token_amount =
(raydium_amm_interface::AmmInfo.token_coin -> spl_token::state::Account.amount) / 10^AmmInfo.coin_decimals - quote_token_amount =
(raydium_amm_interface::AmmInfo.token_pc -> spl_token::state::Account.amount) / 10^AmmInfo.pc_decimals - qoute_token_amount_to_buy_from_amm =
quote_token_amount * base_token_amount / (base_token_amount - base_token_amount_to_buy) - quote_token_amount - quote_token_fee_to_buy_from_amm =
qoute_token_amount_to_buy_from_amm / 1 - fee_ratio - base_token_fee_for_selling_to_amm =
base_token_amount_to_sell * (1 - fee_ratio) - quote_token_amount_for_selling_to_amm =
quote_token_amount - (quote_token_amount * base_token_amount / (base_token_amount + base_token_amount_to_sell - base_token_fee_for_selling_to_amm)) -
swap fee =
AmmInfo.Fees.swap_fee_numerator / AmmInfo.Fees.swap_fee_denominator
- base_token_amount =
- Instructions
- Program
-
IDL
-
CLMM
- IDL
- On chain for the CLMM Program
- In Git
- The CLMM pool account type name is PoolState
- IDL