# Infrastructure

The protocol deployment organizes each *logical* asset (i.e. asset that has same symbol and market price) into a pool *enclave*. Each enclave is a `FlexPool` contract configured with the asset contract on the current chain and deployed on every supported chain.

The `FlexPool` contract contains whitelist of allowed [*takers*](/flex-liquidity-pools/takers.md) - contracts that can use the deposited liquidity of the pool. The whitelist is managed by *controller*, which is a DAO-controlled contract.

The list of supported pool enclaves and corresponding contract addresses can be found in "[Deployments](/flex-liquidity-pools/deployments.md)" page.

Some of the deployment components rely on Flex Proof verifiers. The information on how to obtain the verifier proofs can be found in "[Proofing](/flex-liquidity-pools/proofing.md)" page.


---

# 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.swaps.io/flex-liquidity-pools/infrastructure.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.
