Raydium DEX integration covering AMM v4, CLMM, and CPMM pool types with their distinct program IDs, account layouts, instruction formats, and swap math. Use when working on Raydium pool integration, swap instructions, or understanding Raydium's different pool architectures.
Raydium offers three distinct pool types, each with different program IDs, architectures, and use cases.
| Feature | AMM v4 | CLMM | CPMM |
|---|---|---|---|
| Program ID | 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 | CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK | CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C |
| Model | Constant product + OpenBook | Concentrated liquidity (ticks) | Constant product |
| Token-2022 | No | Yes (swap_v2) | Yes |
| Account Count | 19 | 11-18 | 14 |
| Complexity | High (Serum accounts) |
| Medium (tick arrays) |
| Low |
| Best For | Legacy meme coins | Stablecoins, high volume | Utility tokens |
Constant product AMM integrated with OpenBook (formerly Serum) order book. Requires market ID creation (0.55-3 SOL cost).
675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8
swap_base_inDiscriminator: 9 (single byte)
Instruction Data Format:
[0] discriminator (1 byte) = 9
[1-8] amount_in (u64 LE)
[9-16] min_amount_out (u64 LE)
Total: 17 bytes
Index | Account | Writable | Signer | Description
------|----------------------------|----------|--------|-------------
0 | Token Program | No | No | SPL Token
1 | AMM ID | Yes | No | Pool state
2 | AMM Authority | No | No | PDA authority
3 | AMM Open Orders | Yes | No | Serum open orders
4 | AMM Target Orders | Yes | No | Can be same as pool
5 | Pool Coin Token Account | Yes | No | Base vault
6 | Pool PC Token Account | Yes | No | Quote vault
7 | Serum Program ID | No | No | OpenBook program
8 | Serum Market | Yes | No | Market account
9 | Serum Bids | Yes | No | Bids account
10 | Serum Asks | Yes | No | Asks account
11 | Serum Event Queue | Yes | No | Event queue
12 | Serum Coin Vault | Yes | No | Market base vault
13 | Serum PC Vault | Yes | No | Market quote vault
14 | Serum Vault Signer | No | No | Market vault authority
15 | User Source Token | Yes | No | User input ATA
16 | User Destination Token | Yes | No | User output ATA
17 | User Owner | Yes | Yes | User wallet (signer)
18 | Raydium AMM Program | No | No | For CPI
// AMM Authority
seeds = [amm_id.as_ref(), b"amm authority"]
price = reserve_quote / reserve_base
output = (reserve_out * amount_in * (1 - fee)) / (reserve_in + amount_in * (1 - fee))
Concentrated liquidity similar to Uniswap V3. Liquidity concentrated in tick ranges for capital efficiency.
Mainnet: CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK
Devnet: DRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH
| Variant | Accounts | Token Support | When to Use |
|---|---|---|---|
swap | 11-12 | SPL Token only | Standard tokens |
swap_v2 | 17-18 | SPL + Token-2022 | Token-2022 tokens |