# Vaults

### Overview

Button Vaults allow collateral token holders to permissionlessly deposit and earn yield denominated in the deposit token. Vaults are deployed on HyperEVM and serve as the primary entry point for Bitcoin and other collateral within the Button protocol. Each Vault tracks collateral deposits, issues vault tokens representing proportional ownership, and allocates liquidity to strategy modules known as Tailors.

Vaults can operate in either public or private permissioned modes depending on end user requirements. A private permissioned vault allows for full segregation of collateral deposits, allowing for the end user to customize their strategies.

### Technical Components

Button Vaults are a fork of [boring-vault](https://docs.veda.tech/architecture-and-flow-of-funds), a widely used codebase that secures billions of dollars in TVL across multiple protocols.

We introduce several key modifications and configurations to tailor it to Button’s architecture:

* **TVL Caps:** Configurable upper limits to manage vault size and risk exposure.
* **Oracle:** Determines vault value based on the performance and NAV of underlying strategies.
* **Async Withdrawals:** Supports delayed withdrawals to ensure orderly unwinds of strategy positions

<figure><img src="https://2188094475-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQMeNGxD949eOXquY7hA%2Fuploads%2FK8vQLQO9xJMslpCDBZ6Z%2Fimage.png?alt=media&#x26;token=bb3b4a81-b798-4897-aba9-8fe6db8248a0" alt=""><figcaption></figcaption></figure>

\
Full technical details for the original Boring Vault implementation can be found [here](https://docs.veda.tech/architecture-and-flow-of-funds).

The source code for Button’s modified version can be found [here](https://github.com/buttonxyz/button-boring-vault), and audits of the modifications can be found [here](https://github.com/buttonxyz/button-boring-vault/reports/audits).


---

# 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://button-labs.gitbook.io/button/gKgg6YSLPuW40VjoL4W1/core/vaults.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.
