> For the complete documentation index, see [llms.txt](https://docs.gnoswap.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gnoswap.io/contracts/pool/manager.gno.md).

# manager.gno

{% embed url="<https://github.com/gnoswap-labs/gnoswap/blob/main/contract/r/gnoswap/pool/v1/manager.gno>" %}

Creates and examines pools.

## CreatePool

```go
func CreatePool(
	cur realm,
	token0Path string,
	token1Path string,
	fee uint32,
	sqrtPriceX96 string
)
```

Creates a liquidity pool.

#### Parameters

| Name           | Type   | Description                                                                   |
| -------------- | ------ | ----------------------------------------------------------------------------- |
| `cur`          | realm  | Pass `cross` as argument.                                                     |
| `token0Path`   | string | The path of the token0 of the pool to create.                                 |
| `token1Path`   | string | The path of the token1 of the pool to create.                                 |
| `fee`          | uint32 | The fee tier of the pool. (100 = 0.01%, 500 = 0.05%, 3000 = 0.3%, 10000 = 1%) |
| `sqrtPriceX96` | string | The starting price of the pool.                                               |

## SetFeeProtocol

```go
func SetFeeProtocol(
	cur realm,
	feeProtocol0 uint8,
	feeProtocol1 uint8
)

```

SetFeeProtocol sets the Protocol Fee that is applied to all swaps.

#### Parameters

| Name           | Type  | Description                                      |
| -------------- | ----- | ------------------------------------------------ |
| `cur`          | realm | Pass `cross` as argument.                        |
| `feeProtocol0` | uint8 | The Protocol Fee for token0 of the desired pool. |
| `feeProtocol1` | uint8 | The Protocol Fee for token1 of the desired pool. |
