Liquidity Pool Examples

In this section we will use a spreadsheet simulation of Notional's liquidity pool to show examples of how different user interactions affect Notional's liquidity pools and the liquidity providers in those pools.

Specifically you will see examples of:

  1. Providing liquidity

  2. Lending

  3. Borrowing

Summary of Notional AMM

This section will refer to some concepts utilized by Notional's AMM to determine interest rates and exchange rates based on the balances in the liquidity pools. For a full explanation of Notional's AMM, look here.

The Notional AMM takes an amount of fCash as an input and outputs the amount of cash that a user would get for buying or selling the fCash input. Here are three variables the AMM relies on to make this calculation:

  • rateScalar: the rateScalar determines the steepness of the Notional AMM curve. A higher rateScalar means less slippage, and a lower rateScalar means more slippage.

  • rateAnchor: the rateAnchor determines the current rate level of the Notional AMM curve. The rateAnchor is updated after every trade and it is how the Notional AMM keeps track of the current interest rate.

  • proportion (p): the proportion is the balance of cash vs. fCash in the liquidity pool. p = fCashBalance / (fCashBalance + cashBalance). A proportion close to 1 means that the pool is almost all fCash and that the interest rate is high. A proportion close to 0 means that the pool is almost all cash and that the interest rate is low.

Here is the formula the AMM uses to determine the exchange rate between cash and fCash:

exchangeRate = (1/rateScalar) * ln(p/(1-p)) + rateAnchor