# 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*](https://docs.swaps.io/flex-liquidity-pools/takers) - 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](https://docs.swaps.io/flex-liquidity-pools/deployments)" 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](https://docs.swaps.io/flex-liquidity-pools/proofing)" page.
