# Potion Protocol

\
Potion Protocol is a minimal, gas-efficient AMM for facilitating NFT (ERC721s) to token (ETH or ERC20) swaps using fee-incentivized liquidity pools. Rather than waiting for individual market makers to make and take orders, Potion Protocol uses fee-incentivized liquidity pools to ensure on-demand liquidity for NFTs.&#x20;

<figure><img src="https://792105208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiCU9gOsYk1m0FYjtRJDI%2Fuploads%2FBYYOGxn5ryVpTJE7qSPU%2Fimage.png?alt=media&#x26;token=fdcf08ac-329d-47d7-b2c8-1b8daf19e9e6" alt=""><figcaption><p>NFT Holders provide liquidity for traders in exchange for trading fees</p></figcaption></figure>

Liquidity providers (LPs) deposit NFTs and Tokens to liquidity pools with which traders can then swap their NFTs and Tokens. Prices for NFTs are set by the ratio of the assets in the pool according to an xy=k constant product curve, just like Uniswap V2. The more NFTs deposited to a pool, the less the price will change as result of swaps against the pool.

<figure><img src="https://792105208-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiCU9gOsYk1m0FYjtRJDI%2Fuploads%2F2vBZXuTQj9Y2w0CGFGa6%2Fimage.png?alt=media&#x26;token=4624d19a-6bde-4581-b5dc-34405534db8d" alt=""><figcaption></figcaption></figure>

By depositing liquidity to Potion Pools, Liquidity Providers receive LP tokens (ERC20) which can be redeemed for NFTs, Tokens, and accrued fees from the pool. These tokens offer a mechanism to gain fractional exposure to the whole pool without needing to buy and sell whole NFTs. These LP tokens can also be used in ERC20-compatible DeFi protocols, e.g. traded on Sushiswap.

Similar to other floor NFT protocols, the current Potion AMM Protocol makes no distinction between different ERC721 IDs. NFTs that are deposited to pools are considered interchangeable with other NFTs from that pool for the purposes of deposits, withdrawals, and swaps.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.potionprotocol.io/potion-protocol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
