Stella
  • Overview
    • 🌠Getting Started
    • 🤝Pay-As-You-Earn (PAYE) Model
  • Protocol Mechanism
    • ❓How Stella Works?
    • 🚀Stella Strategy
      • Why Stella Strategy is Unique?
      • Strategy Type
      • Asset Type
      • Strategy Exposure
      • Collateral Factor
      • Borrow Factor
      • Credits
      • Price Range & Liquidity Shape
      • Liquidation
        • Liquidation Discount
        • Post-Liquidation Value
        • Pendle/Penpie Liquidation Price
      • Price Impact
      • Leverage
      • Supported Strategies
    • 🏦Stella Lend
      • Why Stella Lend is Unique?
      • Pool Type
      • Supported Assets
      • Yield Vault
      • Withdrawal Delay
    • 💰Yield Calculation
      • PAYE Graph
      • Yield Sharing
    • ⚠️Risk Framework
      • Precautionary Measures
      • Slow Mode
  • App Guide
    • Walkthrough Stella APP
    • Open a position
    • Close a Position
    • View Your Position
    • Add/Remove Extra Collateral
    • Claim Assets from Liquidated Position
    • Deposit & Withdraw Assets
  • Developers
    • 📃Contract Addresses
      • Core
      • Stella Strategy
      • Stella Lend
      • Oracle
    • 📜Contract ABI
    • ⚙️API
  • Tokenomics
    • 🎯ALPHA Token
    • ⚡Staking & Protocol Fees
    • 👥Token Distribution
  • Additional Information
    • 🟠About Stella
    • 🔎Audit Reports
    • 📣Community Links
    • 📸Media Kit
    • ❔FAQ
    • 📖Terms of Use
Powered by GitBook
On this page
  1. Protocol Mechanism
  2. Yield Calculation

Yield Sharing

PreviousPAYE GraphNextRisk Framework

Last updated 1 year ago

A leveraged position on Stella Strategy consists of two parts: the supplied tokens and borrowed tokens. The yield sharing should apply to only the yield generated from the borrowed tokens, excluding initial capital supplied by the leveragoor.

YieldToShare=Yield⋅BorrowValueInputValue+BorrowValue\text{Yield}_{\text{ToShare}} = \text{Yield} \cdot \frac{\text{BorrowValue}}{\text{InputValue} + \text{BorrowValue}}YieldToShare​=Yield⋅InputValue+BorrowValueBorrowValue​
YieldBase=Yield⋅InputValueInputValue+BorrowValue\text{Yield}_{\text{Base}} = \text{Yield} \cdot \frac{\text{InputValue}}{\text{InputValue}+\text{BorrowValue}}YieldBase​=Yield⋅InputValue+BorrowValueInputValue​

To calculate the yield sharing, the annualized yield will be used.

\text{Yield}_{\text{Leveragoor}} = \text{Yield}_{\text{Base}}+\text{Yield}_{\text{ToShare}} \cdot (1-\text{%Share})
\text{Yield}_{\text{Lender}} = \text{Yield}_{\text{ToShare}} \cdot \text{%Share}

And after determining the yield to be shared with lenders and leveragoor in USD value, Stella proceeds to calculate the token amounts for proportional distribution among the different portions of the borrowed assets.

The lenders will receive the yield in the form of in-kind tokens. To determine the distribution, Stella calculates the number of tokens that the leveragoor needs to allocate for each portion of the borrowed assets. In some cases, swapping may be necessary if the generated yield is insufficient in that particular asset.

Lastly, after repaying the debt and sharing the yield all the assets left in the position will be transferred to the leveragoor including the supply and yield.

Example

  • Alice input 1000 USDC and open a position with leverage 4x on Uniswap V3 ETH/USDC 0.3% strategy by borrowing 2 ETH and 1000 USDC where ETH@1000

  • As time passed for exactly 30 days, Alice's position accrue the trading fee and her current position value is now $4,200

  • Alice closes the position getting a yield of $200 over 30 days

  • So, Alice's position has the following information

    • Yield = $200

    • Annualized Yield = 60.83%

    • Yield Cut = 31.36%

After closing a position, the system will split the generated yield between a leveragoor and lenders as followed:

  1. The total yield of $150 will be splitted into 2 parts:

    • $50 Base Yield that the position will get at 1x (without any leverages)

    • $150 Leveraged Yield from levering up

    • $102.96 to Leveragoor

    • $47.04 to Lenders

  2. So the total yield that each party will get will be as follows

    • $50 + $102.96 = $152.96 to Leveragoor

    • $47.04 to Lenders before deducting the protocol fee

Assume that the current composition of Alice's position is 2.05 ETH + 2,150 USDC where ETH price is still the same @1000, after repaying debt Alice's position is left with 0.05 ETH + 1,150 USDC.

We can calculate the token amounts need to share to the lenders as follows

  1. Calculate the borrowing proportion

    • Alice borrows 2 ETH and 1,000 USDC so the proportion will be 2:1, ETH:USDC where ETH@1000

    • Total borrow value = $1,000 + $2,000 = $3,000

  2. Calculate the token amount needed for each portion

    • USDC = 47.04/1 * 1/3 = 15.68 USDC

    • ETH = 47.04/1,000 * 2/3 = 0.03136 ETH

  3. Share the yield with lenders then the position is left with the following amount of tokens and will be returned to the leveragoor

    1. USDC = 1,150 - 15.68 = 1134.32 USDC

    2. ETH = 0.05 - 0.03136 = 0.01864 ETH

In conclusion, the leverager supplied 1,000 USDC, borrowed 1,000 USDC + 2 ETH to open the leveraged position, and obtained a yield of $152.96, which is equivalent to 134.32 USDC ($134.32) and 0.01864 ETH ($18.64).

Yieldtokeni=BorrowValuetokeniTotalBorrowValue⋅YieldLenderPricetokeni\text{Yield}_{\text{token}_\text{i}}=\frac{\text{BorrowValue}_{\text{token}_\text{i}}}{\text{TotalBorrowValue}}\cdot\frac{\text{Yield}_{\text{Lender}}}{\text{Price}_{\text{token}_\text{i}}}Yieldtokeni​​=TotalBorrowValueBorrowValuetokeni​​​⋅Pricetokeni​​YieldLender​​

The leveraged yield $150 will be applied with the of 31.36% to lenders resulting in

Stella deducts 25% of the amount splitted to lenders as a . The net portion dedicated to lenders will be splitted again based on the borrowed value of each token proportionally.

💰
Yield Cut
Protocol Fee
Figure 1 : Yield Calculation
Figure 2 : Yield Sharing composition
Figure 3 : Lender's yield composition
Figure 4 : Yield Composition Summary