> For the complete documentation index, see [llms.txt](https://docs.quipuswap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.quipuswap.com/smart-contracts/quipuswap-stable-swap-dex/standalone-dex/add-new-dex/add_pool.md).

# add\_pool

This entrypoint allows `admin` creating a new DEX pool.

{% hint style="info" %}
Underlying tokens should be approved (updated operators) before calling this method.
{% endhint %}

### Call parameters

<table><thead><tr><th width="158">Field</th><th width="240" align="center">Type</th><th width="448.2">Description</th></tr></thead><tbody><tr><td>a_constant</td><td align="center"><code>nat</code></td><td>"A" constant</td></tr><tr><td>input_tokens</td><td align="center"><code>set(token_t)</code></td><td>set of tokens inside the future pool (from 2 to 4 entries)</td></tr><tr><td>tokens_info</td><td align="center"><code>map(token_pool_idx_t, token_info_t)</code></td><td>map of rates config and amount of initial pool reserves </td></tr></tbody></table>

```pascaligo
type init_param_t       is [@layout:comb] record [
  a_constant              : nat;
  input_tokens            : set(token_t);
  tokens_info             : map(token_pool_idx_t, token_info_t);
]
```

{% hint style="warning" %}
This contract method is called only by `admin` of that contract.
{% endhint %}
