# Permissioned Pools

The default pool type in Ambient is a *permissionless pool*. Permissionless pools allow any user to mint, burn or swap without any restrictions. Permissionless pool types also allow any user to initialize a pool for any arbitrary pair of tokens. Pool types in Ambient are 256-bit values, allowing for an essentially unlimited number of pool types.&#x20;

*Permissioned pools* operate with the same underlying AMM mechanics, but every mint, burn, swap and initialize action is gated by an external *permission oracle*. A permission oracle can be any arbitrary smart contract that implements the interface. The address of a pool's permission oracle is determistically fixed based on the value of the pool index number. Therefore the permission oracle is fixed ahead of time.

Permission oracles may or may not also be set as policy oracles allowing them to dynamically and internally change the parameters (e.g. swap fee, concentrated liquidity tick spacing, etc.) in their own pool.

Currently permissioned pool types can only be created through protocol governance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ambient.finance/concepts/permissioned-pools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
