🧬
Launch App
English
English
  • Say Hello to Raydium
  • Getting Started
    • How-to guides
    • SPL Wallet
      • Buying and selling digital assets
      • Bridging assets
    • Best practices
    • Welcome to UI V3
    • FAQ
  • Traders
    • Swapping
      • Swap FAQ
    • Blinks and Referrals
    • Trade API
    • Raydium Perps
      • Trading basics
      • Order types
      • Trading fees
  • Liquidity providers
    • Providing Concentrated Liquidity (CLMM)
      • Intro on Concentrated Liquidity
      • Estimated APR Calculations
      • Position creation cost (CLMM)
    • Providing Constant Product liquidity
      • Farms
    • Liquidity providing FAQ
  • POOL CREATION
    • LaunchLab
      • Create a Token
      • Buying a LaunchLab token
      • Earn referral fees!
      • Creator fee share
      • Platforms
      • LaunchLab TypeScript SDK
    • Pool types overview
    • Creating a CLMM Pool and Farm
    • Creating a Constant Product Pool
      • Creating an Ecosystem Farm
    • Burn & Earn
    • Pool creation fees
    • Pool creation FAQ
  • Protocol
    • RAY TOKEN
      • RAY Staking
      • Protocol Fees
      • RAY Buybacks
    • Developers
      • Addresses
      • APIs
    • Security
      • Access Controls
    • Bug Bounty Program
      • CLMM Bug Bounty Details
      • Hybrid AMM Bug Bounty Details
      • CPMM (CP-Swap) Bug Bounty Details
    • Protocol Metrics & Analytics
  • Media assets
  • updates
    • Token-2022 Support
    • Archive
      • Staking History Tool
      • V3 LPs migrated to V4
      • Serum DEX3 upgrade
      • Associated Token Account Migration
      • Serum DEX Deprecation
      • Transparency on Exploit Compensation Funds
      • Claim Portal
      • Creating an OpenBook AMM Pool
        • Creating an Ecosystem Farm
      • Integration with OpenBook
      • Acceleraytor
  • Learn more
    • Discord
    • Telegram
Powered by GitBook
On this page
  • APR Calculations for CLMM pools
  • Overall Pool Estimated APR
  • Delta Method - Estimated APR for user positions
  • Multiplier Method - Estimated APR for user positions

Was this helpful?

  1. Liquidity providers
  2. Providing Concentrated Liquidity (CLMM)

Estimated APR Calculations

PreviousIntro on Concentrated LiquidityNextPosition creation cost (CLMM)

Last updated 6 months ago

Was this helpful?

APR Calculations for CLMM pools

In a CLMM pool, when price trades within an individual tick, fees are distributed proportionally to the liquidity provided by in-range positions. An accurate APR can be found for an individual tick based on trading volume within a time period, however, extrapolating this to all of the ticks in the pool and among multiple LPs is extremely complex. Traditional constant product pool APR calculations can not be directly applied to CLMM pools. Projected returns for CLMMs should be considered as an estimate at best.

There are three methods for estimating APRs for CLMM pools displayed on Raydium, each with its own calculation described in the following sections:

  1. Overall Pool Estimated APR

  2. Estimated APR for a user position (two methods of calculation below)

    • Delta Method

    • Multiplier Method

Overall Pool Estimated APR

In order to estimate an overall APR for the pool, the following is assumed: Trading fees and emissions per block are extrapolated across all of the liquidity in the pool, including liquidity positions that are out of range.

Delta Method - Estimated APR for user positions

The Delta Method applies the implied change (delta) in pool liquidity, as determined by a user specified position price range and size, to calculate an estimated APR.

The total amounts of each token can be calculated by using the following formulas:

For estimation of the amounts of tokenA (deltaX) and tokenB (deltaY) we need to know deltaL:

After calculating for deltaL, we can calculate deltaX and deltaY using:

Estimated daily fee can be calculated by:

And can be calculated from:

Multiplier Method - Estimated APR for user positions

The Multiplier Method applies a multiplier, determined by the intersection of the position price range and the historical price range of the pool to calculate an estimated APR.

In order to estimate the future reward and fee APR, the following is assumed:

  • Historical price data is used to extrapolate future price data, practically this is not the best indicator of future price performance but it does help to provide a decent estimate.

  • Price fluctuation within the historical price range is consistent in volume across the entire time interval, and resembles a periodic function with an amplitude equalling the magnitude of the upper and lower price boundaries.

We retrieve the following variables:

For ease of understanding, we will denote the following ranges as such:

Where retroRange is the retroactive intersection between userRange and histRange