Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
Banner de versão. Todos os demos visam
@raydium-io/raydium-sdk-v2@0.2.64-alpha contra Solana mainnet-beta, verificado em 2026-09-09 — cada nome de builder, nome de parâmetro e tipo de parâmetro abaixo foi verificado contra o código-fonte dessa versão e contra raydium-sdk-V2-demo/src/amm. ID do programa: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (veja reference/program-addresses).Duas armadilhas que pegam a maioria das primeiras integrações: o slippage de computeAmountOut é um número simples (0.005 = 0,5%), não um Percent; e liquidity.swap requer inputMint como uma string base58.A criação de novos pools não é mostrada aqui. A interface do Raydium não oferece mais criação de pools AMM v4 — novos pares usam CPMM por padrão. O próprio programa AMM v4 ainda aceita
Initialize2 on-chain; apenas não é o caminho recomendado. Os demos abaixo cobrem as operações de pool ativo que todo integrador ainda precisa: swap, depósito, saque.Configuração
Buscar um pool por ID
poolKeys é a struct que os construtores de instruções consomem. Ela carrega cada conta AMM v4 na ordem que o programa espera, mais os campos de mercado legados que o programa atual aceita posicionalmente mas não lê mais.
Swap (base-in)
Swap (base-out)
Adicionar liquidez
fixedSide: "a" diz ao SDK que você forneceu o amountInA exato e que amountInB deve ser no máximo maxAnotherAmount. A matemática pro-rata é executada fora dos saldos do cofre menos PnL acumulado — não há mais nenhum componente on-book para liquidar primeiro.
Remover liquidez
Ajuste de unidade de computação / taxa de prioridade
Desde a remoção do OpenBook, um swap AMM v4 não valida mais nenhum estado de mercado, então umSwapBaseIn v1 é notavelmente mais barato do que costumava ser — e SwapBaseInV2 (8 contas, sem placeholders de mercado) é ainda mais barato. Meça seu próprio caminho em vez de orçar com base em números históricos, e sempre passe um limite de unidade de computação explícito:
computeBudgetConfig, o SDK ainda pode usar seu próprio padrão; inspecione a transaction retornada para confirmar. Veja integration-guides/priority-fee-tuning.
CPI Rust direto
Se você deve fazer CPI para AMM v4 a partir de seu próprio programa Anchor, você precisará modelar a lista de contas deSwapBaseIn verbatim. Um esboço mínimo:
Instruction construída manualmente.
O esboço de CPI acima usa o layout legado v1
SwapBaseIn (tag 9, 17 contas) para ler/reproduzir transações existentes. Desde a atualização de 2026-07, as contas de mercado são aceitas mas ignoradas. Para novo código, prefira SwapBaseInV2 / SwapBaseOutV2 (tags 16 / 17), que eliminam as contas de mercado (e amm_open_orders) inteiramente — passe apenas 8 contas: token_program, amm, amm_authority, os dois cofres do pool, as duas contas de token do usuário, e user_owner.Armadilhas
- Contagem de contas errada em swaps v1. O
SwapBaseIn/SwapBaseOutlegado ainda requer a lista completa de 17 contas (ou 18 contas) — uma contagem incompatível reverte comWrongAccountsNumber. O conteúdo das contas de mercado não é mais validado, mas você ainda deve ocupar seus slots. Prefira os pontos de entrada V2 para evitar isso. - Leitura de saldos brutos do cofre. As reservas agora são apenas do cofre; subtraia PnL acumulado (
need_take_pnl_*). A cotação do SDK ouapi-v3.raydium.io/pools/info/idsfaz isso para você. - Chamada de instruções removidas.
MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfo,AdminCancelOrders, eInitialize/PreInitializelegado agora revertam. UseInitialize2para criação de pool; não há crank para chamar. - Mints Token-2022. Não suportados. Um pool AMM v4 não pode ser criado contra um mint Token-2022; qualquer par Token-2022 deve estar em CPMM ou CLMM.
Próximos passos
products/amm-v4/instructions— a superfície em nível de instrução por trás desses demos.user-flows/migrate-amm-v4-to-cpmm— se você é um LP considerando migração.integration-guides/priority-fee-tuning— dimensionamento de taxa de prioridade para swaps AMM v4 pesados.

