Skip to content

Raydium

Andrei Montchik edited this page Apr 15, 2026 · 1 revision

Docs

Links

Source Code

Dev

  • 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
    • Instructions
    • Program
  • CLMM

Tools

Clone this wiki locally