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 →
L’APR affiché sur l’interface Raydium pour un pool CLMM est l’APR de frais réalisé de la liquidité dans la plage sur les 24 dernières heures, extrapolé à une année. Ce n’est pas l’APR que votre position aurait gagné — cela dépend de votre plage, du temps passé dans la plage, et de votre part de la liquidité active pendant la fenêtre de trading.

La formule de base

Pour un pool CLMM, l’APR quotidien des frais affiché sur Raydium est calculé comme suit :
apr_24h = (fees_24h / tvl_in_range_24h) · 365
Où :
  • fees_24h est la somme des frais d’échange côté LP accumulés au cours des 24 dernières heures (en USD).
  • tvl_in_range_24h est la valeur USD moyenne pondérée dans le temps de la liquidité qui était dans la plage pendant la fenêtre.
Le dénominateur est ce qui distingue l’APR CLMM de l’APR CPMM. CPMM utilise la TVL totale du pool car chaque dollar contribue toujours. CLMM utilise uniquement le sous-ensemble dans la plage car les dollars hors plage ne gagnent rien.

Quel sera réellement votre APR

L’APR de base est une statistique du pool, pas de votre position. Votre APR dépend de quatre multiplicateurs :
your_APR = headline_APR
         · (your_in_range_fraction / pool_in_range_fraction)     # bonus de concentration
         · time_in_range                                          # discipline de plage
         · (1 − transfer_fee_haircut)                             # taxe Token-2022
         · compounding_factor                                     # si vous réinvestissez automatiquement
  • Bonus de concentration. Si votre plage est plus serrée que la moyenne du pool, chaque tick actif a plus de votre liquidité par dollar que celle du LP moyen. Plus serré = bonus plus grand (et amplification de l’IL proportionnellement plus grande).
  • Temps dans la plage. Si vous êtes dans la plage seulement 40 % du temps, multipliez par 0,40.
  • Taxe de frais de transfert. Pour les mints Token-2022 avec frais de transfert, chaque collection de frais passe par un transfert qui lui-même saigne des points de base.
  • Capitalisation. Si vous faites collectFee et réinvestissez dans la même plage chaque semaine, l’APR effectif est d’environ (1 + daily_APR)^365 − 1. Sans capitalisation, c’est linéaire.

Exemple détaillé

Supposez qu’un pool CLMM SOL/USDC ait :
  • Volume 24h : 120M $
  • Frais : 0,05 % (part LP 88 % des frais après prélèvement du protocole)
  • TVL total : 40M $
  • TVL dans la plage : 18M $ (45 % du pool est actuellement dans la plage)
fees_24h = 120M · 0.0005 · 0.88 = $52,800
apr_24h  = (52,800 / 18,000,000) · 365 = 107%
L’interface Raydium affiche 107 % APR pour le pool. (Cet exemple utilise un pool profond et à haut volume pour garder les chiffres concrets ; les pools CLMM typiques affichent entre 10 % et 50 % APR, les pools faibles volume étant bien en dessous de 10 %.) Supposez maintenant que vous envisagez d’ouvrir une position :
  • Votre plage : suffisamment serrée pour que vous ayez 2× la concentration moyenne.
  • Temps prévu dans la plage : 70 % (vous vérifierez chaque semaine).
  • Pas de frais Token-2022. Pas de capitalisation automatique.
your_APR ≈ 107% · 2 · 0.70 = 150%
C’est une estimation, pas une garantie. Le volume réalisé peut doubler ou être divisé par deux en une semaine.

Pourquoi l’APR historique est un signal décalé

L’APR CLMM se déplace rapidement par rapport à l’APR CPMM car le dénominateur TVL dans la plage se déplace rapidement :
  • Un grand mouvement de prix pousse des blocs de positions hors de la plage, rétrécissant le dénominateur. Soudain, votre TVL restant dans la plage semble « APR plus élevé » — mais seulement parce que les concurrents sont partis, et généralement le volume baisse aussi.
  • Un pool atteignant un nouveau record peut temporairement afficher 500–1000 % APR pendant une heure car la plupart des positions étaient calibrées pour des prix plus bas et seuls quelques LPs agressifs restent dans la plage.
  • Une fois le marché stabilisé, les LPs rééquilibrent et l’APR revient à la moyenne.
Règles de base :
  • Ignorez les APR sur moins de 24 heures. Trop de bruit.
  • Préférez les fenêtres 7j et 30j. Raydium expose les deux via GET /pools/info/ids — champs week.apr et month.apr.
  • Testez rétroactivement votre plage spécifique sur les données de volume et de prix historiques avant de mobiliser un capital important.

Comment fonctionne les mathématiques (étape de tick unique)

À l’intérieur d’un seul tick, le CLMM se comporte comme un CPMM sur la quantité de liquidité L active dans ce tick. Les frais s’accumulent dans fee_growth_global_X et fee_growth_global_Y par unité de liquidité. Pour une position avec liquidité Lₚ qui s’étend sur les plages de tick [i_lo, i_hi] :
fees_earned_X = Lₚ · (fee_growth_inside_X(i_lo, i_hi, now) − fee_growth_inside_X(i_lo, i_hi, t_open))
fees_earned_Y = Lₚ · (fee_growth_inside_Y(i_lo, i_hi, now) − fee_growth_inside_Y(i_lo, i_hi, t_open))
fee_growth_inside soustrait la croissance des frais en dessous de i_lo et au-dessus de i_hi de l’accumulateur global. Les détails se trouvent dans algorithms/clmm-math. Pour calculer les frais attendus sur une période future pour une plage prospective, estimez :
expected_fees_per_day = Σ_ticks_in_range (volume_at_tick · fee_rate · your_share_at_tick)
Le SDK Raydium expose getEstimateAprFromPositionAndPool qui effectue cette estimation en utilisant l’histogramme récent du volume par tick.

Assistante SDK

import { Raydium, TxVersion } from "@raydium-io/raydium-sdk-v2";

const raydium = await Raydium.load({ owner, connection });
const pool = await raydium.clmm.getPoolInfoFromRpc({ poolId });

const apr = await raydium.clmm.estimatedApr({
  poolInfo: pool.poolInfo,
  poolKeys: pool.poolKeys,
  tickLower: -100,   // votre plage prévue
  tickUpper:  100,
  volumeUsd24h: pool.poolInfo.day.volume, // ou une estimation personnalisée
});

console.log(`APR attendu : ${apr.feeApr * 100}% (frais uniquement, exclut les incitations de ferme)`);
La méthode retourne également séparément tout APR de ferme si le pool a une ferme associée. Votre « APR LP » complet est feeApr + farmApr.

Où s’inscrit l’APR de ferme

Les pools Raydium CLMM peuvent avoir des émissions Farm v6 superposées. Les récompenses de ferme sont payées dans un mint de récompense (souvent RAY ou un token partenaire) indépendant des frais d’échange. L’interface Raydium affiche généralement :
APR total = APR des frais + APR de ferme [en mints de récompense $X, Y, Z]
L’APR de ferme est calculé de la même manière mais en utilisant le calendrier d’émission des récompenses et le prix actuel du mint de récompense en USD. Contrairement à l’APR des frais, il n’est pas dépendant de la volatilité — c’est un calendrier fixe. Voir products/farm-staking/overview pour les mathématiques d’émission de ferme.

Erreurs courantes

  • « L’APR est capitalisé automatiquement. » Non. Les frais doivent être réclamés via collectFee, puis réinvestis manuellement. Raydium ne capitalise pas automatiquement les frais CLMM.
  • « Mon APR = APR de base. » Seulement si votre concentration est moyenne, votre temps dans la plage est de 100 %, et vous capitalisez au même rythme. Les trois sont généralement faux.
  • « Frais plus élevés = APR plus élevé. » Seulement si le volume survit aux frais plus élevés. À 1 %, une paire peut afficher 50 % APR mais faire 1/10 du volume ; net inférieur à 0,25 % à 120 % × 0,1 = 12 %.
  • « Les positions hors plage ont zéro risque. » Elles ont zéro revenu de frais mais une IL complète sur la composition de tokens existante — la position est maintenant « 100 % du côté quel qu’il soit ».

Références

Sources :
  • Implémentation estimatedApr du SDK Raydium v2.
  • Page de pool de l’interface Raydium (champs d’APR en direct).
  • Dérivation des frais Uniswap V3.