> For the complete documentation index, see [llms.txt](https://pepa-labs.gitbook.io/pepa-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://pepa-labs.gitbook.io/pepa-docs/product-design/pmm-guided-exchange/math-behind-pmm.md).

# Math Behind PMM

### Token Type

`base` and `quote` are two concepts that will be mentioned frequently. Two easy ways to distinguish between them are:

* In a trading pair, the `base` is always the token before the hyphen, and `quote` is after it
* In transactions, the price refers to how many `quote` tokens are needed in exchange for one `base` token

For example, in the ETH-USDC trading pair, ETH is the `base` token and USDC is the `quote` token.

### Pool Parameters

The funding pool of PMM is described by four parameters:

* $$B\_0$$: base token regression target - total number of base tokens deposited by liquidity providers
* $$Q\_0$$: quote token regression target - total number of quote tokens deposited by liquidity providers
* $$B$$: base token balance - number of base tokens currently in the pool
* $$Q$$: quote token balance - number of quote tokens currently in the pool

### PMM Formula

The PMM price curve is plotted by the following pricing formula:

$$P\_{margin}=iR$$

*Where* $$R$$ *is defined to be the piecewise function below:*

$$SellBaseToken：if \ B\<B\_0, \ R=1-k+(\frac{B\_0}{B})^2k$$

$$Sell Quote Token：if \ Q\<Q\_0, \ R=1/(1-k+(\frac{Q\_0}{Q})^2k)$$

$$else \ R=1$$

### **AMM & Stable Swap Use Cases**

PMM supports transition to AMM and stable coin trading as well.

#### **Traditional AMM**

PMM is a generalization of AMM, when:

* k = 1
* deposit and withdraw in proportion to the current pool ratio

#### **Stable swap**

PMM can also be used as stable swap, when:

* i = 1
* k = 0.0001
