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 →
O único tier publicado
Diferentemente do CPMM e CLMM, o AMM v4 não possui uma contaAmmConfig. As taxas são armazenadas diretamente no struct AmmInfo.fees de cada pool e são fixas no momento da criação do pool. Os padrões que cobrem essencialmente todos os pools AMM v4 em funcionamento:
| Campo on-chain | Padrão | Significado |
|---|---|---|
swap_fee_numerator / swap_fee_denominator | 25 / 10_000 | Taxa bruta de negociação em swaps no caminho AMM: 0,25% do volume de entrada. |
trade_fee_numerator / trade_fee_denominator | 25 / 10_000 | Utilizado pela integração do OpenBook para calcular o preço das ordens limitadas com taxa incluída. Mesmo 0,25% do swap_fee por padrão. |
pnl_numerator / pnl_denominator | 12 / 100 | Participação do protocolo na taxa de swap: 12% — ou seja, 0,25% × 12% = 0,03% do volume. Acumula nos contadores need_take_pnl_*. |
min_separate_numerator / min_separate_denominator | 5 / 10_000 | Piso de precisão interna usado pela lógica de arredondamento da divisão de taxas. |
pnl_numerator / pnl_denominator é uma fração da taxa de swap, não do volume de negociação — uma leitura comum equivocada. A participação do LP é o complemento (88% da taxa = 0,22% do volume) e é implícita; não existe um numerador separado de “participação do LP”.
Um pequeno número de pools iniciais foi criado com numeradores diferentes; sempre leia AmmInfo.fees antes de citar.
Não existe taxa de fundo e não existe linha de taxa do criador: estes são inventos do CPMM/CLMM que não existiam no modelo de taxa original do AMM v4.
Como a divisão é calculada
Em cada swap, o pool cobra a taxa de negociação bruta do montante de entrada, depois distribui:lp_portionpermanece no vault e contribui para o próximok. Os LPs o capturam resgatando tokens LP mais tarde.pnl_portionincrementaAmmInfo.state_data.need_take_pnl_coinouneed_take_pnl_pcdependendo de qual lado é a entrada do swap.
TakePnl move tokens sem deslocar o preço.
PnL do OpenBook (histórico)
Não está mais acumulando. A integração do OpenBook está desativada, portanto o segundo fluxo de PnL descrito nesta seção não está mais sendo gerado. Os contadores
total_pnl_{coin,pc} em pools existentes podem conter valores históricos, mas nenhum novo montante é adicionado. O caminho de taxa de protocolo de 0,03% (acima) não é afetado e ainda está ativo.MonitorStep e o programa os creditava aos contadores informativos state_data.total_pnl_{coin,pc}.
- Quando a grade postada do pool era adequadamente calibrada em torno do preço da curva, os preenchimentos do OpenBook tendiam a ser positivos em taxa para o pool — o AMM estava efetivamente fazendo market-making no OpenBook e ganhando descontos de maker.
- Quando o OpenBook pausava ou a fila de eventos se enchia, o pool podia ficar com ordens obsoletas que preenchiam com preços desfavoráveis, produzindo PnL negativo. Esse acoplamento operacional foi uma das motivações para se afastar do design híbrido.
Coleta
O admin (multisig Raydium) chamaWithdrawPnl / TakePnl para coletar need_take_pnl_* nas contas de “proprietário de PnL” no nível do pool configuradas no AmmConfig do programa (uma config diferente, com escopo de programa — não o AmmConfig no estilo por-pool do CPMM). A coleta:
- Primeiro liquida qualquer preenchimento pendente do OpenBook. (Sem efeito agora que o OpenBook está inativo.)
- Transfere
need_take_pnl_coin/need_take_pnl_pcdos vaults do pool para o destino de PnL. - Zera os contadores.
TakePnl.
Resgate de taxa do LP
Não existe uma instrução dedicada de “coletar taxas do LP”. As taxas do LP se acumulam nos vaults e inflacionamk ao longo do tempo; os LPs as realizam queimando tokens LP via Withdraw. O valor de um token LP cresce monotonicamente conforme (coin_reserve_effective, pc_reserve_effective) crescem.
Visualização: para onde vai o volume de 1.000 USDC
Em um swap USDC-heavy de $1.000 contra um pool com parâmetros padrão:AmmConfig[0] (tier de 0,25%, sem taxa de criador): LP recebe $2,10, protocolo $0,30, fundo $0,10. O CPMM introduz a linha de fundo cortando o que teria sido a participação do LP no tier equivalente do AMM v4.
Tabela de comparação
| AMM v4 | CPMM index=0 | CLMM index=2 | |
|---|---|---|---|
| Taxa de negociação | 0,25% | 0,25% | 0,25% |
| LP | 0,22% | 0,21% | Varia por emissões |
| Protocolo | 0,03% | 0,03% | Por tier |
| Fundo | N/A | 0,01% | Por tier |
| Criador (opcional) | N/A | 0 por padrão | N/A |
| Onde as taxas ficam | Pool vault + need_take_pnl_* | Pool vault + protocol_fees_* + fund_fees_* | Global + por-tick + por-posição |
reference/fee-comparison.
Notas para integradores
- Cotações. Busque
AmmInfovia SDK ouapi-v3.raydium.io/pools/info/ids. Não calcule sua própria cotação contra saldos brutos do vault — os montantes bloqueados no OpenBook e a exclusão de PnL afastam as reservas efetivas do quegetTokenAccountBalancemostra. - Parâmetros de taxa obsoletos. Em princípio
SetParamspoderia alterarswap_fee_numerator, mas na prática o multisig Raydium não alterou padrões para nenhum pool ativo. Ainda assim, sempre leia do estado on-chain em vez de codificar. - Sem recompensas. O AMM v4 não suporta emissões de recompensas no pool. As farms do ecossistema legado (Farm v3 / v5 / v6) são o equivalente da camada de staking — veja
products/farm-staking.
Para onde ir a seguir
products/amm-v4/math— a derivação da taxa de negociação dentro da curva.products/amm-v4/instructions— listas de contas paraWithdrawPnl/SetParams.reference/fee-comparison— matriz lado a lado.
- Programa Raydium AMM —
raydium-io/raydium-amm - Campos de numerador/denominador de taxa AMM v4 on-chain (verificados contra contas
AmmInfona mainnet).


