Post

Revenue

Protocol owned liquidity (POL) refers to the liquidity that is directly controlled and managed by the Noma protocol itself. Unlike traditional decentralized finance (DeFi) systems that rely solely on user-provided liquidity, POL ensures that the protocol has a substantial and stable liquidity reserve, enhancing its resilience and operational integrity.

Revenue Stream

The Noma protocol generates revenue through multiple channels, each contributing to the protocol’s financial health and long-term sustainability:

Liquidity Provisioning

  • Mechanism:
    The protocol earns fees by providing liquidity on Uniswap V3.
  • Impact:
    Ensures a steady flow of income from trading fees, enhancing the protocol’s liquidity reserves.

Credit Facility

  • Mechanism:
    Users can take out loans by collateralizing their $NOMA tokens at the floor price. A non-recurring service fee is charged upfront.
  • Impact:
    Generates revenue from loan fees while maintaining 100% capital efficiency. Loans are secured by the protocol’s ETH reserves, with no risk of liquidation but with collateral burning if not repaid.

Liquidity Rebalancing Fees

  • Impact:
    The protocol reallocates reserves from the discovery position to the floor and anchor positions whenever the sweep() function is executed.
  • Mechanism:
    These reallocated reserves contribute towards increasing the Baseline Liquidity Value (BLV) of the protocol.

Premium Calculation Formula

Given the parameters:

  • tickLower: The lower bound of the tick range.
  • tickUpper: The upper bound of the tick range.
  • liquidity: The amount of liquidity.
  • expiration: The expiration time in seconds.
  • currentPrice: The current price (retrieved from the getCurrentPrice() function).
  • block.timestamp: The current block timestamp.

The premium is calculated as follows:

  1. Calculate the tick range: \

    \[\begin{equation} \text{tickRange} = \text{tickUpper} - \text{tickLower} \end{equation}\]
  2. Calculate the time to expiry:

    \[\begin{equation}\text{timeToExpiry} = \text{expiration} - \text{block.timestamp}\end{equation}\]
  3. Calculate the initial premium:

    \[\begin{equation} \text{initialPremium} = \left( \frac{\text{liquidity} \times \text{tickRange} \times \text{timeToExpiry} \times \text{currentPrice}}{1e18 \times 86400} \right) \end{equation}\]
  4. Add a minimum premium to prevent extremely low values:

    \[\begin{equation} \text{premium} = \text{initialPremium} + 0.001\end{equation}\]

Where:

  • 1e18 is a scaling factor to adjust for token decimal precision.
  • 86400 is the number of seconds in a day.
  • 0.001 tokens is the minimum premium added.
This post is licensed under CC BY 4.0 by the author.

Trending Tags