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 que é a API de Transações?
A API de Transações do Raydium (Route V2) é um serviço no lado do servidor que constrói transações de swap no Solana serializadas, sem exigir que clientes mantenham uma conexão RPC ou integrem todo o SDK do Raydium. Isso simplifica drasticamente a integração para:- Frontends web que não podem executar um cliente RPC local
- Aplicações móveis com recursos limitados
- Bots de trading headless
- Agregadores e provedores de carteira
Visão Geral do Fluxo de Trabalho
A API de Transações separa as responsabilidades em duas fases:1. Fase de Cálculo: Obter um Quote
Chame/compute/swap-base-in ou /compute/swap-base-out para receber o output esperado do swap (ou input necessário) com base nos estados atuais dos pools. Este endpoint é somente leitura e não requer assinatura:
- Quantidade de output esperada
- Quebra de rota (quais pools e fontes de liquidez são usadas)
- Impacto de preço
2. Fase de Transação: Construir e Assinar
Uma vez que você tenha a resposta de cálculo, passe-a (junto com carteira e configuração) para/transaction/swap-base-in ou /transaction/swap-base-out:
- Uma transação versionada codificada em base64 pronta para assinar
- Endereços de tabelas de busca de endereço (se txVersion=V0)
- Decodifica a transação
- Assina-a com a chave privada do usuário
- Transmite via qualquer RPC do Solana
- Aguarda confirmação
Endpoints de Cálculo
GET /compute/swap-base-in
Caso de uso: Usuário especifica o amount de entrada, computamos o output.
Parâmetros de query obrigatórios:
inputMint– Endereço de mint do token que você está enviandooutputMint– Endereço de mint do token que você queramount– Amount de entrada em lamports (menor unidade)slippageBps– Slippage máximo aceitável em basis points (0–10000)txVersion–V0ouLEGACY
referrerBps– Se você tem uma autoridade de referenciador, basis points do output para coletar como taxa de referenciador
GET /compute/swap-base-out
Caso de uso: Usuário especifica o output desejado, computamos o input necessário.
Parâmetros de query obrigatórios:
inputMint,outputMint,amount(output desejado),slippageBps,txVersion
Endpoints de Transação
POST /transaction/swap-base-in
Constrói uma transação para um amount de entrada fixo.
Body obrigatório:
wallet– Seu endereço de carteira para assinaturaswapResponse– O objeto completo de resposta de cálculotxVersion– Versão de transaçãocomputeUnitPriceMicroLamports– Taxa de prioridade em micro-lamports
wrapSol– Se verdadeiro, envolve SOL nativo para entradaunwrapSol– Se verdadeiro, desembrulha WSOL em SOL na saídainputAccount– Conta de token para entrada (obrigatória se não estiver envolvendo SOL)outputAccount– Conta de token para saídanonceInfo– Nonce durável para assinatura offlinejitoInfo– Parâmetros de pacote de proteção MEV do JitoreferrerWallet– Carteira do referenciador para coleta de taxa
POST /transaction/swap-base-out
Constrói uma transação para um amount de saída fixo.
Mesmos parâmetros que base-in, exceto:
- Campo
referrerInfoestá atualmente comentado (ainda não implementado)
Envelope de Resposta
Todos os endpoints retornam um envelope padrão:success é false e msg contém o código de erro (por exemplo, REQ_WALLET_ERROR, REQ_SLIPPAGE_BPS_ERROR).
Forma de Resposta de Transação
Uma resposta de transação bem-sucedida fica assim:Exemplo de Integração
Aqui está um fluxo típico em pseudocódigo:Parâmetros-Chave Explicados
txVersion
- V0: Transação Solana moderna com Address Lookup Tables (ALTs). Tamanho de serialização menor, taxas menores.
- LEGACY: Formato de transação pré-ALT. Maior, mas funciona com todos os endpoints RPC.
computeUnitPriceMicroLamports
Taxa de prioridade para inclusão mais rápida em blocos. Defina como 0 para sem taxa de prioridade, ou valores mais altos (por exemplo, 1000) para competir em redes congestionadas. As unidades são micro-lamports por unidade de computação.
slippageBps
Tolerância de slippage máxima em basis points. 100 = 1%, 50 = 0,5%.
- Use valores menores (por exemplo, 25–50 bps) para swaps mais estáveis
- Aumente para pares voláteis ou de baixa liquidez
wrapSol e unwrapSol
- wrapSol: Se
true, a API envolve seu SOL nativo em WSOL. NenhuminputAccountnecessário. - unwrapSol: Se
true, a API desembrulha o WSOL de saída de volta ao SOL nativo. NenhumoutputAccountnecessário.
false, você deve fornecer contas de token explícitas.
Endpoints de Rede
| Rede | Mainnet | Devnet |
|---|---|---|
| Host | transaction-v1.raydium.io | transaction-v1-devnet.raydium.io |
| Protocolo | HTTPS | HTTPS |
Códigos de Erro
Mensagens de erro comuns:| Código | Significado |
|---|---|
REQ_SLIPPAGE_BPS_ERROR | Slippage é inválido ou fora do intervalo |
REQ_INPUT_MINT_ERROR | Endereço de mint de entrada é inválido |
REQ_OUTPUT_MINT_ERROR | Endereço de mint de saída é inválido |
REQ_AMOUNT_ERROR | Amount não é um número válido |
REQ_TX_VERSION_ERROR | txVersion deve ser V0 ou LEGACY |
REQ_WALLET_ERROR | Endereço de carteira é inválido |
REQ_INPUT_ACCOUT_ERROR | Conta de token de entrada faltando ou inválida |
REQ_OUTPUT_ACCOUT_ERROR | Conta de token de saída faltando ou inválida |
UNKNOWN_ERROR | Erro no servidor; verifique seus parâmetros de requisição |


