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 →
Fuente de verdad. Esta página es el único lugar de la documentación que enumera direcciones de programas de manera literal. Otras páginas enlazan aquí. Si una ID cambia, actualízala solo aquí y cada referencia en el sitio se mantendrá consistente.Siempre coteja los valores con la API en directo (https://api-v3.raydium.io/main/info) antes de firmar transacciones reales.

Mainnet-beta

Regla práctica: si una ID de programa en la naturaleza no coincide con la tabla a continuación, no firmes la transacción. Una ID de programa que no coincida es la forma más fácil de perder fondos en Solana.

Programas en cadena

ProgramaID del programaFuente
AMM v4 (AMM híbrido + OpenBook)675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8raydium-amm
CPMM (AMM estándar)CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1Craydium-cp-swap
CLMM (Liquidez concentrada)CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqKraydium-clmm
Stable AMM (curva de tipo StableSwap)5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3hfuente no disponible públicamente
Farm v3 (staking RAY heredado)EhhTKczWMGQt46ynNeRX1WfeagwwJd7ufHvCDjRxjo5Qfuente no disponible públicamente
Farm v5 (granjas de ecosistema heredadas)9KEPoZmtHUrBbhWN1v1KWLMkkvwY6WLtAVUCPRtRjP4zfuente no disponible públicamente
Farm v6 (granjas de ecosistema actuales)FarmqiPv5eAj3j1GMdMCMUGXqPUvmquZtMy86QH6rzhGfuente no disponible públicamente
LaunchLabLanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3ujfuente no disponible públicamente
AMM Routing (enrutador en cadena de Raydium)routeUGWgWzqBWFcrCfv8tritsqukccJPu3q5GPP3xSfuente no disponible públicamente
Burn & Earn / LP LockLockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwEfuente no disponible públicamente
Notas:
  • AMM v4 y Farm v3/v5 se retienen para grupos de posiciones existentes. La interfaz de usuario y SDK de Raydium enrutan la creación de nuevos grupos y nuevas granjas de ecosistema a CPMM, CLMM y Farm v6 respectivamente — ver protocol-overview/versions-and-migration.
  • La ID de Farm v3 anterior también funciona como el programa de staking de activo único $RAY. El comportamiento es idéntico a Farm v3 para staking de LP.
  • Stable AMM es un programa separado que el programa de enrutamiento de AMM puede dirigirse junto con AMM v4, CPMM y CLMM. La liquidez es más delgada en comparación con los otros tres programas y el SDK no expone una API de primera clase para ella; los integradores que enrutan a través de ella generalmente lo hacen a través del enrutador.
  • Disponibilidad de código fuente. De los programas en cadena anteriores, solo raydium-amm (AMM v4), raydium-cp-swap (CPMM) y raydium-clmm (CLMM) se envían con repositorios de código fuente públicos bajo github.com/raydium-io. Stable AMM, LaunchLab, AMM Routing, Burn & Earn / LP Lock y los programas de Farm no están disponibles públicamente — verifica contra la API en directo, el bytecode en cadena y los IDLs publicados en raydium-io/raydium-idl en su lugar.

Autoridad de administrador compartida

Todos los programas basados en Anchor (CLMM, CPMM, LaunchLab, Lock) comparten una única Pubkey de administrador codificada para el control de acceso a nivel de instrucción en rutas de administrador (como CreateAmmConfig o UpdatePoolStatus):
ClústerAdministrador
mainnet-betaGThUX1Atko4tqhN2NaiTazWSeFWMuiUvfFnyJyUghFMJ
devnetDRayqG9RXYi8WHgWEmRQGrUWRWbhjYWYkCRJDd6JBBak
Las autoridades operacionales a nivel de cuenta (p. ej. protocol_owner, fund_owner en AmmConfig de CPMM/CLMM, o las billeteras de migración en GlobalConfig de LaunchLab) se almacenan en cadena y pueden diferir del administrador del programa. Léelas directamente desde la cuenta de configuración relevante antes de enviar transacciones de alto riesgo.

Configuración compartida / convenciones de PDA

Varios programas de Raydium exponen cuentas de configuración cuyas claves públicas son estables y se enumeran en la API pública. Prefiere búsquedas de API sobre codificación:
# Configuraciones de tarifas CPMM (devuelve un array de {id, index, tradeFeeRate, ...})
GET https://api-v3.raydium.io/main/cpmm-config

# Configuraciones de tarifas CLMM
GET https://api-v3.raydium.io/main/clmm-config
Parámetros de tarifa de AmmConfig predeterminada de CPMM con índice 0 (grupo estándar de 0,25%), para referencia:
CampoValorSignificado
trade_fee_rate25000,25% del volumen de transacciones
protocol_fee_rate12000012% de la tarifa de transacción (no volumen) enrutada al protocolo
fund_fee_rate400004% de la tarifa de transacción enrutada a la multisig de fondos
creator_fee_rate5000,05% del volumen de transacciones al creador del grupo (opcional)
Ver products/cpmm/fees para cómo se componen los dividendos, y reference/fee-comparison para la matriz entre productos.

Semillas PDA

Las semillas a continuación son canónicas y son utilizadas tanto por el SDK como por CPIs en cadena. Siempre calcula PDAs; no codifiques direcciones derivadas.
// CPMM — todas las semillas son cadenas ASCII estáticas a menos que se indique lo contrario.
const [ammConfig]   = PublicKey.findProgramAddressSync(
  [Buffer.from("amm_config"), u16ToBytes(index)],
  CPMM_PROGRAM_ID,
);
const [authority]   = PublicKey.findProgramAddressSync(
  [Buffer.from("vault_and_lp_mint_auth_seed")],
  CPMM_PROGRAM_ID,
);
const [poolState]   = PublicKey.findProgramAddressSync(
  [Buffer.from("pool"), ammConfig.toBuffer(), token0Mint.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [lpMint]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_lp_mint"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault0]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token0Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [vault1]      = PublicKey.findProgramAddressSync(
  [Buffer.from("pool_vault"), poolState.toBuffer(), token1Mint.toBuffer()],
  CPMM_PROGRAM_ID,
);
const [observation] = PublicKey.findProgramAddressSync(
  [Buffer.from("observation"), poolState.toBuffer()],
  CPMM_PROGRAM_ID,
);
token0Mint / token1Mint están ordenadas por orden de bytes de clave pública (token0 < token1) antes de hacer hash. Hacerlo incorrectamente produce un PDA válido para un grupo que no existe. Las semillas CLMM equivalentes siguen el mismo estilo; ver products/clmm/accounts.

Devnet

ProgramaID del programa
AMM v4DRaya7Kj3aMWQSy19kSjvmuwq9docCHofyP9kanQGaav
CPMMDRaycpLY18LhpbydsBWbVJtxpNv9oXPgjRSfpF2bWpYb
CLMMDRayAUgENGQBKVaX8owNhgzkEDyoHTGVEGHVJT1E9pfH
Stable AMMDRayDdXc1NZQ9C3hRWmoSf8zK4iapgMnjdNZWrfwsP8m
LaunchLabDRay6fNdQ5J82H7xV6uq2aV3mNrUZ1J4PgSKsWgptcm6
AMM RoutingDRaybByLpbUL57LJARs3j8BitTxVfzBg351EaMr5UTCd
Burn & Earn / LP LockDLockwT7X7sxtLmGH9g5kmfcjaBtncdbUmi738m5bvQC
Farm v3 / v5 / v6No se publica de manera fiable en devnet — confirma a través de la API en directo (https://api-v3-devnet.raydium.io/main/info) antes de usar.
API REST de Devnet base: https://api-v3-devnet.raydium.io/ (misma forma de ruta que mainnet).

Cómo verificar una dirección en cadena

  1. Explorador de Solana. Pega la dirección en explorer.solana.com y confirma que está marcada como Program con una autoridad de actualización actual. Mainnet-beta debe mostrar implementaciones firmadas por la autoridad de actualización de Raydium.
  2. CLI. Usa solana program show <PROGRAM_ID> -u mainnet-beta para inspeccionar el slot de implementación, cargador BPF, autoridad de actualización y longitud de datos. Registra esto en tu runbook.
  3. Adjunto de IDL. Consulta el IDL en cadena con anchor idl fetch <PROGRAM_ID> --provider.cluster mainnet. El campo address del IDL debe coincidir. Los mismos IDLs se replican en github.com/raydium-io/raydium-idl — compara el IDL en cadena con el repositorio antes de confiar en él.
  4. Autoridades de configuración/administrador. Para cuentas de configuración CPMM/CLMM, lee el campo owner/protocol_owner y confirma que coincide con la multisig actual de Raydium publicada en security/admin-and-multisig.
Si cualquiera de las cuatro comprobaciones anteriores no está de acuerdo con esta página, trata esta página como incorrecta y abre un problema antes de escribir código nuevo contra las direcciones.

Actualizar esta página

  • Los cambios en IDs de programas son críticos para la seguridad. No envíes un cambio de ID de programa sin (a) enlazar al anuncio de Raydium, (b) añadir una entrada en reference/changelog, y (c) ejecutar una verificación de enlaces sobre la documentación para confirmar que ninguna página aún hace referencia al valor anterior.
  • Las deprecaciones permanecen en la tabla con una nota de estado en lugar de ser eliminadas — los grupos existentes aún se resuelven a través del programa anterior.
Fuentes: