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 →
A partir de la actualización 2026-07, la dependencia de OpenBook / Serum de AMM v4 ha sido eliminada — ninguna instrucción lee o escribe el estado de OpenBook. Las cuentas de mercado que se muestran a continuación se conservan solo como marcadores de posición en los diseños de instrucciones v1 heredadas (aceptadas pero ignoradas) y como campos de referencia en
AmmInfo. Usa los puntos de entrada de intercambio V2, que las omiten completamente. Esta página aún agrupa las cuentas en secciones “propiedad del pool” y “OpenBook (heredado)” para leer transacciones antiguas.Inventario
Un pool AMM v4 registra un mercado vinculado enAmmInfo en la creación. La imagen completa:
Nota: el prefijo “serum” se mantiene en el IDL y los nombres de campos de AMM v4 por compatibilidad hacia atrás. Estas cuentas ya no son funcionales después de la eliminación de OpenBook.
AmmInfo
La cuenta de estado raíz del pool. Grande (≈ 752 bytes) porque lleva referencias de pool y OpenBook en línea.
El diseño de la estructura no ha cambiado (compatible a nivel de bytes) por lo que los deserializadores existentes siguen funcionando, pero después de la eliminación de OpenBook los campos marcados como
DEPRECADO arriba ya no se escriben — los contadores de volumen swap_* se congelan en su último valor. Para análisis de volumen, usa registros de transacciones en lugar de estos campos. Solo need_take_pnl_* y pool_open_time se mantienen activamente.coin_vault,pc_vault— las bóvedas de Token SPL del pool.coinestoken_0por convención de Serum/OpenBook (base),pcestoken_1(cotización).coin_decimals,pc_decimals— coincidiendo con los mints.open_orders,target_orders,market— campos de referencia heredados. Aún presentes enAmmInfoy aún se pasan posicionalmente en los diseños de instrucciones v1 heredadas, pero el programa ya no los lee ni valida. Los puntos de entrada de intercambio V2 los omiten.fees.swap_fee_numerator / swap_fee_denominator— la comisión comercial combinada. Por defecto25 / 10_000 = 0.25%.status— máscara de bits que controla operaciones. Configurable por administrador a través deAdminSetStatus.state_data.need_take_pnl_*— delta entre comisiones acumuladas brutas y lo que se ha barrido.TakePnlpone estos a cero.
El cableado de OpenBook
Eliminado. La dependencia de OpenBook / Serum ha sido eliminada del programa (actualización 2026-07). Las cuentas descritas en esta sección ya no se validan ni se usan. Permanecen como campos de referencia en
AmmInfo y como marcadores de posición posicionales en los diseños de instrucciones v1 heredadas. Usa los puntos de entrada de intercambio V2 (SwapBaseInV2 / SwapBaseOutV2) que omiten estas cuentas completamente.SwapBaseIn / SwapBaseOut, Deposit o Withdraw, el número de cuentas aún debe coincidir con el diseño antiguo (las cuentas de mercado ocupan sus posiciones históricas), pero su contenido ya no se verifica — no se emite ningún CPI contra ellas. El código nuevo debe usar las variantes de intercambio V2, que no toman estas cuentas en absoluto.
amm_open_orders del AMM es una cuenta propiedad de OpenBook que contiene el estado de orden limitada del pool en este mercado: órdenes activas, saldos liquidados, referentes, etc. amm_target_orders es del lado del AMM: contiene la cuadrícula prevista del AMM (precio/tamaño para cada ranura de orden) para que el programa pueda comparar barato contra lo que está actualmente publicado y colocar / cancelar la diferencia.
PDAs de autoridad
Hay exactamente un PDAamm_authority para todo el programa AMM v4. Su semilla es trivial (["amm authority"]) y su bump se almacena en cada AmmInfo. Esta autoridad firma todos los movimientos de tokens para todos los pools AMM v4.
amm_authority arriba en realidad cubre ambas en el diseño de este programa; versiones diferentes usaron derivaciones diferentes, así que verifica el AmmInfo.nonce del pool específico en el código).
Bóvedas
Las bóvedas de Token SPL del pool son cuentas de token estándar cuyoowner es amm_authority. No ATAs — sus direcciones son PDAs específicas derivadas en Initialize con semillas ["amm_associated_seed", coin_mint_or_pc_mint, market, amm_id]. Las direcciones se almacenan en AmmInfo; la derivación es una curiosidad única.
Token-2022 no es compatible. El programa codifica el ID del programa de Token SPL para todos los movimientos de bóveda. Intentar vincular un pool AMM v4 a un mint de Token-2022 falla en Initialize.
Mint de LP
Un mint clásico de Token SPL cuya autoridad esamm_authority. El suministro total rastrea la propiedad de LP del pool; quemar LP devuelve tokens de ambas bóvedas pro-rata. Porque AMM v4 es anterior a CPMM, no hay un espejo lp_supply en el estado del pool — lee el suministro en cadena del mint directamente.
Máscara de estado
AmmInfo.status controla operaciones. Bits (la posición puede diferir entre versiones del programa — confirma a través de la fuente):
El multisig de Raydium establece estos a través de
SetParams (con param = Status). (AdminCancelOrders ha sido eliminado.)
Observación / oráculo
AMM v4 no tiene una cuenta de observación dedicada. Otros protocolos que necesitan un TWAP en cadena típicamente consumen cruces de libro de OpenBook indirectamente o leen fuera de cadena. Si necesitas un TWAP de Raydium con soporte de programa, usa CPMM o CLMM.Derivar las cuentas de un pool desde cero
Porque AMM v4 no fue diseñado para PDAs deterministas por par (es anterior a esa convención de Solana), elamm_id canónico es un keypair con semilla derivado con:
amm_open_orders, amm_target_orders, amm_withdraw_queue, pool_temp_lp, pool_coin_token_account, pool_pc_token_account y lp_mint. El SDK y la API precomputan estos para ti; ver raydium-sdk-v2’s Liquidity.getAssociatedPoolKeys.
En la práctica, los integradores leen el conjunto completo de cuentas del pool desde GET https://api-v3.raydium.io/pools/info/ids?ids=<POOL_ID> o desde el SDK. La derivación manual rara vez es necesaria.
Referencia rápida del ciclo de vida
Los pools y sus cuentas persisten indefinidamente. Incluso si la liquidez se retira completamente,
AmmInfo permanece.
Qué leer dónde
- Matemáticas y aritmética de comisiones:
products/amm-v4/math. - División de comisiones y cómo se compara con CPMM/CLMM:
products/amm-v4/fees. - Listas de cuentas de instrucciones:
products/amm-v4/instructions. - Derivación de cuentas de OpenBook: Documentos del programa OpenBook (
github.com/openbook-dex/program).
- Programa AMM de Raydium —
raydium-io/raydium-amm reference/program-addressespara IDs de programa canónicos- Protocolo OpenBook / Serum para las cuentas de contraparte

