# Add Liquidity

## 1. Add Liquidity&#x20;

### 1.1 Function params

* **account**: the signer of the user.
* **position\_nft**: the positon nft object.
* **delta\_liquidity**: the amount of liquidity will be remove.
* **amount\_a**: the amount of coin a will be add.
* **amount\_b:** the amount of coin  b will be add.

### 1.2. Function

```rust
// tucana_clmm::router
public entry fun add_liquidity(
    account: &signer,
    position_nft: Object<PositionNft>,
    delta_liquidity: u128,
    amount_a: u64,
    amount_b: u64
)
```

## 2. Add Liquidity Fix Coin

### 2.1 Function params

* **account**: the signer of the user.
* **position\_nft**: the positon nft object.
* **amount\_a**: the amount of coin a will be add.
* **amount\_b:** the amount of coin  b will be add.
* **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

<pre class="language-rust"><code class="lang-rust">// tucana_clmm::router
<strong>public entry fun add_liquidity_fix_coin(
</strong>    account: &#x26;signer,
    position_nft: Object&#x3C;PositionNft>,
    amount_a: u64,
    amount_b: u64,
    fix_amount_a: bool,
)
</code></pre>

