> For the complete documentation index, see [llms.txt](https://docs.upshift.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.upshift.finance/vault-architecture/atomic-redemption-vault/how-it-works.md).

# How It Works

## Deposit Flow

1. The depositor sends `$Deposit` to the vault and receives share tokens minted against current NAV using ERC-4626 share math.
2. Newly deposited capital is **auto-deployed**: the vault routes idle balance into the instant-settlement module (which places it into Aave / Morpho) and into the curator's yield strategies, keeping only the working reserve liquid.
3. From this point the holder's balance earns yield continuously, with no trade-off between earning and being able to redeem.

## Atomic Redemption Flow

This is the core flow the vault is built around. Every step below executes inside a single transaction and if any step fails (insufficient liquidity, a stale oracle, a breached limit), the whole transaction reverts and no partial state is committed.

### **1. Request**

the requestor calls redeem for a quantity of shares (or a target amount of `$Deposit`). No queue entry is created; the call settles or reverts in place.

### **2. Price**&#x20;

The vault reads the oracle and computes the `$Deposit` owed against current NAV using ERC-4626 conversion math. Oracle price guards reject the settlement if the price is stale or outside configured bounds.

### **3. Liquidity check & recall**

**T**he vault checks its working reserve against the amount owed. If the reserve is short, it recalls the shortfall on demand: it draws down from the instant-settlement module, which withdraws synchronously from the Aave / Morpho positions, and, where configured, recalls from the curator's yield strategies. Because these venues support same-transaction withdrawal, the recall completes inside the settlement call.

### **4. Risk gates**

Per-transaction rate limits, redemption fee caps, and spread bounds are evaluated. A request that would exceed the configured velocity or move beyond the allowed spread is rejected rather than settled on unfavorable terms.

### **5. Settle**

**T**he shares are burned and `$Deposit` is transferred to the requestor, all atomically. A single transaction takes the holder from shares to settled `$Deposit`.

## Liquidity Management

The vault keeps a working reserve sized to absorb expected redemption velocity. Two automated processes maintain it:

* **Top-up / re-deploy:** when redemptions slow or new deposits arrive, surplus liquidity above the working reserve is redeployed into the settlement module and yield strategies so it does not sit idle.
* **Recall:** when redemptions accelerate and the reserve is drawn down, the vault pulls capital back from the settlement module (and yield strategies) automatically, with no operator action.

Both directions are driven by the vault's own logic against the reserve target. There is no manual top-up and no manual rebalancing.


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.upshift.finance/vault-architecture/atomic-redemption-vault/how-it-works.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
