Saltar al contenido principal

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.

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 APR mostrado en la interfaz de Raydium para un pool CLMM es el APR de comisiones realizado de la liquidez dentro de rango durante las últimas 24 horas, proyectado a un año. No es el APR que tu posición habría ganado — eso depende de tu rango, tu tiempo dentro de rango, y tu participación de la liquidez que estuvo activa durante la ventana de trading.

La fórmula principal

Para un pool CLMM, el APR de comisiones diario mostrado en Raydium se calcula como:
apr_24h = (fees_24h / tvl_in_range_24h) · 365
Donde:
  • fees_24h es la suma de comisiones de swap del lado del LP acumuladas en las últimas 24 horas (en USD).
  • tvl_in_range_24h es el valor promedio ponderado por tiempo en USD de la liquidez que estuvo dentro de rango durante la ventana.
El denominador es lo que distingue el APR de CLMM del APR de CPMM. CPMM usa el TVL total del pool porque cada dólar siempre contribuye. CLMM usa solo el subconjunto dentro de rango porque los dólares fuera de rango no ganan nada.

Cuál será tu APR real

El APR titular es una estadística del pool, no de tu posición. Tu APR depende de cuatro multiplicadores:
your_APR = headline_APR
         · (your_in_range_fraction / pool_in_range_fraction)     # bonificación por concentración
         · time_in_range                                          # disciplina de rango
         · (1 − transfer_fee_haircut)                             # impuesto Token-2022
         · compounding_factor                                     # si auto-reinviertes
  • Bonificación por concentración. Si tu rango es más cerrado que el promedio del pool, cada tick activo tiene más de tu liquidez por dólar que el del LP promedio. Más cerrado = mayor bonificación (y proporcionalmente mayor amplificación de IL).
  • Tiempo dentro de rango. Si estás dentro de rango solo el 40% del tiempo, multiplica por 0.40.
  • Descuento por comisión de transferencia. Para mints Token-2022 con comisiones de transferencia, cada recolección de comisiones atraviesa una transferencia que cuesta puntos base.
  • Capitalización. Si collectFee y redepliegas en el mismo rango semanalmente, el APR efectivo es aproximadamente (1 + daily_APR)^365 − 1. Sin capitalización es lineal.

Ejemplo práctico

Supón que un pool CLMM SOL/USDC tiene:
  • Volumen 24h: $120M
  • Nivel de comisión: 0.05% (LP recibe el 88% de comisiones después del corte del protocolo)
  • TVL total: $40M
  • TVL dentro de rango: $18M (45% del pool está actualmente dentro de rango)
fees_24h = 120M · 0.0005 · 0.88 = $52,800
apr_24h  = (52,800 / 18,000,000) · 365 = 107%
La interfaz de Raydium muestra 107% APR para el pool. (Este ejemplo usa un pool profundo y de alto volumen para mantener los números concretos; los pools CLMM típicos muestran entre 10% y 50% APR, con pools de bajo volumen muy por debajo del 10%.) Ahora estás considerando abrir una posición:
  • Tu rango: lo suficientemente cerrado para que tengas 2× la concentración promedio.
  • Tiempo esperado dentro de rango: 70% (revisarás semanalmente).
  • Sin comisiones Token-2022. Sin auto-capitalización.
your_APR ≈ 107% · 2 · 0.70 = 150%
Esa es una estimación, no una garantía. El volumen realizado puede caer a la mitad o duplicarse en una semana.

Por qué el APR histórico es una señal rezagada

El APR de CLMM se mueve rápido en comparación con el APR de CPMM porque el denominador de TVL dentro de rango se mueve rápido:
  • Un movimiento de precio grande empuja fragmentos de posiciones fuera de rango, reduciendo el denominador. De repente tu TVL restante dentro de rango se ve “APR más alto” — pero solo porque los competidores se fueron, y típicamente el volumen también cae.
  • Un pool alcanzando un nuevo máximo histórico puede mostrar temporalmente 500–1000% APR durante una hora ya que la mayoría de posiciones estaban calibradas para precios más bajos y solo algunos LPs agresivos permanecen dentro de rango.
  • Una vez que el mercado se estabiliza, los LPs rebalancean y el APR regresa a la media.
Reglas prácticas:
  • Ignora APR sub-24h. Demasiado ruido.
  • Prefiere ventanas de 7d y 30d. Raydium expone ambas vía GET /pools/info/ids — campos week.apr y month.apr.
  • Haz backtesting de tu rango específico en datos históricos de volumen y precio antes de comprometer capital significativo.

Cómo funciona las matemáticas (paso de un tick único)

Dentro de un único tick el CLMM se comporta como un CPMM sobre la cantidad de liquidez L activa en ese tick. Las comisiones se acumulan en fee_growth_global_X y fee_growth_global_Y por unidad de liquidez. Para una posición con liquidez Lₚ que abarca rangos de tick [i_lo, i_hi]:
fees_earned_X = Lₚ · (fee_growth_inside_X(i_lo, i_hi, now) − fee_growth_inside_X(i_lo, i_hi, t_open))
fees_earned_Y = Lₚ · (fee_growth_inside_Y(i_lo, i_hi, now) − fee_growth_inside_Y(i_lo, i_hi, t_open))
Donde fee_growth_inside resta el crecimiento de comisiones por debajo de i_lo y por encima de i_hi del acumulador global. Detalles en algorithms/clmm-math. Para calcular comisiones esperadas durante un período futuro para un rango prospectivo, estima:
expected_fees_per_day = Σ_ticks_in_range (volume_at_tick · fee_rate · your_share_at_tick)
El SDK de Raydium expone getEstimateAprFromPositionAndPool que realiza esta estimación usando el histograma de volumen-por-tick reciente.

Ayudante del SDK

import { Raydium, TxVersion } from "@raydium-io/raydium-sdk-v2";

const raydium = await Raydium.load({ owner, connection });
const pool = await raydium.clmm.getPoolInfoFromRpc({ poolId });

const apr = await raydium.clmm.estimatedApr({
  poolInfo: pool.poolInfo,
  poolKeys: pool.poolKeys,
  tickLower: -100,   // tu rango previsto
  tickUpper:  100,
  volumeUsd24h: pool.poolInfo.day.volume, // o una estimación personalizada
});

console.log(`Expected APR: ${apr.feeApr * 100}% (solo comisiones, excluye incentivos de farm)`);
El método también retorna por separado cualquier APR de farm si el pool tiene un farm adjunto. Tu “LP APR” completo es feeApr + farmApr.

Dónde encaja el APR de farm

Los pools CLMM de Raydium pueden tener emisiones de Farm v6 superpuestas. Las recompensas de farm se pagan en un mint de recompensa (a menudo RAY o un token asociado) independiente de las comisiones de swap. La interfaz de Raydium típicamente muestra:
APR Total = APR de Comisiones + APR de Farm [en mints de recompensa $X, Y, Z]
El APR de farm se calcula de manera similar pero usando el cronograma de emisión de recompensas y el precio actual del mint de recompensa en USD. A diferencia del APR de comisiones no es dependiente de volatilidad — es un cronograma fijo. Consulta products/farm-staking/overview para las matemáticas de emisión de farm.

Errores comunes

  • “El APR se capitaliza automáticamente.” No. Las comisiones deben reclamarse vía collectFee, luego redesplegarse manualmente. Raydium no auto-capitaliza comisiones de CLMM.
  • “Mi APR = APR titular.” Solo si tu concentración es promedio, tu tiempo dentro de rango es 100%, y capitalizas con la misma cadencia. Todos tres son usualmente falsos.
  • “Mayor nivel de comisión = mayor APR.” Solo si el volumen sobrevive la comisión más alta. A 1% un par puede mostrar 50% APR pero hacer 1/10 del volumen; neto menor que 0.25% a 120% × 0.1 = 12%.
  • “Posiciones fuera de rango tienen riesgo cero.” Tienen ingreso de comisión cero pero IL completo en la composición de token existente — la posición ahora es “100% de cualquier lado”.

Enlaces relacionados

Fuentes:
  • Implementación de estimatedApr del SDK v2 de Raydium.
  • Página de pool de la interfaz de Raydium (campos de APR en vivo).
  • Derivación de crecimiento de comisiones de Uniswap V3.