LogoLogo
AddressesAuditsGitHub
  • 📥Introduction
  • 🌀Products
    • Introduction
    • Best Yield
      • Overview
      • Guides
        • Deposit funds on BY
        • Redeem funds on BY
      • FAQs
    • Yield Tranches
      • Overview
      • Adaptive Yield Split
      • Security
        • Covered risks
      • Guides
        • Deposit funds on YTs
        • Redeem funds on YTs
        • Live YTs guides
          • Lido stETH
      • FAQs
    • Fee structure
    • Get involved
      • Integrators program
      • Institutions program
  • 💻Developers
    • Introduction
    • Networks and codebase
      • Ethereum mainnet
      • Polygon
      • Kovan testnet
      • ERC-4626 standard
    • Best Yield
      • Architecture
      • Deployed contracts
        • Ethereum
        • Optimism
      • Interface
      • Methods
        • mintIdleToken
        • redeemIdleToken
        • redeemInterestBearingTokens
        • rebalance
        • tokenPrice
        • tokenPriceWithFee
        • getAPRs
        • getAvgApr
        • userAvgPrices
        • getGovTokensAmounts
        • getAllocations
        • getGovTokens
        • getAllAvailableTokens
        • getProtocolTokenToGov
      • Edge cases
      • Security management policy
      • Get integrated as yield source
      • Get user earnings
    • Yield Tranches
      • Architecture
      • Deployed contracts
        • Ethereum
        • Polygon zkEVM
        • Optimism
      • Interface
      • Methods
        • AAStaking
        • BBStaking
        • AATranche
        • BBTranche
        • depositAA
        • depositAARef
        • depositBB
        • depositBBRef
        • fee
        • getApr
        • getContractValue
        • getCurrentAARatio
        • getIncentiveTokens
        • lastNAVAA
        • lastNAVBB
        • strategy
        • strategyToken
        • token
        • trancheAPRSplitRatio
        • tranchePrice
        • virtualPrice
        • withdrawAA
        • withdrawBB
      • Integration example
      • Edge cases
      • Security management policy
      • Subgraph
    • API
    • Security
      • Hats Finance vault
      • Hypernative monitoring
      • Immunefi bug bounty
      • Integration Standard Requirements
      • Risk Framework
      • Smart contract audits
  • 🏛️Governance
    • Introduction
    • Idle DAO
      • Governance process
        • Governance forum
        • Governance dashboard
        • Snapshot IDLE
        • Snapshot stkIDLE
      • Idle Leagues
        • Communication League
        • Development League
        • Treasury League
        • Leagues contributors
      • Treasury
        • Reports
      • Governance guides
        • How to monitor off-chain voting pools
        • How to propose an IIP
        • How to create an on-chain proposal
        • How to delegate votes
        • How to vote for an IIP
      • FAQs
    • IDLE token
      • Distribution
      • Use cases
        • Lending, borrowing & collateral
        • DEXs liquidity provision
      • Buybacks
      • Delegates
      • CoinGecko
    • IDLE staking
      • Prime staking
        • Examples
      • Staking integration
      • Guides
        • How to stake your IDLE
        • How to vote in Gauges
        • How to boost your $IDLE rewards
        • How to give VEV
  • 🗂️Other
    • Brand assets
    • Guides
      • How to see IDLE in your wallet
      • Deposit funds through Idle
      • Deposit funds through smart contracts
      • Redeem funds through Idle
      • Redeem funds through smart contracts
    • FAQs
    • Glossary
    • Resources
    • Archive
      • 👇Get in touch
        • 🏛️Governance Forum
        • 🏆Idle Grants Program
        • 👾Discord
        • 🐦Twitter
      • Gauges
        • Architecture
        • Deployed contracts
        • Gauges repository
        • stkIDLE repository
      • Gauges
        • Gauges integration
        • FAQs
      • Boost
      • DEXs liquidity provison
      • Risk Adjusted (deprecated)
      • Deployed contracts
      • Idle Smart Treasury (deprecated)
      • Ethereum LP staking (deprecated)
      • Polygon LP staking (deprecated)
      • Flash Loans (deprecated)
      • QuickSwap cxETH-WETH
      • Integrate PYTs
      • Idle Grants program
      • Idle on Polygon
        • Add Polygon network to MetaMask
        • Bridge $IDLE to Polygon
        • Deposit funds on Polygon
        • Add liquidity to $IDLE pools
        • Stake IDLE LP tokens on Polygon
Powered by GitBook

Ecosystem

  • Website
  • App
  • Governance
  • Brand assets

Developers

  • Feedback
  • GitHub
  • Bug bounty
  • Audits

Community

  • Blog
  • Twitter
  • Telegram
  • Discord

Analytics

  • Stats
  • Dune
  • DeFiLlama
  • CoinGecko
On this page
  • Liquidity ratios
  • Senior and Junior yields
  • Senior coverage and Junior overperformance
  • Examples

Was this helpful?

  1. Products
  2. Yield Tranches

Adaptive Yield Split

Products > Yield Tranches > Overview > AYS

Last updated 5 months ago

Was this helpful?

The Adaptive Yield Split is a unique feature of YTs that manages the return distribution dynamically conditional to the liquidity deposited on each side (Senior/Junior) of the Tranche.

Mathematically, the formulas behind this mechanism consider mainly to compute .

Please note that the labels used slightly change the naming at the contract level

  • The Senior TVL ratio is _AATrancheSplitRatio

  • The Senior Yield share is _trancheAPRSplitRatio

Liquidity ratios

First, we define the Senior and Junior TVL ratios as

Senior and Junior yields

The Senior return can be calculated as

where the Base APY is the underlying Tranches yield and the Yield share of the Senior side is a piecewise function conditional to the liquidity on the Senior tranche.

The Junior return can be calculated as

Normal case

Alternatively, we use some fixed percentages. There are two hedge cases:

  1. The majority of total Tranche's liquidity lying on the Senior side (more than 99%)

  2. Less than half of total Tranche's liquidity lying on the Senior side (less than 50%)

In the first case, we set the Yield share of Senior Tranches equal to 99% while in the second case, we set it equal to 50%. These two hedge cases link to the principle that

  • Senior Tranche receives most of the underlying yield when liquidity is low on the Junior side (i.e. low coverage on Senior funds), or receives a guaranteed minimum portion of the underlying yield when Junior liquidity is high (i.e. high coverage on Senior funds);

  • Junior Tranche receives outperforming APYs on the Junior Tranches, no matter what the amount of deposited liquidity on the Senior is.

The guaranteed minimum portion, aka the Yield share of the Senior Tranches, has been set to half the Base APY (see HC#2) when the Senior liquidity is smaller than the Junior one.

Senior coverage and Junior overperformance

The formulas of the Senior coverage provided by the Junior counterparty and the Junior boosted yield vs the underlying return are

The Senior coverage should not be confused with the overall Tranche coverage that is computed in proportion to the whole tranche TVL

Examples

We compute the returns of the Senior and the Junior sides using the formulas listed previously, assuming

  • An average underlying yield, Base APY, of 10%

  • The total liquidity of the Tranche, Tranche TVL, equal to $10,000,000

Standard case: between 50 and 99% of the total Tranche's liquidity lying on the Senior side

Side
Liquidity
Expected APY

Senior

$8m

8%

Junior

$2m

18%

The Senior Yield share is equal to 80%.

Senior funds coverage is 25% and the Junior overperformance vs base APY is 1.8x. The Tranche coverage is 20%.

Side
Liquidity
Expected APY

Senior

$9.9m

10%

Junior

$100

20%

The Senior Yield share is set to 99% (HC#1).

Senior funds coverage is 0% and the Junior overperformance vs base APY is 1.99x. The Tranche coverage is 0% as well.

Side
Liquidity
Expected APY

Senior

$4m

5%

Junior

$6m

13%

The Senior Yield share is set to 50% (HC#2).

Senior funds coverage is 150% and the Junior overperformance vs base APY is 1.33x. The Tranche coverage is 60%.

TVL ratioSr=LiquiditySeniorLiquiditySenior+Junior\text{TVL ratio}_{Sr} = \frac{\text{Liquidity}_{Senior}}{\text{Liquidity}_{Senior + Junior}}TVL ratioSr​=LiquiditySenior+Junior​LiquiditySenior​​
TVL ratioJr=LiquidityJuniorLiquiditySenior+Junior\text{TVL ratio}_{Jr} = \frac{\text{Liquidity}_{Junior}}{\text{Liquidity}_{Senior + Junior}}TVL ratioJr​=LiquiditySenior+Junior​LiquidityJunior​​
APYSr=Base APY×Yield shareSr(1)\text{APY}_{Sr} = \text{Base APY} \times \text{Yield share}_{Sr} \qquad \tag{1}APYSr​=Base APY×Yield shareSr​(1)
Yield shareSr={99%if TVL ratioSr≥99%LiquiditySeniorLiquiditySenior+Juniorif TVL ratioSr>50%50%if TVL ratioSr≤50%\text{Yield share}_{Sr} = \begin{dcases} 99\% & \text{if } \text{TVL ratio}_{Sr} \geq 99\% \\ \\ \dfrac{\text{Liquidity}_{Senior}}{\text{Liquidity}_{Senior + Junior}} & \text{if } \text{TVL ratio}_{Sr} > 50\% \\ \\ 50\% & \text{if } \text{TVL ratio}_{Sr} \leq 50\% \\ \end{dcases}Yield shareSr​=⎩⎨⎧​99%LiquiditySenior+Junior​LiquiditySenior​​50%​if TVL ratioSr​≥99%if TVL ratioSr​>50%if TVL ratioSr​≤50%​
APYJr=(Base APY−APYSr)×TVL ratioSrTVL ratioJr+Base APY(2)\text{APY}_{Jr} = \frac{(\text{Base APY} - \text{APY}_{Sr}) \times \text{TVL ratio}_{Sr}}{\text{TVL ratio}_{Jr}} + \text{Base APY} \qquad \tag{2}APYJr​=TVL ratioJr​(Base APY−APYSr​)×TVL ratioSr​​+Base APY(2)

When Senior liquidity represents 50-99% of the funds in the Tranche, we use to compute the Yield share of the Senior side.

Yield shareSr={99%if LiquiditySeniorLiquiditySenior+Junior≥99%50%if LiquiditySeniorLiquiditySenior+Junior≤50%\text{Yield share}_{Sr} = \begin{dcases} 99\% & \text{if } \dfrac{\text{Liquidity}_{Senior}}{\text{Liquidity}_{Senior + Junior}} \geq 99\% \\ \\ 50\% & \text{if } \dfrac{\text{Liquidity}_{Senior}}{\text{Liquidity}_{Senior + Junior}} \leq 50\% \\ \end{dcases}Yield shareSr​=⎩⎨⎧​99%50%​if LiquiditySenior+Junior​LiquiditySenior​​≥99%if LiquiditySenior+Junior​LiquiditySenior​​≤50%​
CoverageSr=LiquidityJuniorLiquiditySenior\text{Coverage}_{Sr} = \frac{\text{Liquidity}_{Junior}}{\text{Liquidity}_{Senior}}CoverageSr​=LiquiditySenior​LiquidityJunior​​
OverperformanceJr=APYJrBase APY\text{Overperformance}_{Jr} = \frac{\text{APY}_{Jr}}{\text{Base APY}}OverperformanceJr​=Base APYAPYJr​​
Tranche coverage=LiquidityJuniorLiquidityTranche\text{Tranche coverage} = \frac{\text{Liquidity}_{Junior}}{\text{Liquidity}_{Tranche}}Tranche coverage=LiquidityTranche​LiquidityJunior​​

Hedge case 1: the majority of total Tranche's liquidity lying on the Senior side (≥\geq≥99%)

Hedge case 2: less than half of the total Tranche's liquidity lying on the Senior side (≤\leq≤50%)

🌀
Equation (1)
Senior and Junior liquidity ratios
Senior and Junior returns