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 →
Oracles no Raydium
Interno: o pool é o oracle
Para AMM v4, CPMM e CLMM, a definição do protocolo de “preço atual” é derivada apenas do estado do pool:- AMM v4 / CPMM:
price = vaultB_balance / vaultA_balance(contabilizando decimais). - CLMM:
price = (sqrtPriceX64 / 2^64)^2 × 10^(decimalsA - decimalsB).
ObservationState do CLMM como oracle TWAP
Os pools CLMM mantêm uma conta ObservationState que registra snapshots históricos de sqrt_price. Outros programas podem compor contra isso para derivar um preço médio ponderado no tempo resistente a manipulação:
products/clmm/accounts#observation-state para o layout dos dados.
Externo: precificação em USD no frontend/API
O frontend do Raydium eapi-v3.raydium.io exibem valores em USD (TVL, APR de taxa, volume em $). Esses vêm de:
- Pyth como oracle primário para mints principais.
- Aggregator price do Jupiter como fallback.
- Pool-derived price para mints de cauda longa sem cobertura de oracle externo.
Manipulação de oracle não aplicável a pools Raydium
Porque o estado do pool é o oracle, não há “ataque de oracle” no sentido que a literatura de bug-bounty significa — nenhuma fonte de dados externa manipulável que o atacante possa corromper. Ataques econômicos no estado do pool (manipulação de estilo flash-loan) são cobertos emsecurity/attack-vectors.
Riscos de extensão Token-2022
SPL Token-2022 (aka “Token Extensions”) adiciona comportamento configurável a mints via extensões. Algumas extensões mudam as propriedades de confiança de pools que as incluem. Os programas Raydium lidam com algumas automaticamente e expõem outras como avisos ao usuário.Transfer fee
O que é: Uma taxa configurável (percentual de transferência, até um limite demaximum_fee em termos absolutos) paga pelo remetente à autoridade de mint em cada transferência.
Risco: A taxa pode ser alterada pela autoridade fee-config do mint. Se você depositar liquidez quando a taxa é 1%, e a autoridade a aumenta para 50%, swaps subsequentes retornam muito menos do que o esperado.
Mitigação no Raydium: Os pools lêem o transferFeeConfig atual no momento do swap e ajustam a matemática. O pool em si não é corrompido, mas os usuários veem saída pior. A autoridade de taxa também pode agendar uma mudança de taxa atrasada; a UI do Raydium sinaliza pools com mudanças de taxa iminentes.
Risco residual: Se uma autoridade de taxa maliciosa alterar a taxa durante seu swap em voo, seu minimumAmountOut protege o lado negativo — a tx reverte. Se você confia no emissor do mint, tudo bem; se não, não faça LP.
Transfer hook
O que é: Uma transferência invoca um programa separado (o “hook”) para executar validação customizada ou efeitos colaterais. Risco: O hook pode bloquear qualquer transferência, incluindo as transferências internas do pool durante um swap. Um hook atualizável pode se tornar malicioso mais tarde — o que era seguro no momento do depósito pode se tornar não-permutável no momento da retirada. Mitigação no Raydium: O Raydium lista um ID de programa hook no estado do pool. Integrações devem exibir o ID de programa hook aos usuários para que possam verificar se é o programa esperado (não-atualizável, auditado). Risco residual: Se um hook for atualizável e sua autoridade se tornar hostil, o pool pode ser congelado. O Raydium não bloqueia pools com transfer hooks, mas os sinaliza. Faça LP em um pool transfer-hook apenas se o hook for verificado como seguro.Freeze authority
O que é: A autoridade de congelamento de um mint pode congelar qualquer conta de token mantendo esse mint, impedindo todas as transferências. Risco: Uma autoridade de congelamento com a capacidade de congelar a conta de cofre do pool efetivamente desliga o pool — usuários não podem sacar, traders não podem fazer swap. Isso se aplica a SPL Token e Token-2022; não é novo com Token-2022, mas continua sendo um risco. Mitigação no Raydium: Nenhuma no nível do programa — o congelamento de SPL Token é opaco para o pool. A UI do Raydium avisa em pools com mints congelados. Usuários depositando devem verificar que a autoridade de congelamento é nula ou um multisig em que confiam (USDC tem uma autoridade de congelamento; é do emissor Circle). Risco residual: Aceite que mints congelados podem ser congelados. Mints principais (USDC, USDT, USDY) têm autoridades de congelamento mantidas pelo emissor e usadas apenas para conformidade regulatória; isto é geralmente aceitável.Permanent delegate
O que é: Uma extensão Token-2022 que designa um permanent delegate que pode transferir tokens de qualquer titular sem aprovação. Risco: O permanent delegate pode drenar o cofre do pool a qualquer momento. Mitigação no Raydium: CPMM e CLMM recusam criar pools com mints que têm um permanent delegate. A inicialização reverte. Nenhum pool Raydium em execução tem um mint permanent-delegate. Risco residual: Zero (contanto que a verificação esteja correta, o que ambas as auditorias verificaram).Non-transferable
O que é: Mints que não podem ser transferidos por detentores. Risco: Os pools dependem de transferibilidade para mover tokens entre ATAs de usuário e cofres de pool. Mints não-transferíveis trivialmente quebram pools. Mitigação no Raydium: A criação do pool reverte em mints não-transferíveis. Farms também recusam mints de staking não-transferíveis.Default-frozen / close-authority / interest-bearing
Extensões de impacto menor manipuladas pelo Raydium:- Default-frozen: novas contas de token precisam ser descongeladas antes de uso. O Raydium lida com isso transparentemente na criação de ATA.
- Close-authority: uma autoridade designada pode fechar contas de token. Os cofres de pool são possuídos pela autoridade derivada do programa do pool, então close-authority no mint não se aplica ao cofre.
- Interest-bearing: o saldo exibido acumula juros;
amountfica fixo masuiAmountcresce. A matemática do pool Raydium usaamount, não juros acumulados; a exibição se ajusta separadamente.
Mint authority
Não é um risco específico de Token-2022, mas vale a pena notar: se um mint retém a autoridade de mint, o titular pode inflar o suprimento à vontade. Para tokens lançados, isto dilui LPs no preço atual do pool. O LaunchLab recusa criar lançamentos a menos que a autoridade de mint seja nula.Rótulos de risco na UI
O frontend do Raydium rotula cada pool com tags de risco aplicáveis:- TRANSFER_FEE — taxa de transferência não-zero.
- TRANSFER_HOOK — extensão transfer-hook ativa.
- FREEZE — mint tem uma autoridade de congelamento.
- MINT — mint tem uma autoridade de mint (o suprimento pode inflar).
- CLOSE — mint tem uma autoridade de fechamento.
Checklist de integrador
Antes de compor com um pool Raydium:- Verifique as extensões de cada mint via
getMint(mint, TOKEN_2022_PROGRAM_ID). - Pule pools onde qualquer mint tem permanent_delegate ou non_transferable (esses não devem existir no Raydium, mas defesa em profundidade).
- Verifique a autoridade de congelamento para ambos os mints; nula ou autoridade confiável apenas.
- Para pools transfer-hook, verifique o ID de programa hook em relação a uma lista de permissões.
- Dimensione exposição contra cenários de transfer-fee (e se a taxa fosse para o máximo?).
- Use CLMM TWAP (ObservationState) em vez de preço spot para precificação de derivativos.
Declaração de aceitação de risco residual
Os programas do Raydium aplicam o que pode ser aplicado no nível do programa:- A criação do pool recusa mints permanent-delegate / non-transferable.
- A matemática do swap se ajusta corretamente para transfer fees atuais.
- ObservationState fornece um oracle resistente a manipulação.
- A autoridade de congelamento de um mint pode congelar o pool.
- A autoridade de taxa de um mint pode aumentar a transfer fee (até limite de
maximum_fee) a qualquer momento. - Um programa transfer-hook pode ser atualizado para código malicioso.
- A taxa de acúmulo de um mint interest-bearing pode ser alterada.
Referências
algorithms/token-2022-transfer-fees— ajustes matemáticos para mints transfer-fee.security/attack-vectors— como esses riscos se manifestam como ataques concretos.integration-guides/wallet-integration— exibindo rótulos de risco Token-2022.products/clmm/accounts— layout de ObservationState.
- Documentação de extensões SPL Token-2022.
- Lógica de validação de inicialização de pool:
src/raydium/cpmm/instrument.ts,src/raydium/clmm/instrument.ts. - Pyth — oracle de preço externo usado no frontend.


