Skip to main content
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 →
Los productos principales de Raydium no dependen de oráculos externos para la fijación de precios — el estado del pool es el oráculo. Pero la API y el SDK utilizan oráculos externos para la fijación de precios en USD que se muestran a los usuarios, y los mints de Token-2022 traen un conjunto más rico de controles que SPL Token, algunos de los cuales cambian fundamentalmente el modelo de confianza de un pool. Esta página cataloga ambos.

Oráculos en Raydium

Interno: el pool es el oráculo

Para AMM v4, CPMM y CLMM, la definición del protocolo de “precio actual” se deriva únicamente del estado del pool:
  • AMM v4 / CPMM: price = vaultB_balance / vaultA_balance (contabilizando decimales).
  • CLMM: price = (sqrtPriceX64 / 2^64)^2 × 10^(decimalsA - decimalsB).
No se consulta ningún oráculo externo durante un swap, depósito o retiro. Esta es la parte “sin confianza” del diseño AMM: si la matemática del pool es correcta, ninguna manipulación externa de un feed de precios puede corromperla.

ObservationState de CLMM como oráculo TWAP

Los pools CLMM mantienen una cuenta ObservationState que registra snapshots históricos de sqrt_price. Otros programas pueden componerse contra esto para derivar un precio promedio ponderado en tiempo (TWAP) resistente a manipulaciones:
Este es el mismo patrón que usa Uniswap V3. Una manipulación de precio a corto plazo (una ballena empujando temporalmente el pool) no corrompe el TWAP porque se promedia en cientos de slots. Los programas que necesitan un feed de precios más seguro para mints CLMM (oráculos de liquidación, fijación de precios de opciones, etc.) deben usar TWAPs de ObservationState en lugar de precios instantáneos. No uses precios instantáneos de CLMM para composabilidad. Un único swap grande puede empujar el precio spot 10%+ en un pool poco profundo; el TWAP amortigua esto. Consulta products/clmm/accounts#observation-state para el diseño de datos.

Externo: fijación de precios en USD en frontend/API

El frontend de Raydium y api-v3.raydium.io muestran valores en USD (TVL, APR de comisiones, volumen en $). Estos provienen de:
  • Pyth como oráculo principal para mints principales.
  • Precio agregador de Jupiter como alternativa.
  • Precio derivado del pool para mints de cola larga sin cobertura de oráculo externo.
Las pantallas en USD son puramente cosméticas — las operaciones en cadena nunca leen Pyth, y ninguna matemática del pool usa USD. Si Pyth deja de proporcionar datos para un mint, la UI muestra ”—”; el pool sigue funcionando.

Manipulación de oráculos no aplicable a pools de Raydium

Porque el estado del pool es el oráculo, no hay un “ataque de oráculo” en el sentido que la literatura de bug-bounty significa — ninguna fuente de datos externa manipulable que el atacante pueda corromper. Los ataques económicos en el estado del pool (manipulación estilo flash-loan) se cubren en security/attack-vectors.

Riesgos de extensiones de Token-2022

SPL Token-2022 (también conocido como “Token Extensions”) añade comportamiento configurable a los mints mediante extensiones. Algunas extensiones cambian las propiedades de confianza de los pools que las incluyen. Los programas de Raydium manejan algunas automáticamente y exponen otras como advertencias al usuario.

Comisión de transferencia

Qué es: Una comisión configurable (porcentaje de transferencia, hasta un límite de maximum_fee en términos absolutos) pagada por el remitente a la autoridad del mint en cada transferencia. Riesgo: La comisión puede ser cambiada por la autoridad de configuración de comisiones del mint. Si depositas liquidez cuando la comisión es 1%, y la autoridad la sube a 50%, los swaps posteriores devuelven mucho menos de lo esperado. Mitigación en Raydium: Los pools leen la transferFeeConfig actual en el momento del swap y ajustan la matemática. El pool en sí no se corrompe, pero los usuarios ven un resultado peor. La autoridad de comisiones también puede programar un cambio de comisión retrasado; la UI de Raydium marca los pools con cambios de comisión inminentes. Riesgo residual: Si una autoridad de comisiones maliciosa cambia la comisión durante tu swap en vuelo, tu minimumAmountOut protege la desventaja — la tx se revierte. Si confías en el emisor del mint, esto está bien; si no, no hagas LP.

Transfer hook

Qué es: Una transferencia invoca un programa separado (el “hook”) para ejecutar validación personalizada o efectos secundarios. Riesgo: El hook puede bloquear cualquier transferencia, incluyendo las transferencias internas del pool durante un swap. Un hook actualizable puede volverse malicioso más tarde — lo que era seguro en el momento del depósito puede volverse no intercambiable en el momento del retiro. Mitigación en Raydium: Raydium lista un ID de programa hook en el estado del pool. Las integraciones deben mostrar el ID del programa hook a los usuarios para que puedan verificar que es el programa esperado (no actualizable, auditado). Riesgo residual: Si un hook es actualizable y su autoridad se vuelve hostil, el pool puede ser congelado. Raydium no bloquea pools con transfer hooks, pero sí los marca. Haz LP en un pool con transfer hook solo si el hook está verificado como seguro.

Autoridad de congelación

Qué es: La autoridad de congelación de un mint puede congelar cualquier cuenta de token que tenga ese mint, previniendo todas las transferencias. Riesgo: Una autoridad de congelación con la capacidad de congelar la cuenta vault del pool efectivamente cierra el pool — los usuarios no pueden retirar, los traders no pueden hacer swap. Esto se aplica a SPL Token y Token-2022; no es nuevo con Token-2022, pero sigue siendo un riesgo. Mitigación en Raydium: Ninguna a nivel de programa — la congelación de SPL Token es opaca al pool. La UI de Raydium advierte sobre pools con mints congelables. Los usuarios que depositan deben verificar que la autoridad de congelación sea nula o un multisig en el que confíen (USDC tiene una autoridad de congelación; es el emisor Circle). Riesgo residual: Acepta que los mints congelables pueden ser congelados. Los mints principales (USDC, USDT, USDY) tienen autoridades de congelación mantenidas por el emisor y utilizadas solo para cumplimiento regulatorio; esto es generalmente aceptable.

NFTs de posición de emisor restringido de CLMM

CLMM aplica un control adicional para autoridades de congelación de emisor restringido por KYC seleccionadas. Cuando la autoridad de congelación de cualquiera de los mints del pool coincide con la lista codificada del programa, las nuevas posiciones abiertas a través de OpenPositionV2 u OpenPositionWithToken22Nft tienen su cuenta de token NFT congelada inmediatamente. El PDA del pool correspondiente es la autoridad de congelación del mint del NFT de posición. Esto previene que la posición sea transferida a una billetera no aprobada o que cambie el propietario de su cuenta de token. No le da al emisor del token subyacente control de la posición NFT: solo el PDA del pool CLMM es la autoridad de congelación del NFT de posición, y el programa la usa para descongelar solo como parte de ClosePosition antes de quemar. La gestión de liquidez y la recopilación de comisiones o recompensas continúan requiriendo el propietario del NFT. Las posiciones existentes permanecen descongeladas. Los integradores deben tratar la transferibilidad como estado específico de la posición y leer la bandera isFrozen de la cuenta de token del NFT.

Delegado permanente

Qué es: Una extensión de Token-2022 que designa un delegado permanente que puede transferir tokens de cualquier titular sin aprobación. Riesgo: El delegado permanente puede drenar la vault del pool en cualquier momento. Mitigación en Raydium: CPMM y CLMM se niegan a crear pools con mints que tienen un delegado permanente. La inicialización se revierte. Ningún pool de Raydium en ejecución tiene un mint con delegado permanente. Riesgo residual: Cero (siempre que la verificación sea correcta, lo que ambas auditorías verificaron).

No transferible

Qué es: Mints que no pueden ser transferidos por los titulares. Riesgo: Los pools dependen de la transferibilidad para mover tokens entre ATAs de usuario y vaults del pool. Los mints no transferibles trivialmente rompen los pools. Mitigación en Raydium: La creación del pool se revierte en mints no transferibles. Las granjas también se niegan a mints de staking no transferibles.

Congelado por defecto / autoridad de cierre / que genera intereses

Extensiones de menor impacto manejadas por Raydium:
  • Congelado por defecto: las nuevas cuentas de token necesitan ser descongeladas antes de su uso. Raydium maneja esto de manera transparente en la creación de ATA.
  • Autoridad de cierre: una autoridad designada puede cerrar cuentas de token. Las vaults del pool son propiedad de la autoridad derivada del programa del pool, por lo que la autoridad de cierre en el mint no se aplica a la vault.
  • Que genera intereses: el saldo mostrado acumula intereses; amount permanece fijo pero uiAmount crece. La matemática del pool de Raydium usa amount, no intereses acumulados; la pantalla se ajusta por separado.

Autoridad de mint

No es un riesgo específico de Token-2022, pero vale la pena señalar: si un mint retiene la autoridad de mint, el titular puede inflar el suministro a voluntad. Para tokens lanzados, esto diluye a los LPs al precio actual del pool. LaunchLab se niega a crear lanzamientos a menos que la autoridad de mint sea nula.

Etiquetas de riesgo en la UI

El frontend de Raydium etiqueta cada pool con etiquetas de riesgo aplicables:
  • TRANSFER_FEE — comisión de transferencia distinta de cero.
  • TRANSFER_HOOK — extensión transfer-hook activa.
  • FREEZE — mint tiene una autoridad de congelación.
  • MINT — mint tiene una autoridad de mint (el suministro puede inflarse).
  • CLOSE — mint tiene una autoridad de cierre.
Los agregadores que consumen la API de Raydium deben exponer estas etiquetas a los usuarios.

Lista de verificación del integrador

Antes de componerse con un pool de Raydium:
  • Verifica las extensiones de cada mint a través de getMint(mint, TOKEN_2022_PROGRAM_ID).
  • Salta pools donde cualquier mint tiene permanent_delegate o non_transferable (estos no deberían existir en Raydium, pero defensa en profundidad).
  • Verifica la autoridad de congelación para ambos mints; solo nula o autoridad de confianza.
  • Antes de ofrecer transferencia de posición, depósito en garantía o Burn & Earn, confirma que la cuenta de token del NFT de posición CLMM no está congelada.
  • Para pools con transfer-hook, verifica el ID del programa hook contra una lista blanca.
  • Dimensiona la exposición contra escenarios de comisión de transferencia (¿qué pasa si la comisión sube al máximo?).
  • Usa TWAP de CLMM (ObservationState) en lugar de precio spot para fijación de precios de derivados.

Declaración de aceptación de riesgo residual

Los programas de Raydium hacen cumplir lo que puede hacerse cumplir a nivel de programa:
  • La creación del pool se niega a mints con delegado permanente / no transferibles.
  • La matemática del swap se ajusta correctamente para comisiones de transferencia actuales.
  • ObservationState proporciona un oráculo resistente a manipulaciones.
Riesgos residuales que los usuarios deben aceptar:
  • La autoridad de congelación de un mint puede congelar el pool.
  • La autoridad de comisiones de un mint puede aumentar la comisión de transferencia (hasta el límite de maximum_fee) en cualquier momento.
  • Un programa transfer-hook puede ser actualizado a código malicioso.
  • La tasa de acumulación de un mint que genera intereses puede ser cambiada.
La defensa correcta es la diligencia previa a LP: no deposites en pools con mints que tengan autoridades concentradas en las que no confíes. Raydium no puede decidir esa confianza por ti; solo puede exponer los hechos relevantes.

Referencias

Fuentes: