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. Todas las demostraciones apuntan a
@raydium-io/raydium-sdk-v2@0.2.42-alpha contra Solana mainnet-beta, verificado 2026-04. ID del programa: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (ver reference/program-addresses).La creación de nuevos pools no se muestra aquí. La interfaz de Raydium ya no ofrece creación de pools AMM v4 — los nuevos pares usan por defecto CPMM. El programa AMM v4 en sí sigue aceptando
Initialize2 en cadena; simplemente no es la ruta recomendada. Las demostraciones a continuación cubren las operaciones de pool activo que todo integrador aún necesita: swap, depósito, retiro.Configuración
Obtener un pool por ID
poolKeys es la estructura que consumen los constructores de instrucciones. Contiene todas las cuentas de AMM v4 y OpenBook en el orden que el programa espera.
Swap (entrada base)
Swap (salida base)
Agregar liquidez
fixedSide: "a" le indica al SDK que proporcionaste el amountInA exacto y que amountInB debe ser como máximo maxAnotherAmount. La liquidez en libro del pool se liquida antes del cálculo prorrateado para que la relación de depósito coincida con las reservas más recientes.
Retirar liquidez
Ajuste de unidades de cálculo / tarifa de prioridad
Los swaps de AMM v4 son pesados en cálculo porque cada instrucción valida el estado completo de OpenBook. Un swap típico usa 180k–250k CU dependiendo de cuántas órdenes abiertas necesiten liquidarse en el camino. Siempre pasa un límite de unidades de cálculo:computeBudgetConfig, el SDK aún puede usar su propio valor predeterminado; inspecciona innerTransactions para confirmar. Ver integration-guides/priority-fee-tuning.
CPI directo en Rust
Si debes hacer CPI en AMM v4 desde tu propio programa Anchor, necesitarás modelar la lista de cuentas deSwapBaseIn exactamente. Un esquema mínimo:
Instruction construida manualmente.
El esquema de CPI anterior usa el diseño heredado v1
SwapBaseIn (etiqueta 9, 17 cuentas) para leer/reproducir transacciones existentes. Desde la actualización de 2026-07, las cuentas de mercado se aceptan pero se ignoran. Para código nuevo, prefiere SwapBaseInV2 / SwapBaseOutV2 (etiquetas 16 / 17), que eliminan las cuentas de mercado (y amm_open_orders) completamente — pasa solo 8 cuentas: token_program, amm, amm_authority, los dos vaults del pool, las dos cuentas de token del usuario, y user_owner.Trampas
- Recuento de cuentas incorrecto en swaps v1. El
SwapBaseIn/SwapBaseOutheredado aún requiere la lista completa de 17 cuentas (o 18 cuentas) — un recuento no coincidente revierte conWrongAccountsNumber. El contenido de las cuentas de mercado ya no se valida, pero aún debes ocupar sus espacios. Prefiere los puntos de entrada V2 para evitar esto. - Lectura de saldos de vault sin procesar. Las reservas ahora son solo de vault; resta la PnL acumulada (
need_take_pnl_*). La cotización del SDK oapi-v3.raydium.io/pools/info/idslo maneja por ti. - Llamar a instrucciones eliminadas.
MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfo,AdminCancelOrders, eInitialize/PreInitializeheredados ahora revierten. UsaInitialize2para creación de pools; no hay crank que llamar. - Mints de Token-2022. No soportados. Un pool AMM v4 no puede crearse contra un mint de Token-2022; cualquier par de Token-2022 debe estar en CPMM o CLMM.
Dónde ir a continuación
products/amm-v4/instructions— la superficie a nivel de instrucción detrás de estas demostraciones.user-flows/migrate-amm-v4-to-cpmm— si eres un LP considerando migración.integration-guides/priority-fee-tuning— dimensionamiento de tarifa de prioridad para swaps pesados de AMM v4.

