> For the complete documentation index, see [llms.txt](https://ariable.gitbook.io/untitled/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ariable.gitbook.io/untitled/product/nft-trading/virtual-amm.md).

# Virtual AMM

Our protocol is using Virtual AMM approach, which uses constant **x\*y=k** similar to how other AMM works. The biggest different here, between AMM and vAMM approach is that second one doesn't require actual liquidity pool. Price here is still discovered by the AMM curve, but protocol players store their collateral in smart contract vault.

The main advantage here, compared to AMM-based exchanges is that you can always place order, no matter what the size is. Of course large position will increase price so traders need to always check what the price impact will be.

### Price movement

Price that is calculated from **AMM** approach (called **Mark Price**), doesn't move automatically - the only way it moves is by creating new positions.

In order to make **Mark Price** as close to **Index Price** (which is price that we take from oracle) we need to do Funding Payments, which basically means moving funds from long to short tranders or opposite, depending if **Mark Price** is bigger or smaller than **Index Price**.

More about prices types you can find [Mark & Index prices](/untitled/product/nft-trading/mark-and-index-prices.md). Information about how Funding Payments works you can find in [Funding Payments](/untitled/product/nft-trading/funding-payments.md).
