> For the complete documentation index, see [llms.txt](https://docs.artinals.com/artinals-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.artinals.com/artinals-protocol/trade-module/functions-and-entry-points/creating-and-managing-liquidity-pools.md).

# Creating and Managing Liquidity Pools

**`create_pool<CURRENCY>(...)`**\
**Purpose**: Initialize a new trading pool by depositing a batch of NFTs and a corresponding amount of fungible tokens.\
**Process**:

1. Validate that the caller has the appropriate `collection_cap` to manage NFTs from a given collection.
2. Lock the specified NFTs and tokens into a new `TradingPool`.
3. Mint and distribute initial LP tokens to the liquidity provider (pool creator).
4. Emit a `PoolCreated` event.

**Use Cases**:

* Launching a new market for a freshly minted collection.
* Enabling price discovery through AMM-like mechanisms rather than fixed prices.

**Best Practice**:

* Set `fee_percent` thoughtfully to balance incentives between traders and liquidity providers.
