# Overview Contract

The core contracts allow anyone to:

* Dispatch and collect the vault's token pair holdings to/from Uniswap V3 Liquidity Positions via settable manager accounts.
* Configure and control important vault setup parameters (manager, Uniswap V3 pools, range which consists of lower tick, upper tick) via the vault owner role.

## TCV Vault

The ERC20 TCV vault smart contract is the heart of this LP management system. A vault collects assets in a given token pair, then delegates a manager account to deploy vault capital in and out of an arbitrary collection of Uniswap V3 LP Positions for that pair.&#x20;

## TCVFactory

Factory contract for deploying TCV vault instances. Deploy vaults for any token pair and configure the owner, manager, and other initial parameters when calling deployVault.

## TCVRouter

The TCVRouter smart contract is responsible for handling user interactions, namely:

* **adding liquidity** to a TCV vault.
* **removing liquidity** from an TCV vault.


---

# 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.tcvault.xyz/overview-contract.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.
