# AMM

<figure><img src="https://2753478592-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeTZFplyhxCin9IX3EC9X%2Fuploads%2F6dGf1QE7o5jLzQfGBCsU%2FAMM.png?alt=media&#x26;token=66d09eff-619a-44b8-b775-27c214cc0351" alt=""><figcaption><p>Actions on the AMM</p></figcaption></figure>

The user interacts mainly with two types of contracts on the AMM:

* LiquidityPoolConverter : Manages user-owned liquidity used for swaps,&#x20;
* SwapNetwork : Offers swaps on one or more converters.

In addition there is a helper contract, called RBTCWrapperProxy, which serves two purposes:

* Automatic wrapping and unwrapping of (W)RBTC,
* Automatic deposits to / withdrawals from the liquidity mining contract.

All contracts with exception of the liquidity mining contract can be found here: <https://github.com/DistributedCollective/oracle-based-amm> .

This builder portal focused on the most relevant functionality. A complete documentation of all contracts belonging to the AMM can be found here: <https://github.com/DistributedCollective/oracle-based-amm/tree/development/docs> .
