> For the complete documentation index, see [llms.txt](https://city-protocol.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://city-protocol.gitbook.io/docs/vault-as-a-service/redemption-architecture.md).

# Redemption architecture

Different yield products have different liquidity profiles.

VaaS supports both liquid redemption and epoch-based redemption.

***

### Liquid redemption

Liquid redemption is suitable when the vault can meet withdrawals quickly from idle liquidity or highly liquid positions.

The vault checks share balance, current share price, available liquidity, fees, and product state. If conditions are satisfied, the user burns shares or submits a redemption action and receives the settlement asset.

***

### Epoch-based redemption

Epoch-based redemption is suitable for less liquid strategies, private credit, structured yield, or products where positions must be unwound on a schedule.

```
    A["Request Accumulation"] --> B["Epoch Closure + Price Lock"]
    B --> C["Liquidity Calculation"]
    C --> D["Liquidity Verification"]
    D --> E["Claim Execution"]
```

&#x20;The epoch-based mechanism has five stages.

{% stepper %}
{% step %}

### Request accumulation

LPs submit withdrawal requests during an open epoch or cooldown window.

The vault records each request and prevents the requested shares from being reused as if they were still freely deployable capital.
{% endstep %}

{% step %}

### Epoch closure and price lock

At the end of the cooldown window, the epoch closes to new entries.

The redemption price is locked using the authoritative NAV at the exact closure time. This protects both exiting and remaining LPs from later price manipulation or retroactive valuation changes.
{% endstep %}

{% step %}

### Liquidity calculation

The vault calculates the total settlement asset required to satisfy the closed epoch.

If the vault must unwind positions, the Strategy Manager or allocation process returns the required capital to the base vault according to the redemption schedule.
{% endstep %}

{% step %}

### &#x20;Liquidity verification

The epoch is marked fulfilled only after the vault verifies that sufficient idle settlement assets are present.

If insufficient liquidity is available, the claim remains pending until settlement assets arrive. This prevents claims from being processed against unavailable funds.
{% endstep %}

{% step %}

### Claim execution

Once liquidity is verified, LPs can claim their settlement assets.

The claim process should emit events that integrators can index and display in the user interface.
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://city-protocol.gitbook.io/docs/vault-as-a-service/redemption-architecture.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.
