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

Qu’est-ce qu’une courbe de liaison

Une courbe de liaison est une fonction de prix déterministe p(s) qui relie le prix d’un jeton à la quantité actuellement en circulation (s pour « supply sold »). Les acheteurs font leurs achats en envoyant de la garantie au contrat ; le contrat émet de nouvelles unités de jetons au prix marginal dicté par la courbe. Les vendeurs retournent les unités de jetons et reçoivent le remboursement intégré. Deux propriétés clés par rapport à un pool CPMM :
  • Pas de contrepartie nécessaire. Le contrat émetteur est le teneur de marché ; la liquidité existe de jure.
  • Prix monotone. Le prix augmente à chaque achat net et diminue à chaque vente nette.
Les courbes de liaison sont le mécanisme de lancement standard quand l’entité émettrice ne souhaite pas pré-amorcer un pool AMM avec de la garantie.

Formules de tarification génériques

Pour toute fonction de prix continue p(s) : Prix au comptant à l’offre s :
Coût pour acheter l’offre de s_0 à s_1 (avec s_1 > s_0) :
où P(s) = ∫ p(s) ds est la primitive de la courbe. Géométriquement, cost est l’aire sous p entre s_0 et s_1. Produit de la vente de l’offre de s_1 à s_0 :
(Symétrie : acheter et vendre sur le même intervalle échange la même garantie — modulo les frais.) Prix moyen pour l’achat :

Familles de courbes courantes

Linéaire

Le prix augmente proportionnellement avec l’offre. Utilisé pour les lancements « réguliers » où l’émetteur souhaite une majoration prévisible et modérée sur la durée de vie.

Quadratique

(Pour la forme non normalisée p(s) = k · s², supprimez le S_max² : P(s) = (k/3) · s³. Choisissez une convention et tenez-vous-y — l’exemple détaillé ci-dessous utilise la forme normalisée partout.) Le prix augmente quadratiquement. Les premiers acheteurs obtiennent un prix proche de zéro (région de démarrage plate) ; les derniers acheteurs paient une prime plus raide.
LaunchLab n’implémente pas de courbe de prix quadratique. Ses trois types de courbe sont 0 = ConstantProduct (le type par défaut), 1 = FixedPrice et 2 = LinearPrice. La forme la plus proche de cette section est LinearPrice, dont le prix est p(s) = a·s et dont le coût est donc quadratique. Cette section est conservée comme traitement général d’une courbe polynomiale.

CPMM à réserves virtuelles (style Pump)

La courbe est un CPMM standard avec une réserve de devis imaginaire initiale V_q :
Prix au comptant :
Coût pour passer de s_0 à s_1 :
Cette variante a la propriété élégante qu’à la graduation (où s = S_graduate), le prix marginal égale le prix d’ouverture du pool CPMM en aval amorcé avec les réserves (S_max − S_graduate, V_q + cost(0, S_graduate)). La transition est transparente. LaunchLab l’expose en tant que curve_type = 0 (ConstantProduct) — le type par défaut, et le seul type disposant de configurations actives à ce jour.

Implémentation discrète

Sur la chaîne, s et cost sont tous deux des entiers (unités de plus petite dénomination). L’intégrale continue cost(s_0, s_1) est calculée directement à partir de la forme fermée chaque fois qu’elle existe (linéaire, quadratique). Pour les courbes sans inverse en forme fermée (quadratique, étant donné cost, trouvez s_1), l’itération de Newton est utilisée :
Il s’agit de la recette numérique générale, pas de l’implémentation de LaunchLab. LaunchLab n’a aucun solveur de Newton et aucune erreur NotConverged — aucune de ses trois courbes n’en a besoin. La courbe à produit constant s’inverse sous forme fermée, la courbe à prix fixe est une division, et le coût quadratique de la courbe à prix linéaire s’inverse avec une racine carrée. Même le cas du prix quadratique ci-dessus admet la forme fermée exacte s₁ = ∛(s₀³ + 3·cost/k), qui est ce que l’extrait utilise comme initialiseur.

Intégration des frais

Les frais sont appliqués en plus du coût de la courbe, pas à l’intérieur. À l’achat :
À la vente :
La partie LP du frais est conservée dans quote_vault et rend effectivement la courbe plus raide pour les acheteurs ultérieurs — la réserve augmente sans émettre plus d’offre. Les portions de protocole et de créateur sont suivies dans des compteurs séparés pour un balayage ultérieur.

Seuil de graduation

Une courbe « se diplôme » quand elle a reçu suffisamment de garantie pour amorcer un pool AMM externe à un prix correspondant au prix de courbe actuel. Pour une courbe quadratique avec les paramètres (k, S_max, S_graduate) :
Une fois que quote_vault ≥ quote_to_graduate, l’instruction Graduate crée un pool CPMM avec :
Pour la courbe à réserves virtuelles, par construction :
Pour la quadratique, cette égalité n’est pas vérifiée : le prix moyen intégré est strictement supérieur au prix marginal, de sorte que le CPMM ouvre au-dessus de p(S_graduate) d’un facteur fixe (voir l’exemple détaillé). Seule la courbe à produit constant / réserves virtuelles — celle que LaunchLab exécute réellement — est continue en prix lors de la transition.

Impermanence vs un pool CPMM

Un lancement de courbe de liaison pure n’a aucune impermanence au sens Uniswap : il n’y a pas d’« autre côté » du marché à rééquilibrer. La courbe émet l’offre à la demande, et le seul « LP » est le contrat lui-même. Après la graduation, le pool CPMM résultant se comporte comme n’importe quel autre pool CPMM — si le LP n’a pas été brûlé, il est sujet aux dynamiques habituelles de perte impermanente. C’est pourquoi la politique de brûlage post-graduation est dominante dans les lancements publics : elle maintient le pool permanent et élimine les chocs de prix entraînés par les retraits de LP.

Exemple concret

Courbe : quadratique, k = 40, S_max = 1e9, S_graduate = 0.8 · S_max = 8e8. Frais d’achat 1 %.

Prix à s = 5e8

10 unités de devis par unité de base.

Coût du premier achat de 1e6 base

Avec frais de 1 % :

Seuil de graduation

Prix à la graduation

Réserves CPMM post-graduation

Ce n’est pas p(8e8) = 25.6 — c’est exactement 4/3 de cette valeur. Pour toute courbe de prix quadratique, la moyenne intégrée vaut p(s)/3 · s / s, donc cost(0,s)/s = p(s)/3 · ... donne 4/3 · p(s) dès lors que l’offre restante est de 1 − 0.8. La transition quadratique n’est donc pas continue en prix. Seule la courbe à produit constant / réserves virtuelles possède la propriété d’égalité exacte décrite ci-dessus ; un lancement quadratique présente un saut à la graduation.

Pointeurs

Sources :
  • Code source du programme Raydium LaunchLab (implémentations de courbes quadratiques + réserves virtuelles).
  • Document technique Bancor (courbes de liaison linéaires, historique).
  • Post-mortems publics Pump.fun (variante à réserves virtuelles).