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.42-alpha contra Solana mainnet-beta, verificado em 2026-04. ID do programa: 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (veja reference/program-addresses).Criação de novo pool não é mostrada aqui. A interface do Raydium não oferece mais criação de pool 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 todas as contas AMM v4 e OpenBook na ordem que o programa espera.
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 liquidez on-book do pool é liquidada antes da matemática pro-rata, então a proporção de depósito corresponde às reservas mais recentes.
Remover liquidez
Ajuste de unidade de computação / taxa de prioridade
Swaps AMM v4 são pesados em computação porque cada instrução valida o estado completo do OpenBook. Um swap típico usa 180k–250k CU dependendo de quantas ordens abertas precisam ser liquidadas no caminho. Sempre passe um limite de unidade de computação:computeBudgetConfig, o SDK ainda pode usar seu próprio padrão; inspecione innerTransactions 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 vaults 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 de vault. As reservas agora são apenas vault; 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 suportado. 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.

