Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Bannière de version. Tous les exemples ciblent
@raydium-io/raydium-sdk-v2@0.2.64-alpha sur Solana mainnet-beta, vérifiés le 2026-09-09 — chaque nom de constructeur, nom de paramètre et type de paramètre ci-dessous a été contrôlé par rapport aux sources de cette version et à raydium-sdk-V2-demo/src/amm. ID du programme : 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (voir reference/program-addresses).Deux pièges qui touchent la plupart des premières intégrations : le slippage de computeAmountOut est un nombre simple (0.005 = 0.5%), pas un Percent ; et liquidity.swap exige inputMint sous forme de chaîne base58.La création de nouveaux pools n’est pas montrée ici. L’interface Raydium n’offre plus la création de pools AMM v4 — les nouvelles paires utilisent par défaut CPMM. Le programme AMM v4 lui-même accepte toujours Initialize2 on-chain ; ce n’est simplement pas le chemin recommandé. Les démonstrations ci-dessous couvrent les opérations sur pool actif dont chaque intégrateur a encore besoin : swap, dépôt, retrait.La création de nouveaux pools n’est pas montrée ici. L’interface Raydium n’offre plus la création de pools AMM v4 — les nouvelles paires utilisent par défaut CPMM. Le programme AMM v4 lui-même accepte toujours
Initialize2 on-chain ; ce n’est simplement pas le chemin recommandé. Les exemples ci-dessous couvrent les opérations sur pools actifs que chaque intégrateur doit connaître : swap, dépôt, retrait.Configuration
Récupérer un pool par ID
poolKeys est la structure que les constructeurs d’instructions consomment. Elle contient tous les comptes AMM v4 dans l’ordre attendu par le programme, plus les champs de marché hérités que le programme actuel accepte positionnellement mais ne lit plus.
Swap (base-in)
Swap (base-out)
Ajouter de la liquidité
fixedSide: "a" indique au SDK que vous avez fourni l’amountInA exact et que amountInB doit être au maximum maxAnotherAmount. Le calcul au prorata s’appuie sur les soldes des vaults moins le PnL accumulé — il n’y a plus aucune composante on-book à régler d’abord.
Retirer de la liquidité
Ajustement des unités de calcul et des frais de priorité
Depuis la suppression d’OpenBook, un swap AMM v4 ne valide plus aucun état de marché, de sorte qu’unSwapBaseIn V1 est nettement moins coûteux qu’auparavant — et SwapBaseInV2 (8 comptes, sans espaces réservés de marché) l’est encore moins. Mesurez votre propre chemin plutôt que de budgétiser d’après des chiffres historiques, et passez toujours une limite explicite d’unités de calcul :
computeBudgetConfig, le SDK peut toujours utiliser sa propre valeur par défaut ; inspectez la transaction retournée pour confirmer. Voir integration-guides/priority-fee-tuning.
CPI Rust direct
Si vous devez faire un CPI dans AMM v4 depuis votre propre programme Anchor, vous devrez modéliser la liste de comptes deSwapBaseIn exactement. Un esquisse minimale :
Instruction construite manuellement.
L’esquisse CPI ci-dessus utilise la disposition héritée v1
SwapBaseIn (tag 9, 17 comptes) pour lire/reproduire les transactions existantes. Depuis la mise à jour de 2026-07, les comptes de marché sont acceptés mais ignorés. Pour le nouveau code, préférez SwapBaseInV2 / SwapBaseOutV2 (tags 16 / 17), qui suppriment les comptes de marché (et amm_open_orders) entièrement — passez seulement 8 comptes : token_program, amm, amm_authority, les deux coffres du pool, les deux comptes de tokens utilisateur, et user_owner.Pièges
- Mauvais nombre de comptes sur les swaps v1. Les anciens
SwapBaseIn/SwapBaseOutnécessitent toujours la liste complète de 17 comptes (ou 18 comptes) — un nombre mal assorti revient avecWrongAccountsNumber. Le contenu des comptes de marché n’est plus validé, mais vous devez toujours occuper leurs emplacements. Préférez les points d’entrée V2 pour éviter cela. - Lecture des soldes bruts des coffres. Les réserves sont maintenant réservées aux coffres ; soustrayez le PnL accumulé (
need_take_pnl_*). Le devis du SDK ouapi-v3.raydium.io/pools/info/idsgère cela pour vous. - Appel d’instructions supprimées.
MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfo,AdminCancelOrders, et les anciensInitialize/PreInitializereviennent maintenant. UtilisezInitialize2pour la création de pools ; il n’y a pas de crank à appeler. - Mints Token-2022. Non supportés. Un pool AMM v4 ne peut pas être créé contre un mint Token-2022 ; toute paire Token-2022 doit être sur CPMM ou CLMM.
Où aller ensuite
products/amm-v4/instructions— la surface au niveau des instructions derrière ces exemples.user-flows/migrate-amm-v4-to-cpmm— si vous êtes un LP envisageant une migration.integration-guides/priority-fee-tuning— dimensionnement des frais de priorité pour les swaps AMM v4 lourds.

