# Architecture

Flex Pools is a modular liquidity protocol designed for intent-based cross-chain execution. It allows solvers to borrow assets on one chain and return them on another using standardized *borrow-and-return* operations. These operations are carried out through a variety of secure whitelisted *taker* adapters to third-party providers.

<figure><img src="/files/PxFJ0hgVNneXuKxtLGnh" alt=""><figcaption><p>Example of workflow of asset-locking protocol</p></figcaption></figure>

The system is organized into *enclaves* – sets of EIP-4626 tokenized vaults deployed across multiple chains for a single logical asset. Each vault manages deposits, withdrawals, and share accounting on its respective chain. The vaults within an enclave are connected through a common infrastructure that handles cross-chain messaging and verification, leveraging *event verifiers* backed by *oracles* to ensure execution validity.

The protocol is designed to be composable, enabling integration with various *taker* adapters, *event verifiers*, and *tuners* defining fee models.


---

# 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/architecture.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.
