Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Banneau de version.
- SDK :
@raydium-io/raydium-sdk-v2@0.2.42-alpha - Cluster : Solana
mainnet-beta - ID du programme Stable AMM :
5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h(voirreference/program-addresses) - Dernière vérification : 2026-04
liquidity du SDK gère les pools Stable AMM nativement. Les pools stables apparaissent comme version: 5 (ou pooltype: "StablePool") sur ApiV3PoolInfoStandardItem ; les mêmes assistants addLiquidity / removeLiquidity / swap fonctionnent pour eux que pour les pools à produit constant AMM v4 (version: 4) — le SDK détecte la variante et émet automatiquement les instructions correctes. Les mathématiques de courbe stable hors chaîne se trouvent dans src/raydium/liquidity/stable.ts.Configuration
Identifier un pool Stable
Deux signaux équivalents surApiV3PoolInfoStandardItem :
version: 4, produit constant) et Stable AMM (version: 5) passent par la même API LiquidityModule sur le SDK. En interne, le module se dispatche vers :
InstructionType.AmmV4AddLiquidity/AmmV4RemoveLiquiditypour les pools v4InstructionType.AmmV5AddLiquidity/AmmV5RemoveLiquiditypour les pools v5 (Stable)
programId du pool (retourné avec les clés du pool) indique au SDK dans quel programme faire un CPI ; vous n’avez pas besoin de le coder en dur.
Trouver un pool par paire de mints
Effectuer un swap via un pool Stable
Le fluxLiquidityModule.swap a la même forme que pour les pools v4 — il suffit de lui passer un objet pool v5 :
programId du pool à partir des clés du pool et se dispatche dans le programme Stable AMM. Aucun argument programId spécial n’est nécessaire.
Ajouter et retirer de la liquidité
addLiquidity et removeLiquidity fonctionnent de manière identique sur les pools v4 et v5 :
InstructionType.AmmV5AddLiquidity car pooltype.includes("StablePool") est vrai. Le flux removeLiquidity correspondant est symétrique — fournissez le lpAmount et les montants minimums que vous accepterez de chaque côté.
Assistants de cotation hors chaîne (stable.ts)
Pour les cotations côté serveur ou les backtests, le SDK expose les mathématiques de courbe stable sous-jacentes :ModelDataInfo sur chaîne est récupéré une seule fois par initLayout() et mis en cache dans raydium.liquidity.stableLayout. Passez les réserves actuelles (x, y) et les assistants calculent en effectuant une recherche binaire dans la table de consultation et en interpolant linéairement entre les deux lignes DataElement environnantes. Voir products/stable/math pour l’algorithme sous-jacent.
Routage via AMM Routing (multi-hop / meilleur prix)
Si vous ne voulez pas choisir un lieu vous-même, le programme AMM Routing considérera chaque AMM Raydium (v4 / CPMM / CLMM / Stable) et routera via la combinaison la meilleure :Recommandations
- Pour les swaps des utilisateurs finaux, préférez le flux de routage
tradeV2. Il gère tous les types de pools Raydium, y compris Stable. - Pour les opérations spécifiques au pool (ajout / suppression de LP sur un pool Stable connu), utilisez directement le
LiquidityModule— il détecte automatiquement les pools v5. - Pour les cotations hors chaîne / l’analyse, appelez
getStablePrice/getDyByDxBaseIn/getDxByDyBaseInaprèsinitLayout(). Pas de trafic RPC par cotation après que les données du modèle soient mises en cache. - Ne codez pas en dur les instructions
SwapBaseInbrutes. La mise à jour du 2026-06-22 a supprimé les comptes OpenBook morts, donc la nouvelle disposition de swap prend 9 comptes (l’ancienne disposition de 18 comptes analyse toujours pour la compatibilité rétroactive).Depositest maintenant 12 comptes (anciens 14 compatibles),Withdraw12 (anciens 21/22 compatibles), etWithdrawPnl10 sans aucun chemin de compatibilité. Les assistants pré-construits du SDK sélectionnent la disposition et l’ordre corrects pour vous ; rouler le vôtre est sujet aux erreurs. Voirproducts/stable/instructionspour les tableaux de comptes complets.
Où aller ensuite
- Math — comment fonctionne l’interpolation de la table de consultation.
- Instructions — référence complète des instructions.
- AMM Routing — routage multi-pool sur AMM v4, CPMM, CLMM, Stable.
raydium-sdk-V2/src/raydium/liquidity/liquidity.ts— point d’entrée du module ; dispatch v4 / v5.raydium-sdk-V2/src/raydium/liquidity/stable.ts—StableLayout,getStablePrice,getDxByDyBaseIn,getDyByDxBaseIn.

