Saltar al contenido principal
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 →

El único nivel publicado

A diferencia de CPMM y CLMM, AMM v4 no tiene una cuenta AmmConfig. Las comisiones se almacenan directamente en la estructura AmmInfo.fees de cada pool y se fijan en la creación del pool. Los valores predeterminados que cubren esencialmente todos los pools de AMM v4 activos: Ten en cuenta que pnl_numerator / pnl_denominator es una fracción de la comisión de intercambio, no del volumen de operaciones — una lectura errónea común. La participación de LP es el complemento (88% de la comisión = 0,22% del volumen) y es implícita; no hay un numerador separado de “participación de LP”. Un pequeño número de pools antiguos se crearon con numeradores diferentes; siempre lee AmmInfo.fees antes de citar. No hay comisión de fondo ni línea de comisión de creador: estas son invenciones de CPMM/CLMM que no existían en el modelo de comisiones original de AMM v4.

Cómo se calcula la división

En cada intercambio, el pool cobra la comisión bruta de intercambio del monto de entrada y luego distribuye:
  • lp_portion se deja en la bóveda y contribuye al siguiente k. Los LP la capturan canjeando tokens de LP más tarde.
  • pnl_portion incrementa AmmInfo.state_data.need_take_pnl_coin o need_take_pnl_pc dependiendo de cuál sea el lado de entrada del intercambio.
El mismo truco de preservación de invariantes que CPMM: la cantidad de PnL se encuentra físicamente en la bóveda pero se resta de las reservas utilizadas en la curva, por lo que TakePnl mueve tokens sin cambiar el precio.

PnL de OpenBook (histórico)

Eliminado. La integración de OpenBook ha sido eliminada del programa, por lo que el segundo flujo de PnL descrito en esta sección ya no se genera. Los contadores total_pnl_{coin,pc} ahora son campos deprecados — contienen valores históricos congelados y nunca se actualizan. La ruta de comisión de protocolo del 0,03% (arriba) no se ve afectada y sigue activa.
Históricamente, AMM v4 tenía un segundo flujo de ingresos similar a una comisión: cuando sus órdenes limitadas en OpenBook se ejecutaban, el pool podía estar en el lado tomador de la ejecución y ganar o pagar el diferencial de creador/tomador del mercado. Estos eventos de PnL se liquidaban en las bóvedas del pool durante MonitorStep y el programa los acreditaba a state_data.total_pnl_{coin,pc} como contadores informativos.
  • Cuando la cuadrícula publicada del pool estaba correctamente calibrada alrededor del precio de la curva, las ejecuciones de OpenBook tendían a ser positivas en comisiones para el pool — el AMM estaba efectivamente creando mercado en OpenBook y ganando reembolsos de creador.
  • Cuando OpenBook se pausaba o la cola de eventos se llenaba, el pool podía quedarse con órdenes antiguas que se ejecutaban a precios desfavorables, produciendo PnL negativo. Este acoplamiento operativo fue una de las motivaciones para alejarse del diseño híbrido.
Este PnL de OpenBook no era lo mismo que la comisión de protocolo del 0,03%. El PnL de OpenBook inflaba las reservas del pool directamente (beneficiando a los LP + protocolo proporcionalmente a la división de comisiones), mientras que la comisión de protocolo del 0,03% estaba etiquetada específicamente para retiro administrativo. Con el lado de OpenBook desactivado, el único acúmulo de comisiones hoy es el 0,25% en swaps de AMM y su división 22/3.

Recopilación

El administrador (multisig de Raydium) llama a WithdrawPnl para retirar need_take_pnl_* a las cuentas “propietario de PnL” a nivel de pool configuradas en el AmmConfig del programa (una configuración diferente, con alcance de programa — no el AmmConfig de estilo CPMM por pool). El retiro:
  1. Transfiere need_take_pnl_coin / need_take_pnl_pc desde las bóvedas del pool al destino de PnL.
  2. Pone a cero los contadores.
Ya no hay un paso de liquidación de OpenBook. Si el saldo de la bóveda es insuficiente para cubrir el PnL acumulado, la instrucción ahora devuelve TakePnlError directamente. La operación no mueve la curva — los LP no deberían ver ningún cambio de precio en una llamada a WithdrawPnl. Ten en cuenta que el diseño de cuenta de WithdrawPnl cambió en la actualización de 2026-07 (ver instrucciones).

Redención de comisiones de LP

No hay una instrucción dedicada para “recopilar comisiones de LP”. Las comisiones de LP se acumulan en las bóvedas e inflan k con el tiempo; los LP las realizan quemando tokens de LP a través de Withdraw. El valor de un token de LP crece monótonamente a medida que (coin_reserve_effective, pc_reserve_effective) crecen.

Visualización: dónde va 1.000 USDC de volumen

En un intercambio pesado en USDC de $1.000 contra un pool con parámetros predeterminados:
Compara con CPMM AmmConfig[0] (nivel 0,25%, sin comisión de creador): LP obtiene $2,10, protocolo $0,30, fondo $0,10. CPMM introduce la línea de fondo tallándola de lo que habría sido la participación de LP en el nivel equivalente de AMM v4.

Tabla de comparación

Matriz completa en reference/fee-comparison.

Notas para integradores

  • Cotización. Obtén AmmInfo a través del SDK o api-v3.raydium.io/pools/info/ids. Las reservas ahora son solo de bóveda, por lo que puedes cotizar directamente contra los saldos de la bóveda — solo recuerda restar need_take_pnl_* (el PnL acumulado se mantiene en la bóveda pero se excluye de la curva).
  • Parámetros de comisión obsoletos. En principio SetParams podría cambiar swap_fee_numerator, pero en la práctica el multisig de Raydium no ha cambiado los valores predeterminados para ningún pool activo. Aún así, siempre lee del estado en cadena en lugar de codificar valores.
  • Sin recompensas. AMM v4 no admite emisiones de recompensas en el pool. Las granjas del ecosistema heredado (Farm v3 / v5 / v6) son el equivalente de la capa de apuesta — ver products/farm-staking.

Dónde ir a continuación

Fuentes: