Saltar para o conteúdo principal
Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
Informações da versão.
  • SDK: @raydium-io/raydium-sdk-v2@0.2.42-alpha
  • Cluster: Solana mainnet-beta
  • Program ID: veja reference/program-addresses
  • Última verificação: 2026-04
Fixe a versão do SDK no seu package.json. A interface de curva de ligação evoluiu entre versões menores.

Configuração

As demonstrações aqui espelham arquivos em raydium-sdk-V2-demo/src/launchpad. A inicialização segue o config.ts.template do repositório de demonstração:

Criar um lançamento

Fonte: src/launchpad/createMint.ts (e createBonkMintApi.ts para a variante Bonk orientada por API)
Notas:
  • initialK é o fator de escala para a curva quadrática. Ajuste-o para mirar um preço CPMM de abertura específico na graduação. Veja products/launchlab/bonding-curve para a derivação.
  • O SDK lida com a criação da mint base, o PDA de metadados e ambos os vaults em uma única transação. Pode exceder 1232 bytes se o URI de metadados for longo; nesse caso, o SDK divide em duas transações.
  • Após Initialize, o lançamento não é comercializável até openTime. Defina openTime um ou dois minutos à frente para dar menos chances aos front-runners de pegar a primeira compra.

Buscar estado do lançamento

getLaunchById retorna o LaunchState decodificado mais a fração computada “progresso em relação à graduação” como um Decimal.

Comprar — entrada exata de quote

Fonte: src/launchpad/buy.ts
computeBuyBase espelha o solver Newton on-chain (curva quadrática) ou o inverso CPMM de forma fechada (curve_type 1). Use-o para preencher o campo “Você recebe” da UI.

Comprar — saída exata de base

Útil para UIs “comprar exatamente X tokens”. Rejeita com ExceededSlippage se a curva se moveu o suficiente para que o requisito de quote agora exceda maximumQuoteIn.

Vender

Fonte: src/launchpad/sell.ts
O caminho de venda da curva é simétrico ao caminho de compra: reduzir base_sold por baseIn retorna quote_out igual à área integrada sob a curva entre base_sold − baseIn e base_sold, menos a taxa de venda.

Graduação automática na compra que cruza o limiar

O SDK encadeia uma instrução Graduate dentro da transação buy* quando detecta que o estado pós-compra cruzará o limiar:
Como Graduate é sem permissão, qualquer pessoa (incluindo um bot MEV) pode correr para fazer o primeiro Graduate após o limiar ser cruzado — típicamente segundos depois, não minutos. O primeiro a chegar apenas paga o aluguel das contas do pool CPMM; não recebem nenhum outro benefício.

Graduate manual

Se autoGraduate estava desativado ou a transação de cruzamento de limiar falhou, você pode disparar a graduação separadamente:
Reverte com NotAtThreshold se quote_reserve_real < quote_reserve_target no tempo de envio. Seguro para retry — uma segunda tentativa de Graduate após sucesso reverte com NotActive.

Coletar taxas do criador

Fonte: src/launchpad/claimCreatorFee.ts (single mint) e collectAllCreatorFees.ts (em lote)
Transfere o valor do contador de taxa de criador acumulado para o ATA do criador na mint de quote. Pode ser chamado pré- ou pós-graduação; use-o periodicamente em vez de esperar por um saldo enorme se acumular.

Rastrear um lançamento através de seu ciclo de vida

Juntando tudo, um script de monitoramento pode parecer com:

CPI Rust

Chamar LaunchLab a partir do seu próprio programa Anchor é raro (a maioria das integrações de lançamento são apenas do lado TS). Se você fizer, o programa fornece uma crate Anchor raydium_launchlab com cpi::accounts::Buy, cpi::accounts::Sell, etc. — o padrão espelha os exemplos de CPI do CPMM / CLMM. Veja sdk-api/rust-cpi para um template generalizado uma vez que este site seja preenchido.

Armadilhas

  • Arredondamento de split de taxa off-by-one. Se total_share não for exatamente lp_share + creator_share + protocol_share, Initialize reverte com InvalidFeeShares. Defina totalShare igual à soma.
  • Usar uma mint de quote não permitida. launch_config.allowed_quote_mints é uma lista fixa; passar qualquer outra mint reverte. Verifique com raydium.launchpad.getConfig() primeiro.
  • Tamanho de metadados. Strings uri longas empurram o CPI da Metaplex sobre o orçamento. Mantenha uri abaixo de ~200 caracteres — a maioria dos metadados JSON hospedados em CDN cabe facilmente.
  • Corrida de graduação. Bots automatizados monitoram quote_reserve_real e antecipam Graduate dentro de um slot ou dois do cruzamento do limiar. Isso é inócuo — custa apenas aluguel — mas significa que sua UI deve tratar transições de status como eventos rápidos.

Próximos passos

Fontes: