Esta página fue traducida automáticamente por IA. La versión en inglés es la fuente autorizada.Ver versión en inglés →
Banner de versión.
- SDK:
@raydium-io/raydium-sdk-v2@0.2.42-alpha - Cluster: Solana
mainnet-beta - ID del programa Stable AMM:
5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h(verreference/program-addresses) - Última verificación: 2026-04
liquidity del SDK maneja pools de Stable AMM de forma nativa. Los pools estables aparecen como version: 5 (o pooltype: "StablePool") en ApiV3PoolInfoStandardItem; los mismos ayudantes addLiquidity / removeLiquidity / swap funcionan para ellos que para pools de producto constante AMM v4 (version: 4) — el SDK detecta la variante y emite las instrucciones correctas automáticamente. Las matemáticas de curva estable fuera de cadena se encuentran en src/raydium/liquidity/stable.ts.Configuración
Identificar un pool estable
Dos señales equivalentes enApiV3PoolInfoStandardItem:
version: 4, producto constante) como Stable AMM (version: 5) fluyen a través de la misma API LiquidityModule en el SDK. Internamente el módulo se distribuye a:
InstructionType.AmmV4AddLiquidity/AmmV4RemoveLiquiditypara pools v4InstructionType.AmmV5AddLiquidity/AmmV5RemoveLiquiditypara pools v5 (Stable)
programId del pool (devuelto con las claves del pool) le dice al SDK en qué programa hacer CPI; no necesitas codificarlo de forma fija.
Encontrar un pool por par de mints
Hacer swap a través de un pool estable
El flujoLiquidityModule.swap tiene la misma forma que para pools v4 — simplemente entrégale un objeto pool v5:
programId del pool desde las claves del pool y se distribuye al programa Stable AMM. No se necesita ningún argumento programId especial.
Agregar y remover liquidez
addLiquidity y removeLiquidity funcionan de forma idéntica en pools v4 y v5:
InstructionType.AmmV5AddLiquidity porque pooltype.includes("StablePool") es verdadero. El flujo correspondiente de removeLiquidity es simétrico — proporciona lpAmount y las cantidades mínimas que aceptarás en cada lado.
Ayudantes de cotización fuera de cadena (stable.ts)
Para cotización del lado del servidor o backtesting, el SDK expone las matemáticas subyacentes de curva estable:ModelDataInfo en cadena se obtiene una sola vez mediante initLayout() y se almacena en caché en raydium.liquidity.stableLayout. Pasa las reservas actuales (x, y) y los ayudantes calculan mediante búsqueda binaria en la tabla de búsqueda e interpolación lineal entre las dos filas DataElement circundantes. Ver products/stable/math para el algoritmo subyacente.
Enrutamiento a través de AMM Routing (multi-salto / mejor precio)
Si no quieres elegir un venue por ti mismo, el programa AMM Routing considerará cada AMM de Raydium (v4 / CPMM / CLMM / Stable) y enrutará a través de la combinación que sea mejor:Recomendaciones
- Para swaps de usuario final, prefiere el flujo de enrutamiento
tradeV2. Maneja cada tipo de pool de Raydium incluyendo Stable. - Para operaciones específicas de pool (agregar / remover LP en un pool Stable conocido), usa
LiquidityModuledirectamente — detecta automáticamente pools v5. - Para cotización fuera de cadena / análisis, llama a
getStablePrice/getDyByDxBaseIn/getDxByDyBaseIndespués deinitLayout(). Sin tráfico RPC por cotización después de que los datos del modelo estén en caché. - No codifiques manualmente instrucciones
SwapBaseInsin procesar. La actualización 2026-06-22 eliminó las cuentas OpenBook muertas, así que el nuevo layout de swap toma 9 cuentas (el antiguo layout de 18 cuentas aún se analiza para compatibilidad hacia atrás).Depositahora es 12 cuentas (antiguo 14 compatible),Withdraw12 (antiguo 21/22 compatible), yWithdrawPnl10 sin ninguna ruta de compatibilidad. Los ayudantes pre-construidos del SDK seleccionan el layout y orden correcto para ti; hacer el tuyo propio es propenso a errores. Verproducts/stable/instructionspara las tablas de cuentas completas.
Dónde ir a continuación
- Math — cómo funciona la interpolación de tabla de búsqueda.
- Instructions — referencia completa de instrucciones.
- AMM Routing — enrutamiento multi-pool en AMM v4, CPMM, CLMM, Stable.
raydium-sdk-V2/src/raydium/liquidity/liquidity.ts— punto de entrada del módulo; distribución v4 / v5.raydium-sdk-V2/src/raydium/liquidity/stable.ts—StableLayout,getStablePrice,getDxByDyBaseIn,getDyByDxBaseIn.

