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 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 “AMM Padrão” na interface do Raydium — é uma implementação nativa em Solana do clássico AMMx · y = k. Nenhum livro de ordens OpenBook, nenhum legado Serum, nenhuma dependência externa além do SPL Token e Token-2022. Cada pool é uma tríade de (dois cofres de token, um mint de LP) governada por um PDA com autoridade de programa, precificado pelo produto dos saldos dos cofres. É o AMM que o Raydium recomenda para todos os novos pools de produto constante, e é o alvo padrão do endpoint /pools/create e do fluxo “Criar pool” da interface web.
O que o CPMM oferece
- Token-2022 com uma lista de permissões de extensões verificadas. O CPMM não aceita mints Token-2022 arbitrários. O programa impõe uma whitelist de extensões seguras na criação do pool:
TransferFeeConfig,MetadataPointer,TokenMetadata,InterestBearingConfigeScaledUiAmount. Qualquer outra extensão no mint causa a rejeição deInitializecomNotSupportMint— a menos que o mint esteja em uma pequena whitelist de mints mantida 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 transação — vejaalgorithms/token-2022-transfer-fees. - Taxas previsíveis. Cada pool faz referência a uma
AmmConfigselecionada 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 isso na criação. Os padrões e a matemática completa da divisão estão emproducts/cpmm/fees. - TWAP em cadeia 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 personalizado. - Layout de conta plano. Um pool é totalmente descrito por seis PDAs (autoridade, estado do pool, mint de LP, dois cofres, observação). Nenhuma conta OpenBook por mercado, nenhuma fila de eventos, nenhuma 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. Os 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 sacar liquidez. Usado para lançamentos de liquidez “permanentes”.
O que o CPMM não é
- Não é concentrado. A liquidez está espalhada uniformemente em toda a faixa de preços, como o 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. Ao contrário do AMM v4, os pools CPMM não colocam ordens permanentes em um mercado OpenBook. O roteamento através de 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 é hardcoded para produto constante. Se você quer uma bonding curve para um lançamento de token, use LaunchLab, que se forma em um pool CPMM quando se preenche.
Como o CPMM difere do AMM v4
| Dimensão | AMM v4 | CPMM |
|---|---|---|
| Curva | Produto constante | Produto constante |
| Dependência OpenBook | Inerte (originalmente colocava ordens em um mercado OpenBook; integração desativada) | Não |
| Suporte Token-2022 | Não (apenas SPL Token) | Sim (incluindo taxas de transferência) |
| Contagem de contas por swap V2 | ~9 | ~11 |
| Unidades de computação por swap | ~80k–120k (caminho V2) | ~60k–100k |
| Oráculo TWAP | Nenhuma conta de oráculo nativa | Buffer de anel observation |
| Criação de novo pool atualmente | Não é o padrão (programa ainda aceita) | Padrão |
| Status | Totalmente operacional | Ativo, recomendado |
protocol-overview/versions-and-migration.
Modelo mental
Um pool CPMM é um objeto de propriedade do programa mantendo três saldos:vault0 (token0), vault1 (token1) e o fornecimento do mint de LP. O fornecimento do mint de LP rastreia a reivindicação dos depositantes no pool; os cofres de token contêm os ativos reais. Tudo mais — o 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, cobradora de taxas e observável.
Cada operação visível ao 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, nenhuma mudança no preço.
- Saque: queimar LP do usuário, transferir token0 e token1 para fora na razão atual do pool, nenhuma mudança no preço.
- Swap: transferir um token para dentro, transferir o outro para fora; a razão se move ao longo da curva
x · y = k(menos taxas); a conta de observação amostra o novo preço.
CollectProtocolFee, CollectFundFee) é uma transação separada assinada pela autoridade respectiva; não acontece em cada swap. A matemática está detalhada em 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ções.
- 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 ticks.
- 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 intervalos para um APR de taxa por dólar de TVL mais alto.
- Você está migrando ferramentas AMM v4 existentes e não está criando um novo pool.
Próximas etapas
- Contas — os seis PDAs de um pool CPMM e como derivá-los.
- Matemática —
SwapBaseInputvsSwapBaseOutput, manipulação de taxas de transferência Token-2022, atualizações de observação. - Instruções — a superfície completa de instruções com listas de contas.
- Taxas — a divisão de taxa de quatro vias e como coletar.
- Demonstrações de código — trechos TypeScript executáveis para criar / swap / depósito / saque.
- Fonte do CP-Swap do Raydium —
raydium-io/raydium-cp-swap reference/program-addressespara IDs de programa canônicos


