Passer au contenu principal

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.

Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
LaunchLab est le principal marché de lancement primaire de Raydium. Un projet dépose son allocation de tokens dans une courbe de liaison ; les acheteurs échangent contre la courbe en utilisant des SOL (ou un autre quote mint) ; quand un seuil de graduation est atteint, les actifs de la courbe migrent automatiquement vers un pool CPMM, et le token devient librement échangeable. Cette page vous guide à travers tout le processus du côté du projet.

Ce qu’il vous faut

  • Token mint — le token que vous voulez vendre. Doit être fraîchement créé avec :
    • L’approvisionnement complet mintré vers votre portefeuille (pour pouvoir le déposer dans la courbe).
    • L’autorité de mint révoquée avant le lancement (sinon le prix de la courbe peut être manipulé par de nouveaux mints).
  • Métadonnées — nom, symbole, image, liens sociaux. Métadonnées Metaplex ou équivalent.
  • Portefeuille — ~1 SOL pour la création de rente + financement du coffre + frais de priorité (la graduation elle-même est payée par celui qui la déclenche, pas par vous).
  • Décisions à prendre sur :
    • Type de courbe (quadratique vs CPMM à réserves virtuelles).
    • Seuil de graduation.
    • Politique de disposition des LP (Burn / Lock / ToCreator).
    • Prix initial et limite.

Choix de la courbe

LaunchLab supporte deux familles de courbes :

Quadratique (curve_type = 0)

Le prix augmente de manière quadratique avec l’offre vendue. Sentiment classique de « lancement équitable » — les premiers acheteurs obtiennent un avantage de prix, les derniers acheteurs paient plus cher, le prix s’accélère régulièrement.
price(s) = a * s^2 + b * s + c
s est l’offre vendue. Généralement a > 0 (convexe). L’écart entre les prix initiaux et de graduation est déterministe en fonction de a, b, c et de la limite. Idéal pour : lancements de nouveauté, memes, projets menés par la communauté.

CPMM à réserves virtuelles (curve_type = 1)

Émule un AMM à produit constant en utilisant des réserves virtuelles — la courbe se comporte comme un CPMM avec x * y = k mais le pool commence avec des tokens synthétiques qui ne sont jamais retirés.
price = virtual_quote_reserve / virtual_base_reserve
À mesure que les acheteurs achètent, virtual_base_reserve diminue et virtual_quote_reserve augmente — la courbe ressemble exactement à ce que le CPMM post-graduation aura. Transition plus fluide. Idéal pour : lancements qui veulent une continuité de prix prévisible après graduation.

Présentation de l’interface

Sur raydium.io/launchpad/create :
  1. Token. Collez l’adresse du mint. L’interface récupère les métadonnées et les affiche.
  2. Type de courbe. Choisissez quadratique ou CPMM virtuel ; l’interface affiche un aperçu du graphique de prix pour chacun.
  3. Seuil de graduation. Par défaut : la courbe se termine après la vente complète de total_base_supply. Alternative : terminer à un montant graduation_quote_amount spécifique (ex. 85 SOL).
  4. Quote mint. SOL (par défaut), USDC, ou tout autre mint. SOL est standard.
  5. Politique de disposition des LP :
    • Burn — tokens LP envoyés à une adresse inutilisable lors de la graduation. Le créateur ne peut pas retirer la liquidité ; les utilisateurs font confiance au pool pour toujours.
    • Lock — tokens LP envoyés à un séquestre à délai bloqué pour lock_duration.
    • ToCreator — tokens LP envoyés au créateur. Le plus flexible, le moins minimurisé en matière de confiance.
    La plupart des lancements respectés utilisent Burn.
  6. Vérification. L’interface résume : la plage de prix attendue, la levée de fonds initiale si la courbe s’épuise, la configuration du CPMM post-graduation.
  7. Signature. Une transaction crée l’état de lancement + coffre de base + coffre de quote, transfère total_base_supply de votre portefeuille vers le coffre de base.

Présentation programmatique

import { Raydium, TxVersion } from "@raydium-io/raydium-sdk-v2";
import { PublicKey } from "@solana/web3.js";
import BN from "bn.js";

const raydium = await Raydium.load({ connection, owner, cluster: "mainnet" });

const baseMint  = new PublicKey("MyNewToken...");
const quoteMint = new PublicKey("So11111111111111111111111111111111111111112"); // SOL

const { execute, extInfo } = await raydium.launchpad.createLaunchpad({
  programId:      LAUNCHPAD_PROGRAM_ID,
  baseMint,
  quoteMint,
  curveType:      0,                           // quadratic
  totalBaseSupply:    new BN("1000000000000000000"),   // 1B tokens with 9 decimals
  graduationQuoteAmount: new BN("85000000000"),         // 85 SOL
  lpDisposalPolicy:   "Burn",
  priceCurveParams: {
    a: new BN("1"),
    b: new BN("0"),
    c: new BN("0"),
  },
  startTime: new BN(Math.floor(Date.now() / 1000) + 300),  // start in 5 min
  txVersion: TxVersion.V0,
  computeBudgetConfig: { units: 400_000, microLamports: 50_000 },
});

const { txId } = await execute({ sendAndConfirm: true });
console.log("Launch ID:", extInfo.launchId.toBase58());
console.log("Base vault:", extInfo.baseVault.toBase58());
console.log("Quote vault:", extInfo.quoteVault.toBase58());

Suivi pré-graduation

Suivez l’activité via l’API :
const status = await fetch(
  `https://api-v3.raydium.io/launchpad/status?launchId=${launchId}`
).then(r => r.json());

console.log("Sold so far:",       status.baseSold.toString());
console.log("Quote raised:",      status.quoteRaised.toString());
console.log("Current price:",     status.currentPriceUsd);
console.log("Graduation progress:", status.graduationProgress, "%");
Ou décodez directement l’état on-chain :
const launchState = await raydium.launchpad.fetchLaunchState(launchId);
console.log({
  baseSold:   launchState.baseSold.toString(),
  quoteHeld:  launchState.quoteHeld.toString(),
  graduated:  launchState.graduated,
});

Métriques à surveiller

  • Taux de vente : pourcentage de base vendu. Le seuil de graduation est généralement à 80–100 % vendu.
  • Prix actuel : dérivé de la courbe au baseSold actuel.
  • Acheteurs uniques : nombre de payeurs distincts via l’indexeur.
  • Ratio achat-vente : les lancements précoces voient une forte pression d’achat qui ralentit.
Si le taux de vente est < 10 % après 24 heures, demandez-vous si le marketing est adéquat. LaunchLab ne sauve pas les lancements sous-hyped.

Graduation

La graduation est une transaction distincte, appelable par n’importe qui (habituellement, la première personne qui remarque que le seuil est atteint gagne la petite graduation_bounty). Aucune action n’est requise de votre part en tant que créateur au-delà de la configuration initiale.

Ce que fait la graduation

  1. Lit les soldes des coffres.
  2. Ferme la courbe (plus d’achats/ventes contre elle).
  3. Crée un nouveau pool CPMM avec les soldes des coffres comme liquidité initiale.
  4. Mint les tokens LP initiaux en fonction des soldes des coffres.
  5. Dispose des tokens LP selon la politique configurée (Burn / Lock / ToCreator).
Après la graduation, le pool CPMM est actif et les trades passent par le routage normal de Raydium.

Surveillance de la graduation

const launchState = await raydium.launchpad.fetchLaunchState(launchId);
if (launchState.graduated) {
  const cpmmPoolId = launchState.graduatedCpmmPool;
  console.log("Graduated to CPMM pool:", cpmmPoolId.toBase58());
}

Graduation manuelle

Si personne ne réclame la prime et que vous voulez forcer la graduation, vous pouvez l’appeler vous-même :
await raydium.launchpad.graduate({
  launchId,
  txVersion: TxVersion.V0,
  computeBudgetConfig: { units: 600_000, microLamports: 100_000 },
});
La graduation utilise des CU significatifs ; budgétez 600k.

Post-graduation

Vérifier le pool CPMM

const pool = await raydium.cpmm.getPoolInfoFromRpc({ poolId: cpmmPoolId });
console.log("CPMM price:", pool.poolInfo.price);
console.log("CPMM TVL:  ", pool.poolInfo.tvl);
Le pool CPMM doit avoir (approximativement) :
  • Solde du token de base : total_base_supply - baseSold + résidu de courbe.
  • Solde du token de quote : quoteRaised - graduationFee.
  • Prix : correspond au dernier prix de la courbe.

Vérifier la disposition des LP

  • Burn : l’offre du mint LP montre être envoyée à 1nc1nerator11111111111111111111111111111111 ou équivalent.
  • Lock : tokens LP dans le PDA du séquestre avec timestamp de déverrouillage.
  • ToCreator : tokens LP dans le portefeuille du créateur.

Collecter les frais du créateur

Si vous avez configuré une part de frais du créateur, appelez périodiquement :
await raydium.launchpad.collectCreatorFees({
  launchId,
  txVersion: TxVersion.V0,
});
Les frais s’accumulent à partir des trades de courbe pré-graduation et du pool CPMM post-graduation (si ToCreator LP).

Checklist d’annonce

L’annonce post-graduation doit inclure :
  • Hash de la transaction de graduation.
  • Nouvel ID du pool CPMM.
  • Preuve de disposition des LP (tx de burn / tx de lock / portefeuille du créateur).
  • ETA de couverture de l’agrégateur (les portefeuilles indexent généralement en 5 minutes).
  • Vérification du contrat de token (faites correspondre l’adresse du mint sur tous les canaux d’annonce).

Pièges

1. Autorité de mint non révoquée

Si baseMint.mintAuthority est toujours une clé que vous contrôlez, vous pouvez minter une nouvelle offre et vendre dans votre propre courbe. Les lancements qui n’ont pas révoqué sont généralement signalés comme haut risque ou non vérifiés par les agrégateurs et les sites de listage. Révoquez avant de lancer.

2. Mauvais paramètres de courbe

Les courbes quadratiques avec a trop élevé rendent les tokens initiaux gratuits (prix ≈ 0) et les tokens ultérieurs absurdes. Les courbes avec a trop bas rendent la courbe presque linéaire (perdent le sentiment de « liaison »). Testez d’abord les paramètres sur devnet.

3. Seuil de graduation trop élevé

Si la graduation nécessite plus de capital que la demande réaliste, la courbe n’atteint jamais la graduation et les acheteurs sont bloqués avec des tokens qu’ils ne peuvent vendre que de nouveau à la courbe (à des prix pires). Choisissez un seuil que vous pouvez réellement atteindre.

4. Arnaques avec le quote mint

Si votre quote mint est un token personnalisé (pas SOL/USDC), les utilisateurs ne lui feront pas confiance. Restez avec SOL ou USDC pour le quote.

5. Oublié de financer le coffre de base

Le SDK transfère totalBaseSupply de votre portefeuille lors de la création. Si votre portefeuille ne le possède pas, la tx revient. Confirmez le solde avant de signer.

6. Disposition des LP = Burn est irréversible

Une fois que les LP sont envoyés à 1nc1nerator, personne ne peut retirer la liquidité, y compris vous. C’est le point — minimiser la confiance. Ne choisissez pas Burn si vous n’en êtes pas sûr.

7. Niveau de frais du CPMM post-graduation

Le pool post-graduation utilise la config CPMM par défaut de LaunchLab (0,25 %). Si vous vouliez 1 % ou 0,01 %, vous devez créer un second pool CPMM vous-même post-graduation et migrer la liquidité — maladroit et fragmenté. Acceptez le défaut, ou lancez via la création directe de CPMM au lieu de LaunchLab.

Pointeurs

Sources :
  • Module launchpad du SDK Raydium v2.
  • Statut de lancement via les endpoints api-v3.raydium.io.