# Vault

The vault is used for sending tokens for a swap, depositing tokens for providing liquidity, and transferring tokens to users during liquidity withdrawals.\
There is one vault for each Jetton mint.

***

## Interface

### `get_vault_data`

Returns vault data.

**Arguments**

*None*

**Returns**

| Data Type | Description                   |
| --------- | ----------------------------- |
| `int`     | Is initialized                |
| `slice`   | Jetton mint address           |
| `slice`   | Admin address                 |
| `slice`   | Vault's Jetton wallet address |

***

## Messages

### Jetton Transfer Notification

```plaintext
Opcode: 0x7362d09c
```

**Body Format**

| Data Type | Description     |
| --------- | --------------- |
| `Uint32`  | Opcode          |
| `Uint64`  | Query ID        |
| `Coins`   | Transfer amount |
| `Address` | User address    |
| `Cell`    | Forward payload |

***

### Pay To

```plaintext
Opcode: 0x9bbf5a17
```

**Body Format**

| Data Type     | Description                       |
| ------------- | --------------------------------- |
| `Uint32`      | Opcode                            |
| `Uint64`      | Query ID                          |
| `Address`     | Recipient address                 |
| `Uint32`      | Exit code                         |
| `Coins`       | Amount                            |
| `Address`     | Other vault address               |
| `Uint1`       | Is from pool                      |
| `Uint32`      | Tick size                         |
| `Uint8`       | LP fee                            |
| `Uint8`       | Protocol fee                      |
| `Uint8`       | Referral fee                      |
| `Maybe Int32` | Pool min tick (if sent from pool) |
| `Maybe Coins` | Forward amount                    |
| `Maybe ^Cell` | Forward payload                   |


---

# 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.titan.tg/colossus-concentrated-liquidity-amm/smart-contracts/vault.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.
