Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
Resumo em um parágrafo
CPMM — Constant Product Market Maker, oficialmente o “Standard AMM” na interface do Raydium — é uma implementação nativa em Solana do clássico AMMx · y = k. Sem order book OpenBook, sem legado Serum, sem dependências externas além de SPL Token e Token-2022. Cada pool é uma tríade de (dois vaults de token, um mint de LP) governada por uma PDA de autoridade controlada pelo programa, precificada pelo produto dos saldos dos vaults. É o AMM que o Raydium recomenda para todos os novos pools de produto constante, e é o que o endpoint /pools/create e o fluxo “Create pool” da interface web visam por padrão.
O que o CPMM oferece
Atualização de coleta de taxa do criador. Qualquer pagador pode disparar
CollectCreatorFeePermissionless. Os fundos ainda vão apenas para as contas de token canônicas do criador do pool, e o CollectCreatorFee assinado pelo criador existente permanece disponível. Veja Instructions.- Token-2022 com uma lista de extensões permitidas verificada. O CPMM não aceita mints Token-2022 arbitrários. O programa impõe uma lista de permissões de extensões seguras na criação do pool:
TransferFeeConfig,MetadataPointer,TokenMetadata,InterestBearingConfigeScaledUiAmount. Qualquer outra extensão no mint faz com queInitializerejeite comNotSupportMint— a menos que o mint em si esteja em uma pequena lista de permissões de mint codificada no programa (usada para integrar mints específicos caso a caso). As taxas de transferência em particular afetam a matemática do swap e são aplicadas no lado correto da negociação — vejaalgorithms/token-2022-transfer-fees. - Taxas previsíveis. Cada pool referencia um
AmmConfigselecionado na criação. A configuração carrega uma taxa de negociação (dividida entre LPs, protocolo e fundo) e uma taxa de criador separada e independente. A taxa do criador é seu próprio balde — nunca uma fatia da taxa de negociação. Os pools optam por cobrar na criação. Os padrões e a matemática completa da divisão estão emproducts/cpmm/fees. - TWAP on-chain via buffer de anel de observação. Cada swap atualiza uma conta
observation. Contratos externos podem ler uma observação de preço cumulativo para calcular um TWAP sem um oráculo customizado. - Layout de conta plano. Um pool é totalmente descrito por seis PDAs (autoridade, estado do pool, mint de LP, dois vaults, observação). Sem conta OpenBook por mercado, sem fila de eventos, sem fila de requisições. As transações são mais baratas tanto em computação quanto em contagem de contas do que o AMM v4.
- Compatível com burn-and-earn. Tokens de LP podem ser bloqueados sob o programa LP Lock para que o criador do pool possa continuar cobrando taxas sem reter o direito de retirar liquidez. Usado para lançamentos de liquidez “permanente”.
O que o CPMM não é
- Não é concentrado. A liquidez é distribuída uniformemente em toda a faixa de preço, como Uniswap v2. Se você precisa de market making eficiente em capital — ou seja, concentrar liquidez perto do preço atual — use CLMM.
- Não é híbrido. Diferentemente do AMM v4, os pools CPMM não colocam ordens em repouso em um mercado OpenBook. O roteamento entre pools CPMM acontece através do programa AMM Routing, não através de um CLOB.
- Não é lançável para curvas arbitrárias. A curva é codificada como produto constante. Se você quer uma curva de ligação para um lançamento de token, use LaunchLab, que se gradua para um pool CPMM quando é preenchido.
Como o CPMM difere do AMM v4
Um tratamento mais profundo da história de migração está em
protocol-overview/versions-and-migration.
Modelo mental
Um pool CPMM é um objeto controlado pelo programa que mantém três saldos:vault0 (token0), vault1 (token1) e a oferta do mint de LP. A oferta do mint de LP rastreia a reivindicação dos depositantes sobre o pool; os vaults de token mantêm os ativos reais. Tudo mais — a PDA de autoridade, a conta de observação, o ponteiro de configuração de taxa — é contabilidade para tornar essa relação de três variáveis negociável, coletora de taxas e observável.
Cada operação voltada para o usuário se reduz a uma transição de estado bem definida:
- Depósito: transferir token0 e token1 para dentro, cunhar LP para o usuário, sem mudança de preço.
- Saque: queimar LP do usuário, transferir token0 e token1 para fora na proporção atual do pool, sem mudança de preço.
- Swap: transferir um token para dentro, transferir o outro para fora; a proporção se move ao longo da curva
x · y = k(menos taxas); a conta de observação amostra o novo preço.
products/cpmm/math e o conjunto de instruções em products/cpmm/instructions.
Quando escolher CPMM
Escolha CPMM quando:- Você está lançando um novo token ou um novo par e não tem opiniões fortes sobre qual faixa verá negociação.
- Um ou ambos os tokens usam extensões Token-2022.
- Você quer um modelo simples de taxa por negociação em vez de um dinâmico baseado em tick.
- Você está integrando e quer rotear através do Raydium sem assumir a complexidade das posições CLMM.
- O par é estável ou altamente correlacionado (stablecoin-stablecoin, LST-SOL) e você quer concentrar liquidez perto da paridade.
- Você é uma equipe de market-making disposta a gerenciar ativamente faixas para um APR de taxa mais alto por dólar de TVL.
- Você está migrando ferramentas AMM v4 existentes e não está criando um novo pool.
Próximos passos
- Accounts — as seis PDAs de um pool CPMM e como derivá-las.
- Math —
SwapBaseInputvsSwapBaseOutput, manipulação de taxas de transferência Token-2022, atualizações de observação. - Instructions — a superfície de instrução completa com listas de contas.
- Fees — a divisão de taxa de quatro vias e como coletar.
- Code demos — snippets TypeScript executáveis para criar / swap / depósito / saque.
- Raydium CP-Swap source —
raydium-io/raydium-cp-swap reference/program-addressespara IDs de programa canônicos

