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

Résumé en un paragraphe

CPMM — Constant Product Market Maker, officiellement l’« AMM Standard » dans l’interface de Raydium — est une implémentation native Solana du classique AMM x · y = k. Pas de carnet de commandes OpenBook, pas d’héritage Serum, pas de dépendances externes au-delà de SPL Token et Token-2022. Chaque pool est un triplet composé de (deux coffres de jetons, une mint LP) gouverné par une PDA d’autorité détenue par le programme, évalué par le produit des soldes des coffres. C’est l’AMM que Raydium recommande pour tous les nouveaux pools à produit constant, et c’est ce que le point de terminaison /pools/create et le flux « Créer un pool » de l’interface web ciblent par défaut.

Ce que le CPMM vous offre

Mise à jour de la collecte des frais du créateur. N’importe quel payeur peut déclencher CollectCreatorFeePermissionless. Les fonds vont toujours uniquement aux comptes de jetons canoniques du créateur du pool, et l’instruction CollectCreatorFee signée par le créateur reste disponible. Voir Instructions.
  • Token-2022 avec une liste blanche d’extensions vérifiée. Le CPMM n’accepte pas les mints Token-2022 arbitraires. Le programme applique une liste blanche d’extensions sûres à la création du pool : TransferFeeConfig, MetadataPointer, TokenMetadata, InterestBearingConfig, et ScaledUiAmount. Toute autre extension sur la mint provoque le rejet de Initialize avec NotSupportMint — sauf si la mint elle-même figure sur une petite liste blanche de mints codée en dur maintenue dans le programme (utilisée pour intégrer des mints spécifiques au cas par cas). Les frais de transfert en particulier affectent les mathématiques du swap et sont appliqués du bon côté de l’échange — voir algorithms/token-2022-transfer-fees.
  • Frais prévisibles. Chaque pool référence une AmmConfig sélectionnée à la création. La configuration porte un taux de frais de trading (réparti entre les LP, le protocole et le fonds) et un taux de frais du créateur séparé et indépendant. Les frais du créateur constituent leur propre compartiment — jamais une tranche des frais de trading. Les pools optent pour les facturer à la création. Les valeurs par défaut et les mathématiques complètes de la répartition se trouvent dans products/cpmm/fees.
  • TWAP on-chain via un tampon d’anneau d’observation. Chaque swap met à jour un compte observation. Les contrats externes peuvent lire une observation de prix cumulatif pour calculer un TWAP sans oracle personnalisé.
  • Disposition de compte plate. Un pool est entièrement décrit par six PDA (autorité, état du pool, mint LP, deux coffres, observation). Pas de compte OpenBook par marché, pas de file d’événements, pas de file de requêtes. Les transactions sont moins chères à la fois en calcul et en nombre de comptes que l’AMM v4.
  • Compatible avec le verrouillage et la rémunération. Les jetons LP peuvent être verrouillés sous le programme LP Lock afin que le créateur du pool puisse continuer à percevoir des frais sans conserver le droit de retirer la liquidité. Utilisé pour les lancements de liquidité « permanente ».

Ce que le CPMM n’est pas

  • Pas concentré. La liquidité est répartie uniformément sur toute la plage de prix, comme Uniswap v2. Si vous avez besoin d’une tenue de marché efficace en capital — c’est-à-dire concentrer la liquidité près du prix actuel — utilisez CLMM.
  • Pas hybride. Contrairement à AMM v4, les pools CPMM ne placent pas d’ordres au repos sur un marché OpenBook. Le routage entre les pools CPMM se fait via le programme AMM Routing, pas via un CLOB.
  • Pas lançable pour des courbes arbitraires. La courbe est codée en dur en tant que produit constant. Si vous voulez une courbe de liaison pour un lancement de jeton, utilisez LaunchLab, qui se transforme en pool CPMM une fois rempli.

Comment le CPMM diffère de l’AMM v4

Un traitement plus approfondi de l’histoire de la migration se trouve dans protocol-overview/versions-and-migration.

Modèle mental

Un pool CPMM est un objet détenu par le programme contenant trois soldes : vault0 (token0), vault1 (token1), et l’offre de la mint LP. L’offre de la mint LP suit la réclamation des déposants sur le pool ; les coffres de jetons détiennent les actifs réels. Tout le reste — la PDA d’autorité, le compte d’observation, le pointeur de configuration des frais — est de la tenue de livres pour rendre cette relation à trois variables échangeable, collectrice de frais et observable. Chaque opération visible par l’utilisateur se réduit à une transition d’état bien définie :
  • Dépôt : transférer token0 et token1, frapper LP à l’utilisateur, pas de changement de prix.
  • Retrait : brûler LP de l’utilisateur, transférer token0 et token1 dans le ratio actuel du pool, pas de changement de prix.
  • Swap : transférer un jeton, transférer l’autre ; le ratio se déplace le long de la courbe x · y = k (moins les frais) ; le compte d’observation échantillonne le nouveau prix.
La collecte des frais est une transaction séparée ; elle ne se produit pas à chaque swap. La collecte du protocole et du fonds nécessite leurs autorités respectives. Les frais du créateur peuvent être collectés soit par le chemin signé par le créateur, soit par un appelant sans permission via un chemin contraint par la destination. Les mathématiques sont détaillées dans products/cpmm/math et l’ensemble des instructions dans products/cpmm/instructions.

Quand choisir le CPMM

Choisissez le CPMM quand :
  • Vous lancez un nouveau jeton ou une nouvelle paire et n’avez pas d’opinions fortes sur la plage qui verra du trading.
  • L’un ou les deux jetons utilisent des extensions Token-2022.
  • Vous voulez un modèle simple de frais par transaction plutôt qu’un modèle dynamique basé sur les ticks.
  • Vous intégrez et voulez router via Raydium sans prendre la complexité des positions CLMM.
Préférez CLMM quand :
  • La paire est stable ou hautement corrélée (stablecoin-stablecoin, LST-SOL) et vous voulez concentrer la liquidité autour de la parité.
  • Vous êtes une équipe de tenue de marché disposée à gérer activement les plages pour un APR de frais plus élevé par dollar de TVL.
Préférez AMM v4 quand :
  • Vous migrez des outils AMM v4 existants et ne créez pas un nouveau pool.
(Remarque : le mode hybride OpenBook de l’AMM v4 n’est plus actif — ce n’est plus une raison de choisir l’AMM v4.)

Où aller ensuite

  • Comptes — les six PDA d’un pool CPMM et comment les dériver.
  • MathématiquesSwapBaseInput vs SwapBaseOutput, gestion des frais de transfert Token-2022, mises à jour d’observation.
  • Instructions — la surface d’instruction complète avec listes de comptes.
  • Frais — la répartition des frais en quatre voies et comment collecter.
  • Démos de code — extraits TypeScript exécutables pour créer / swapper / déposer / retirer.
Sources :