# 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.
