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.
- 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
package.json. A interface da curva de ligação evoluiu entre versões menores.Configuração
As demonstrações aqui espelham arquivos emraydium-sdk-V2-demo/src/launchpad. O bootstrap 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)
initialKé o fator de escala para a curva quadrática. Ajuste-o para atingir um preço CPMM de abertura específico na formação. Vejaproducts/launchlab/bonding-curvepara a derivação.- O SDK lida com a criação do 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 se divide em duas transações.
- Após
Initialize, o lançamento não é negociável atéopenTime. DefinaopenTimeum ou dois minutos à frente para dar aos front-runners menos chance de pegar a primeira compra.
Buscar estado do lançamento
getLaunchById retorna o LaunchState decodificado mais a fração “progresso em direção à formação” calculada como um Decimal.
Comprar — entrada de quote exata
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 de base exata
ExceededSlippage se a curva se moveu o suficiente para que o requisito de quote agora exceda maximumQuoteIn.
Vender
Fonte:src/launchpad/sell.ts
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.
Formação automática na compra de cruzamento de limite
O SDK encadeia uma instruçãoGraduate dentro da transação buy* quando detecta que o estado pós-compra cruzará o limite:
Graduate é sem permissão, qualquer pessoa (incluindo um bot MEV) pode correr para colocar o primeiro Graduate após o limite ser cruzado — normalmente segundos depois, não minutos. O primeiro a chegar apenas paga o aluguel das contas do pool CPMM; não recebe nenhum outro benefício.
Graduate manual
Se autoGraduate estava desativado ou a transação de cruzamento de limite falhou, você pode disparar a formação separadamente:
NotAtThreshold se quote_reserve_real < quote_reserve_target no momento do envio. Seguro para retry — uma segunda tentativa de Graduate após o sucesso reverte com NotActive.
Coletar taxas do criador
Fonte:src/launchpad/claimCreatorFee.ts (mint único) e collectAllCreatorFees.ts (em lote)
Rastrear um lançamento através de seu ciclo de vida
Juntando tudo, um script de monitoramento pode parecer:Assistir configurações e pools sobre gRPC
Fonte:src/grpc/launchpadPoolInfo.ts
Se inscreve no programa LaunchLab sobre Yellowstone gRPC e registra cada atualização de GlobalConfig e PoolState com o programa de token de cada mint. Dois filtros datasize em uma assinatura accounts separam os dois tipos de conta, então um único stream cobre ambos.
A demonstração é a referência mais curta e correta para classificar os mints de um lançamento, o que a versão de quote-mint do Token-2022 torna necessário:
- Pools são classificados diretamente de
PoolState.token_program_flag, decodificando bit0 para o mint base e bit1 para o mint de quote sem nenhuma busca de mint. Testar todo o byte contra0— que era suficiente enquanto os mints de quote eram apenas legados — interpreta mal um mint base legado como Token-2022 sempre que o mint de quote é Token-2022. - Configs não podem ser classificados dessa forma: um
GlobalConfigarmazena o endereço do mint de quote e nenhuma flag de programa, então a demonstração lê o proprietário da conta de mint uma vez e o armazena em cache por mint.
create versus update é inferido dos próprios caches da demonstração, inicializados na inicialização a partir de getProgramAccounts; com essa inicialização desativada, leia “create” como “primeiro visto neste stream”.
O acesso gRPC não faz parte da superfície RPC pública — veja src/grpc/README.md do repositório de demonstração.
Rust CPI
Chamar LaunchLab a partir de seu próprio programa Anchor é raro (a maioria das integrações de lançamento são apenas do lado TS). Se você fizer isso, o programa fornece um crate Anchorraydium_launchlab com cpi::accounts::Buy, cpi::accounts::Sell, etc. — o padrão espelha os exemplos de CPI CPMM / CLMM. Veja sdk-api/rust-cpi para um modelo generalizado quando este site for preenchido.
Armadilhas
- Arredondamento de divisão de taxa desligado por um. Se
total_sharenão for exatamentelp_share + creator_share + protocol_share,Initializereverte comInvalidFeeShares. DefinatotalShareigual à soma. - Usando um mint de quote não permitido.
launch_config.allowed_quote_mintsé uma lista fixa; passar qualquer outro mint reverte. Verifique comraydium.launchpad.getConfig()primeiro. - Tamanho de metadados. Strings
urilongas empurram o CPI do Metaplex além do orçamento. Mantenhauricom menos de ~200 caracteres — a maioria dos metadados JSON hospedados em CDN se encaixa facilmente. - Corrida de formação. Bots automatizados monitoram
quote_reserve_reale front-runGraduatedentro de um ou dois slots do cruzamento de limite. Isso é inócuo — apenas custa aluguel — mas significa que sua UI deve tratar transições destatuscomo eventos rápidos.
Para onde ir a seguir
products/launchlab/bonding-curve— matemática da curva.products/cpmm/code-demos— o que fazer com o pool resultante.user-flows/launch-token-launchlab— o guia end-to-end de lançamento de token, incluindo etapas off-chain.
- Raydium SDK v2
- Fonte do programa Raydium LaunchLab

