# Deposit and Redemption flows

Asynchronous deposits and withdrawals follow a four step flow. Requests are grouped and settled at a single valuation point, ensuring consistent pricing within each settlement cycle.

{% hint style="info" icon="lightbulb" %}
Why Asynchronous Matters

Asynchronous flows reduce fragmented execution and allow settlement to align with valuation, strategy constraints, and operational processes.
{% endhint %}

{% hint style="info" %}
Vaults can be configured as **async-only**, permanently disabling synchronous deposits and redeems.
{% endhint %}

### Deposit flow:

<figure><img src="/files/5J8MAQTg847VRY76oJal" alt=""><figcaption><p>Deposit workflow</p></figcaption></figure>

{% stepper %}
{% step %} <mark style="color:$primary;">**Request**</mark>

<sup>**User signals intent to deposit**</sup>

Users call `requestDeposit` to signal their intent to enter the vault. Assets are transferred to the pending silo, a utility contract deployed at vault creation to hold assets awaiting settlement.
{% endstep %}

{% step %} <mark style="color:$primary;">**Valuation and Settlement**</mark>

<sup>**Curator batches and processes requests at a valuation point**</sup>

Settling requires a fair valuation of the vault's positions. The valuation provider submits a NAV to the vault. The curator reviews and approves it by calling `settleDeposit`, ensuring no settlement occurs on an unverified valuation.

All queued deposit requests are then processed at this single valuation point. The corresponding shares are minted.

{% hint style="info" %}
This is a two-step procedure: the valuation provider *proposes* the NAV first, then the curator *accepts and settles*. This separation adds an extra layer of verification.
{% endhint %}
{% endstep %}

{% step %} <mark style="color:$primary;">**Claim**</mark>

<sup>**User receives shares after settlement**</sup>

After settlement, users start earning directly. Ownership of the vault is represented by an ERC-20 share token. Shares are held inside the vault and can be claimed at any time on the vault page.

{% hint style="success" %}
The curator can claim shares on behalf of users and transfer them directly to their address. See [How to claim shares on behalf of users.](https://docs.lagoon.finance/~/revisions/phXXVbw4mv6W4TT1F2GY/vault/how-to/claim-shares-on-behalf-of-users)
{% endhint %}
{% endstep %}
{% endstepper %}

### Redemption flow

In the redemption process, unlike the deposit process, users cannot cancel their withdrawal requests. This measure prevents users from making curators unwind positions without a valid reason.<br>

<figure><img src="/files/GvsFthy7DzGwQ0ilhzZO" alt=""><figcaption><p>Redemption workflow</p></figcaption></figure>

{% stepper %}
{% step %} <mark style="color:$primary;">**Request**</mark>

<sup>**User signals intent to withdraw**</sup>

Users call `requestRedeem` to signal their intent to exit the vault. Shares are transferred to the pending silo. Unlike deposits, redemption requests **cannot be cancelled** once submitted.
{% endstep %}

{% step %} <mark style="color:$primary;">**Settlement**</mark>

<sup>**Curator batches and processes requests at a valuation point**</sup>

The valuation provider submits a NAV. The curator reviews, approves, and calls `settleRedeem`. All queued redemption requests are processed at this single valuation point. The corresponding assets are unlocked.
{% endstep %}

{% step %} <mark style="color:$primary;">**Claim**</mark>

<sup>**User receives assets after settlement**</sup>

After settlement, assets are available for the user to claim on the vault page. The curator **cannot** claim on behalf of users for redemptions. Each user must trigger their own claim transaction.

{% hint style="success" %}
The curator can claim assets on behalf of users and transfer them directly to their address.
{% endhint %}
{% endstep %}
{% endstepper %}

### Lagoon Epoch workflow

<figure><img src="/files/4pObuDOTWmDx1rKp7dUI" alt=""><figcaption></figcaption></figure>


---

# 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.lagoon.finance/vault/deposit-and-withdraw-flows.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.
