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 →
Resumen en un párrafo
CPMM — Constant Product Market Maker, oficialmente el “AMM estándar” en la interfaz de Raydium — es una implementación nativa de Solana del clásico AMMx · y = k. Sin libro de órdenes OpenBook, sin legado de Serum, sin dependencias externas más allá de SPL Token y Token-2022. Cada pool es una terna de (dos bóvedas de tokens, un mint de LP) gobernada por una PDA de autoridad propiedad del programa, con precio determinado por el producto de los saldos de las bóvedas. Es el AMM que Raydium recomienda para todos los nuevos pools de producto constante, y es lo que el endpoint /pools/create y el flujo “Crear pool” de la interfaz web tienen como objetivo por defecto.
Lo que CPMM te ofrece
Actualización de recopilación de comisiones del creador. Cualquier pagador puede activar
CollectCreatorFeePermissionless. Los fondos siguen yendo solo a las cuentas de tokens canónicas del creador del pool, y el CollectCreatorFee firmado por el creador existente sigue disponible. Consulta Instrucciones.- Token-2022 con una lista de extensiones permitidas verificada. CPMM no acepta mints de Token-2022 arbitrarios. El programa aplica una lista blanca de extensiones seguras en la creación del pool:
TransferFeeConfig,MetadataPointer,TokenMetadata,InterestBearingConfigyScaledUiAmount. Cualquier otra extensión en el mint causa queInitializerechace conNotSupportMint— a menos que el mint en sí esté en una pequeña lista de mints permitidos codificada en el programa (utilizada para incorporar mints específicos caso por caso). Las comisiones de transferencia en particular afectan la matemática del swap y se aplican en el lado correcto de la operación — consultaalgorithms/token-2022-transfer-fees. - Comisiones predecibles. Cada pool hace referencia a una
AmmConfigseleccionada en la creación. La configuración lleva una tasa de comisión comercial (dividida entre LP, protocolo y fondo) y una tasa de comisión del creador separada e independiente. La comisión del creador es su propio depósito — nunca una parte de la comisión comercial. Los pools optan por cobrarla en la creación. Los valores predeterminados y la matemática completa de la división están enproducts/cpmm/fees. - TWAP en cadena a través de un búfer de anillo de observación. Cada swap actualiza una cuenta de
observation. Los contratos externos pueden leer una observación de precio acumulativo para calcular un TWAP sin un oráculo personalizado. - Diseño de cuenta plano. Un pool se describe completamente por seis PDAs (autoridad, estado del pool, mint de LP, dos bóvedas, observación). Sin cuenta OpenBook por mercado, sin cola de eventos, sin cola de solicitudes. Las transacciones son más baratas tanto en cómputo como en cantidad de cuentas que AMM v4.
- Compatible con bloqueo y ganancia. Los tokens de LP pueden bloquearse bajo el programa LP Lock para que el creador del pool pueda seguir reclamando comisiones sin retener el derecho de retirar liquidez. Se utiliza para lanzamientos de liquidez “permanente”.
Lo que CPMM no es
- No concentrado. La liquidez se distribuye uniformemente en todo el rango de precios, como Uniswap v2. Si necesitas market making eficiente en capital — es decir, concentrar liquidez cerca del precio actual — usa CLMM.
- No híbrido. A diferencia de AMM v4, los pools de CPMM no colocan órdenes en reposo en un mercado OpenBook. El enrutamiento entre pools de CPMM ocurre a través del programa AMM Routing, no a través de un CLOB.
- No lanzable para curvas arbitrarias. La curva está codificada como producto constante. Si quieres una curva de vinculación para un lanzamiento de token, usa LaunchLab, que se gradúa a un pool de CPMM cuando se llena.
Cómo CPMM difiere de AMM v4
Un tratamiento más profundo de la historia de migración está en
protocol-overview/versions-and-migration.
Modelo mental
Un pool de CPMM es un objeto propiedad del programa que contiene tres saldos:vault0 (token0), vault1 (token1) y la oferta del mint de LP. La oferta del mint de LP rastrea la reclamación de los depositantes sobre el pool; las bóvedas de tokens contienen los activos reales. Todo lo demás — la PDA de autoridad, la cuenta de observación, el puntero de configuración de comisiones — es contabilidad para hacer que esa relación de tres variables sea comercializable, recopiladora de comisiones y observable.
Cada operación orientada al usuario se reduce a una transición de estado bien definida:
- Depósito: transferir token0 y token1 adentro, acuñar LP al usuario, sin cambio de precio.
- Retiro: quemar LP del usuario, transferir token0 y token1 afuera en la proporción actual del pool, sin cambio de precio.
- Swap: transferir un token adentro, transferir el otro afuera; la proporción se mueve a lo largo de la curva
x · y = k(menos comisiones); la cuenta de observación muestrea el nuevo precio.
products/cpmm/math y el conjunto de instrucciones en products/cpmm/instructions.
Cuándo elegir CPMM
Elige CPMM cuando:- Estás lanzando un nuevo token o un nuevo par y no tienes opiniones firmes sobre qué rango verá operaciones.
- Uno o ambos tokens utilizan extensiones de Token-2022.
- Quieres un modelo simple de comisión por operación sobre uno dinámico basado en ticks.
- Estás integrando y quieres enrutar a través de Raydium sin asumir la complejidad de las posiciones de CLMM.
- El par es estable o altamente correlacionado (stablecoin-stablecoin, LST-SOL) y quieres concentrar liquidez alrededor de la paridad.
- Eres un equipo de market making dispuesto a gestionar activamente rangos para un APR de comisión más alto por dólar de TVL.
- Estás migrando herramientas existentes de AMM v4 y no estás creando un nuevo pool.
Dónde ir a continuación
- Cuentas — las seis PDAs de un pool de CPMM y cómo derivarlas.
- Matemática —
SwapBaseInputvsSwapBaseOutput, manejo de comisiones de transferencia de Token-2022, actualizaciones de observación. - Instrucciones — la superficie de instrucciones completa con listas de cuentas.
- Comisiones — la división de comisiones de cuatro vías y cómo recopilar.
- Demostraciones de código — fragmentos de TypeScript ejecutables para crear / swap / depósito / retiro.
- Fuente de Raydium CP-Swap —
raydium-io/raydium-cp-swap reference/program-addressespara IDs de programa canónicos

