Skip to main content
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →

Le problème que LaunchLab résout

Avant LaunchLab, lancer un nouveau token sur Raydium exigeait du créateur d’amorcer un pool AMM avec les deux côtés de la paire dès le départ — ce qui signifiait que l’équipe devait fournir la liquidité du côté quote (SOL ou USDC) de sa poche. Cela favorisait les projets bien financés et limitait l’accès au mécanisme de lancement en fonction du capital initial. LaunchLab remplace cette étape initiale par une courbe de liaison : le token est déployé contre une courbe tarifée dans un mint de quote (généralement SOL ou USDC). Les acheteurs acquièrent le token en envoyant du quote à la courbe, qui crée ou libère atomiquement des unités de token de base à un prix déterminé par la formule de la courbe et l’offre actuelle. Aucune liquidité pré-amorcée requise. Une fois que la courbe a collecté suffisamment de quote pour correspondre à la formule de liquidité d’un vrai pool AMM, elle se diplôme : le programme crée un pool CPMM sur mainnet amorcé avec les réserves de base et de quote de la courbe, et à partir de ce moment le trading se déplace vers l’AMM.

Cycle de vie

Chaque lancement passe par cette séquence exactement une fois. Buy et Sell sont les instructions visibles par l’utilisateur dans la phase intermédiaire. Une fois le seuil franchi, le portefeuille de migration stocké sur GlobalConfig signe MigrateToC pswap.

Deux parties fixes

Un état LaunchLab a deux comptes distingués :
  • Le mint de base — le token en cours de lancement. Son autorité de mint est détenue par le programme LaunchLab jusqu’à la graduation ; après la graduation, elle est révoquée.
  • Le mint de quote — la garantie. Toujours un mint courant (SOL / USDC / RAY). La configuration de lancement en choisit un à Initialize ; il ne peut pas être modifié.
Plus deux coffres :
  • base_vault — détient la portion de l’offre de base qui a été pré-créée pour la courbe mais pas encore vendue. Diminue à mesure que les utilisateurs achètent.
  • quote_vault — accumule le quote payé par les acheteurs. Augmente à mesure que les utilisateurs achètent. C’est le solde qui est vérifié par rapport au seuil de graduation.

Modèle de tarification

LaunchLab supporte plusieurs formules de courbe (voir bonding-curve). La plus courante est une courbe de liaison quadratique analogue à la lignée Pump.fun / Curve.fi / Bancor :
s est la quantité de base déjà vendue aux utilisateurs et S_max est l’offre maximale de la courbe. Le prix augmente de manière monotone à chaque achat et baisse à chaque vente. Parce que le programme calcule le coût intégré AMM exactement, un achat de n’importe quelle taille retourne le montant intégré correct ; il n’y a pas de slippage par trade au-delà de la convexité naturelle de la courbe.

Graduation

Un lancement se diplôme quand quote_vault.balance ≥ graduation_threshold. Le seuil est défini à Initialize et est généralement choisi de sorte qu’à la graduation le prix implicite de la courbe corresponde au prix auquel le pool AMM s’ouvrira avec les réserves collectées. Concrètement :
S_graduate est la quantité de base déjà vendue, price(S_graduate) est le prix marginal de la courbe à ce moment, et f est un petit facteur pour tenir compte de la ligne de frais (1–2 %). À la graduation :
  1. Le programme capture (base_vault_remaining, quote_vault).
  2. Il appelle CPMM CreatePool CPI avec ces deux réserves, créant le LP initial vers une autorité détenue par le programme (généralement brûlée / verrouillée selon la politique).
  3. Il révoque l’autorité de mint du token de base (de sorte qu’aucun token de base supplémentaire ne puisse jamais être créé).
  4. LaunchState.status bascule à Graduated.
Après la graduation, Buy et Sell sont rejetés. Le trading continue sur le pool CPMM résultant, qui est indistinguable de tout autre pool CPMM Raydium.

Frais

Pendant la phase de courbe, chaque Buy et Sell entraîne des frais répartis entre :
  • Côté LP de la courbe — augmente le k implicite de la courbe, ce qui bénéficie aux acheteurs ultérieurs (prix plus serré).
  • Protocole — s’accumule auprès de l’administrateur LaunchLab, collecté via CollectFees.
  • Créateur — optionnel, configurable à Initialize. Certains lancements dirigent une part vers le créateur comme flux de revenus continu.
Les taux par défaut sont documentés sur bonding-curve. La répartition exacte est stockée sur LaunchState.fees et peut différer par lancement. Les frais post-graduation suivent la configuration CPMM avec laquelle le pool a été créé (généralement AmmConfig[0], le tier 0,25 %).

Qui détient le LP après la graduation ?

LaunchLab utilise les trois échelles stockées de la plateforme pour produire deux destinations LP effectives :
  • Verrouillage de plateforme — pour les migrations exécutées après la mise à jour du 2026-08-17, platform_scale + creator_scale est verrouillé via LP-Lock et une Fee Key va à platform_nft_wallet quand cette part est non-zéro. Avant la mise à jour, creator_scale produisait une Fee Key créateur séparée.
  • Brûlageburn_scale est brûlé de manière permanente et n’a pas de Fee Key.
Les échelles vivent sur PlatformConfig et doivent totaliser 1_000_000. La mise à jour change uniquement l’exécution des migrations futures. Elle n’altère pas les Fee Keys créateur créées par les migrations antérieures.

Invariants importants

  • Le mint de base est sans inflation après la graduation. Son mint_authority est révoqué ; freeze_authority n’a jamais été défini.
  • Tous les nouveaux lancements sont CPMM uniquement. Initialize, InitializeV2, et InitializeWithToken2022 exigent migrate_type = CPSWAP. L’état hérité existant peut toujours utiliser MigrateToAmm.
  • L’état de la courbe est monotone dans une direction. base_sold augmente uniquement pendant Buy, quote_vault augmente uniquement pendant Buy (diminue pendant Sell — ce qui réduit symétriquement base_sold). Le programme ne laisse jamais la courbe devenir négative.
  • La graduation est une porte à sens unique. Même si le trading post-graduation pousse le prix du pool AMM en dessous du prix de graduation, le lancement ne revient pas à la courbe.

Quand utiliser LaunchLab

Cette page décrit uniquement la mécanique du protocole. Rien ici ne constitue un conseil financier, juridique ou d’investissement. Les lancements de tokens comportent des risques financiers importants. Consultez les professionnels appropriés avant de lancer un token impliquant une levée de fonds publique.
  • Vous lancez un nouveau token sans marché préexistant.
  • Vous voulez que le marché détermine le prix CPMM d’ouverture plutôt que de le pré-déclarer.
  • Vous voulez permettre à quiconque — y compris l’équipe elle-même — d’acheter aux mêmes prix déterminés par la courbe, plutôt que de pré-allouer aux initiés à rabais.
Ne pas utiliser LaunchLab pour :
  • Les tokens existants avec des marchés établis (utilisez CreatePool sur CPMM directement).
  • Les lancements où vous avez besoin d’un contrôle précis sur le prix AMM d’ouverture (vous pouvez l’approximer avec une configuration de courbe soignée, mais le mécanisme est toujours piloté par la courbe).
  • Les tokens qui nécessitent des extensions Token-2022 que LaunchLab n’autorise pas (le programme de lancement rejette les extensions comme TransferHook et PermanentDelegate même sur le chemin Token-2022).

Contenu du chapitre

  • bonding-curve — la formule de courbe, les mathématiques de coût et de produits, la dérivation du seuil de graduation.
  • accountsLaunchConfig, LaunchState, coffres, PDAs d’autorité.
  • instructionsInitialize, Buy, Sell, Graduate, CollectFees, SetParams.
  • code-demos — exemples TypeScript de bout en bout.

Où aller ensuite

Sources :
  • Module LaunchLab du SDK Raydium v2 (IDL sous src/raydium/launchpad/).
  • La source du programme LaunchLab n’est pas actuellement publiée en tant que repo autonome. L’IDL fourni avec le SDK ci-dessus est l’interface canonique.