> ## Documentation Index
> Fetch the complete documentation index at: https://tech.ramses.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Increase Liquidity

## Increase Liquidity Within The Current Range

See [Setting Up Your Contract](./setting-up-your-contract) for the base contract. This example assumes the contract already has custody of the NFT.

* You cannot change the tick boundaries of a position -- `increaseLiquidity` only adds liquidity to the existing range.
* In production, `amount0Min` and `amount1Min` should be set for slippage protection.

```solidity theme={null}
    /// @notice Increases liquidity in the current range
    /// @dev Pool must be initialized already to add liquidity
    /// @param tokenId The id of the erc721 token
    /// @param amount0 The amount to add of token0
    /// @param amount1 The amount to add of token1
    function increaseLiquidityCurrentRange(
        uint256 tokenId,
        uint256 amountAdd0,
        uint256 amountAdd1
    )
        external
        returns (
            uint128 liquidity,
            uint256 amount0,
            uint256 amount1
        )
    {
        IRamsesV3PositionManager.IncreaseLiquidityParams memory params =
            IRamsesV3PositionManager.IncreaseLiquidityParams({
                tokenId: tokenId,
                amount0Desired: amountAdd0,
                amount1Desired: amountAdd1,
                amount0Min: 0,
                amount1Min: 0,
                deadline: block.timestamp
            });

        (liquidity, amount0, amount1) = nonfungiblePositionManager.increaseLiquidity(params);
    }
```
