> For the complete documentation index, see [llms.txt](https://docs.basin.exchange/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.basin.exchange/components/aquifer.md).

# Aquifer

{% hint style="info" %}
See [IAquifer.sol](https://github.com/BeanstalkFarms/Basin/blob/master/src/interfaces/IAquifer.sol)
{% endhint %}

Aquifer is an instance of a Well factory (i.e., a permissionless Well deployer and registry). Aquifer deploys Wells by cloning a pre-deployed Well and stores a mapping of the new Well address to the Well Implementation address.

Aquifer creates the first layer of trust for Basin users by providing a way to verify a Well's Implementation given its address. However, users must still verify the authenticity of the Well's Well Function, Pumps and Well Implementation.

***

{% hint style="info" %}
[Aqueduct](https://basin.exchange/basin.pdf#subsection.3.6) is a whitelist of Well Functions, Pumps, Well Implementations and Aquifers. Aqueducts create a single point of trust for users of Basin components. As long as all the components of a Well are included in a trusted Aqueduct, the Well can be trusted. In practice, protocols can deploy an Aqueduct that specifies all the Basin components liquidity providers can (or must) use in order to receive some form of credit from them.\
\
A template Aqueduct has not yet been implemented.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.basin.exchange/components/aquifer.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.
