# Architecture Overview

Lagoon is a full stack vault management infrastructure designed to run investment products with asynchronous subscriptions and redemptions, **powered by ERC 7540**. They are designed to support NAV-based settlement, role-based permissions, and configurable fee logic. This request-then-settle workflow mirrors subscription and redemption cycles used in traditional asset management. When required, Lagoon can also operate in a synchronous mode.

{% hint style="success" %}
Lagoon vaults are built in Solidity, deployed on EVM-compatible chains, and have been audited by three independent auditor firms. You can find the audits [<mark style="color:$primary;">**here**</mark>](/resources/audits.md).
{% endhint %}

## Key Concepts

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:$primary;"><strong>Asynchronous Request</strong></mark></td><td>Deposits and redemptions are requested first, then settled later at a defined valuation point. Vaults can also be configured as async-only, permanently disabling synchronous operations.</td><td><a href="/pages/XpIbe420sTzqPeA4TNG3">/pages/XpIbe420sTzqPeA4TNG3</a></td></tr><tr><td><mark style="color:$primary;"><strong>Valuation</strong></mark></td><td>NAV inputs are used to price shares at the moment of settlement, not at the moment of request.</td><td></td></tr><tr><td><mark style="color:$primary;"><strong>Settlement</strong></mark></td><td>The curator processes pending requests at a chosen valuation point, ensuring consistent pricing within a cycle.</td><td></td></tr><tr><td><mark style="color:$primary;"><strong>Roles</strong></mark></td><td>Responsibilities are separated between the curator, valuation provider, vault admin, security council, and access manager.</td><td></td></tr><tr><td><mark style="color:$primary;"><strong>Guardrails</strong></mark></td><td>On-chain price-per-share bounds that constrain how much the valuation can change between updates, managed by the Security Council.</td><td><a href="/pages/fIpdjuoTLkVQ2ASatZGO">/pages/fIpdjuoTLkVQ2ASatZGO</a></td></tr><tr><td><mark style="color:$primary;"><strong>Access Control</strong></mark></td><td>Vaults support whitelist mode, blacklist mode, and external sanctions list integration for flexible, on-chain participation controls.</td><td><a href="/pages/knObGRbccamwdTli0Zl2">/pages/knObGRbccamwdTli0Zl2</a></td></tr></tbody></table>

## How It Works <a href="#how" id="how"></a>

Users submit deposit or redemption requests. The curator settles the requests at a defined valuation point. Users claim the resulting assets or shares. This batching ensures consistent pricing within a settlement cycle and reduces operational complexity.

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

User submits a deposit or redemption request. The request is queued and does not execute immediately.
{% endstep %}

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

The valuation provider submits a new NAV to the vault. The curator reviews and approves it before it can be applied to any pending requests, ensuring no settlement occurs on an unverified valuation.
{% endstep %}

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

The curator processes all pending requests at a defined NAV valuation point, ensuring consistent pricing within the settlement cycle.
{% endstep %}

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

User claims their resulting shares (on deposit) or assets (on redemption) after settlement is complete.
{% endstep %}
{% endstepper %}


---

# 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/architecture-overview.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.
