> For the complete documentation index, see [llms.txt](https://tucana-1.gitbook.io/tucana-developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tucana-1.gitbook.io/tucana-developer-docs/spot-dex/spot-contract/feature-available/create-pool.md).

# Create Pool

## 1. Create Pool

### 1.1. Function params

* **account**: the signer of user,
* **metadata\_a**: the metadate of coin pair\_a object
* **metadata\_b**: the metadate of coin pair\_a object
* **tick\_spacing**: the tick spacing of pool, now can set 2, 10, 60, 200.
* **initialize\_price**: The clmmpool's initialize sqrt price.
* **uri**: the pool icon.

### 1.2. Function

```rust
// tucana_clmm::router
public entry fun create_pool(
    account: &signer,
    metadata_a: Object<Metadata>, 
    metadata_b: Object<Metadata>,  // coin pair_a object address
    tick_spacing: u32, // 2, 10, 60, 200
    initialize_price: u128,
    uri: String
)
```

## 2. Create Pool With Liquidity

### 2.1 Function params

* **account**: the signer of user,
* **metadata\_a**: the metadate of coin pair\_a object
* **metadata\_b**: the metadate of coin pair\_a object
* **tick\_spacing**: the tick spacing of pool, now can set 2, 10, 60, 200.
* **initialize\_price**: The clmmpool's initialize sqrt price.
* **uri**: the pool icon.
* **tick\_lower**: the lower tick index for the pool.
* **tick\_upper**: the upper tick index for the pool.
* **amount\_a**: the amount of coin a will be remove.
* **amount\_b:** the amount of coin  b will be remove.
* **fix\_amount\_a**: if true, fix the amount of coin a, then remove liquidity. the amount of coin b will be auto calculate by amount a and position tick range and liquidity.

### 2.2. Function

```rust
// tucana_clmm::router
public entry fun create_pool_with_liquidity_with_all(
    account: &signer,
    metadata_a: Object<Metadata>,
    metadata_b: Object<Metadata>,
    tick_spacing: u32,
    initialize_price: u128,
    uri: String,
    tick_lower: u32,
    tick_upper: u32,
    amount_a: u64,
    amount_b: u64,
    fix_amount_a: bool,
) 

```
