> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Tarifas de Stable AMM

> Idénticas a AMM v4: tarifa comercial del 0,25%, división LP/protocolo de 0,22%/0,03%. Sin tarifa de fondo, sin tarifa de creador.

<Info>
  **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 →](/products/stable/fees)
</Info>

## El modelo de tarifas

Stable AMM utiliza **la misma estructura de tarifas que AMM v4**. Solo hay un nivel de tarifa por pool (establecido en la inicialización); los pools no pueden reconfigurarse a niveles más altos.

| Campo                                               | Predeterminado | Significado                                                                                                                        |
| --------------------------------------------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `swap_fee_numerator / swap_fee_denominator`         | `25 / 10_000`  | **Tarifa comercial bruta: 0,25%** del volumen de entrada.                                                                          |
| `trade_fee_numerator / trade_fee_denominator`       | `25 / 10_000`  | Mismo 0,25%; campo heredado que se usaba anteriormente para precios de órdenes en OpenBook, retenido por compatibilidad de diseño. |
| `pnl_numerator / pnl_denominator`                   | `12 / 100`     | **Participación del protocolo en la tarifa: 12%** — es decir, `0,25% × 12% = 0,03%` del volumen.                                   |
| `min_separate_numerator / min_separate_denominator` | `4 / 10_000`   | Piso de redondeo interno.                                                                                                          |

No hay **tarifa de fondo** ni **tarifa de creador** — estas son invenciones posteriores a AMM v4 (CPMM/CLMM). Stable AMM es anterior a esa convención.

## Cómo se calcula la división

En cada swap:

```
gross_fee = ceil(amount_in * (swap_fee_numerator / swap_fee_denominator))    // p. ej., 0,25% de amount_in
pnl_portion = gross_fee * (pnl_numerator / pnl_denominator)                  // 12% de gross_fee
lp_portion = gross_fee − pnl_portion                                          // 88% de gross_fee
```

* **`lp_portion`** permanece en la bóveda, infla `k` y beneficia a los LP en el canje.
* **`pnl_portion`** incrementa `AmmInfo.out_put.need_take_pnl_coin` o `need_take_pnl_pc` (dependiendo del token de entrada) y es retirada por `WithdrawPnl`.

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 efectivas" utilizadas en la matemática de la curva, por lo que su eliminación no cambia el precio.

## PnL de OpenBook (retirado)

Al principio de su vida, el pool también publicaba órdenes limitadas en OpenBook; cuando se ejecutaban, ganaba o perdía el diferencial entre creador de mercado y tomador, se liquidaba durante `MonitorStep` y se registraba el resultado en los contadores `out_put.total_pnl_{coin,pc}`. **Esa ruta ha estado inactiva durante años** — el pool no tiene órdenes abiertas, por lo que el único acumulación de tarifas es la participación del protocolo del 0,03% descrita anteriormente. Los contadores `total_pnl_*` permanecen en el diseño pero ya no se incrementan. La [actualización del 2026-06-22](/es/reference/changelog) eliminó el código restante de OpenBook (incluido `MonitorStep`). CPMM se convirtió en el predeterminado para nuevos pools en parte debido a este acoplamiento anterior a OpenBook; Stable AMM es independiente del libro de órdenes.

## Recopilación

El multisig de Raydium (o quien controle `amm_admin`) llama a `WithdrawPnl` para retirar:

1. Transfiere `need_take_pnl_coin` y `need_take_pnl_pc` desde las bóvedas a cuentas designadas por el administrador.
2. Pone a cero los contadores.

La operación no mueve la curva. Los LP no ven cambios de precio.

<Warning>
  `WithdrawPnl` fue modificado en la actualización del 2026-06-22: ahora utiliza un **diseño fijo de 10 cuentas, solo para administrador, sin ruta de compatibilidad** (los diseños antiguos fallan con errores como `InvalidTokenCoin`), y cuando los fondos disponibles del pool son insuficientes para cubrir el PnL devuelve `TakePnlError` directamente en lugar de deshabilitar el pool. Consulta [`products/stable/instructions`](/es/products/stable/instructions#withdrawpnl).
</Warning>

## Canje de tarifas de LP

Sin instrucción dedicada para "recopilar tarifas". Las tarifas de LP se acumulan en las bóvedas, inflando las reservas. Los LP las realizan quemando LP a través de `Withdraw`. El valor de un token LP crece a medida que crecen las reservas.

## Visualización: a dónde va \$1.000 de volumen

En un `Swap` pesado en USDC de \$1.000 contra un pool Stable con parámetros predeterminados:

```
Tarifa comercial bruta (0,25%):     $2,50
  Participación de LP   (0,22%):    $2,20  → permanece en el pool, aumenta k
  Participación de PnL  (0,03%):    $0,30  → need_take_pnl_pc, retirada por WithdrawPnl
Usuario recibe (menos curva):       $997,50
```

Compara con AMM v4 (idéntico) y CPMM (nivel 0,25%, sin tarifa de creador): CPMM da a los LP \$2,10, protocolo \$0,30, fondo \$0,10.

## Tabla de comparación

|                  | Stable AMM | AMM v4  | CPMM `index=0` |
| ---------------- | ---------- | ------- | -------------- |
| Tarifa comercial | 0,25%      | 0,25%   | 0,25%          |
| LP               | 0,22%      | 0,22%   | 0,21%          |
| Protocolo        | 0,03%      | 0,03%   | 0,03%          |
| Fondo            | Ninguno    | Ninguno | 0,01%          |
| Creador          | Ninguno    | Ninguno | 0 por defecto  |

Matriz completa: [`reference/fee-comparison`](/es/reference/fee-comparison).

## Notas para integradores

* **Cotización:** Siempre lee `AmmInfo` de la cadena; no codifiques las tarifas. Con `SetParams` ahora eliminado, los parámetros de tarifa en los pools existentes son efectivamente fijos.
* **Curva vs. tarifas:** La tarifa del 0,25% es independiente de si la curva es una fórmula (x·y=k en AMM v4) o una tabla de búsqueda (Stable). Ambas aplican el mismo 0,25% al monto de entrada.
* **Sin recompensas:** Los pools Stable no admiten emisiones de recompensas en el pool. Las granjas del ecosistema (Farm v3/v5/v6) manejan el staking en otro lugar.

## Próximos pasos

* [`products/stable/math`](/es/products/stable/math) — aplicación de tarifas en la matemática de swap.
* [`products/stable/instructions`](/es/products/stable/instructions) — lista de cuentas de `WithdrawPnl`.
* [`products/amm-v4/fees`](/es/products/amm-v4/fees) — derivación de tarifas más profunda para la ruta de OpenBook.
* [`reference/fee-comparison`](/es/reference/fee-comparison) — comparación lado a lado de todos los productos.

Fuentes:

* `raydium-stable/program/src/state.rs` (struct `Fees`)
* Campos `AmmInfo.fees` en cadena en pools mainnet activos
