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 →

Le modèle de frais

Le Stable AMM utilise la même structure de frais que l’AMM v4. Il n’existe qu’un seul palier de frais par pool (défini à l’initialisation) ; les pools ne peuvent pas être reconfigurés vers des paliers plus élevés.
ChampDéfautSignification
swap_fee_numerator / swap_fee_denominator25 / 10_000Frais bruts de trading : 0,25 % du volume d’entrée.
trade_fee_numerator / trade_fee_denominator25 / 10_000Même 0,25 %, utilisé par l’intégration OpenBook pour la tarification des ordres.
pnl_numerator / pnl_denominator12 / 100Part du protocole dans les frais : 12 % — c’est-à-dire 0,25 % × 12 % = 0,03 % du volume.
min_separate_numerator / min_separate_denominator4 / 10_000Plancher d’arrondi interne.
Il n’existe aucun frais de fonds et aucuns frais de créateur — ce sont des inventions post-AMM v4 (CPMM/CLMM). Le Stable AMM est antérieur à cette convention.

Comment la répartition est calculée

À chaque swap :
gross_fee = ceil(amount_in * (swap_fee_numerator / swap_fee_denominator))    // ex. 0,25% de amount_in
pnl_portion = gross_fee * (pnl_numerator / pnl_denominator)                  // 12% de gross_fee
lp_portion = gross_fee − pnl_portion                                          // 88% de gross_fee
  • lp_portion reste dans le coffre, augmente k, et bénéficie aux LPs lors du retrait.
  • pnl_portion incrémente AmmInfo.out_put.need_take_pnl_coin ou need_take_pnl_pc (selon le token d’entrée) et est collectée par WithdrawPnl.
Même astuce de préservation de l’invariant que le CPMM : le montant PnL se trouve physiquement dans le coffre mais est soustrait des « réserves effectives » utilisées dans les calculs de la courbe, donc le supprimer ne déplace pas le prix.

PnL provenant d’OpenBook (identique à AMM v4)

Quand les ordres limites du pool sur OpenBook sont exécutés, ils peuvent être côté taker et générer ou perdre l’écart market-maker/taker. Ces exécutions se règlent lors de MonitorStep et créditent/débitent les réserves du pool. Le programme les suit dans les compteurs out_put.total_pnl_{coin,pc} à titre informatif. Ce PnL OpenBook est distinct des frais de protocole de 0,03 %. Il augmente les réserves du pool et bénéficie aux LPs et au protocole proportionnellement. Le couplage opérationnel à OpenBook est une raison pour laquelle le CPMM (indépendant du carnet d’ordres) est maintenant par défaut pour les nouveaux pools.

Collecte

Le multisig Raydium (ou quiconque contrôle amm_admin) appelle WithdrawPnl pour collecter :
  1. Règle d’abord tout remplissage OpenBook en attente (via la logique de crank interne).
  2. Transfère need_take_pnl_coin et need_take_pnl_pc des coffres vers les comptes désignés par l’admin.
  3. Réinitialise les compteurs.
L’opération ne déplace pas la courbe. Les LPs ne constatent aucun changement de prix.

Rédemption des frais LP

Aucune instruction dédiée « collecter les frais ». Les frais LP s’accumulent dans les coffres, augmentant les réserves. Les LPs les réalisent en brûlant les LP via Withdraw. La valeur d’un token LP augmente à mesure que les réserves augmentent.

Visualisation : où vont 1 000 $ de volume

Sur un Swap de 1 000 $ contre un pool Stable avec paramètres par défaut (lourd en USDC) :
Frais bruts de trading (0,25 %) :    2,50 $
  Part LP   (0,22 %) :               2,20 $  → reste dans le pool, augmente k
  Part PnL  (0,03 %) :               0,30 $  → need_take_pnl_pc, collectée par WithdrawPnl
Reçu par l'utilisateur (après courbe) : 997,50 $
Comparé à l’AMM v4 (identique) et au CPMM (palier 0,25 %, aucuns frais de créateur) : le CPMM donne 2,10 $ aux LPs, 0,30 $ au protocole, 0,10 $ aux fonds.

Tableau de comparaison

Stable AMMAMM v4CPMM index=0
Frais de trading0,25 %0,25 %0,25 %
LP0,22 %0,22 %0,21 %
Protocole0,03 %0,03 %0,03 %
FondsAucunAucun0,01 %
CréateurAucunAucun0 par défaut
Matrice complète : reference/fee-comparison.

Notes pour les intégrateurs

  • Cotation : Lisez toujours AmmInfo depuis la chaîne ; ne codez pas en dur les frais. En principe, SetParams peut les modifier, bien que le multisig n’ait pas changé les défauts.
  • Courbe vs. frais : Les frais de 0,25 % sont indépendants de la forme de la courbe (formule x·y=k dans l’AMM v4 ou table de recherche pour Stable). Les deux appliquent les mêmes 0,25 % au montant d’entrée.
  • Pas de récompenses : Les pools Stable ne supportent pas d’émissions de récompenses dans le pool. Les fermes de l’écosystème (Farm v3/v5/v6) gèrent le staking ailleurs.

Prochaines étapes

Sources :
  • raydium-stable/program/src/state.rs (struct Fees)
  • Champs AmmInfo.fees on-chain sur les pools mainnet actifs