# AwaitingApproval

The **AwaitingApproval** phase begins automatically when the vault reaches full funding. The Pool Manager must now review and approve the loan for disbursement.

## What Happens

* The vault holds the full principal amount deposited by investors
* The Pool Manager reviews the vault and confirms readiness
* The manager calls `approve_and_disburse` to release funds to the borrower

## Approval & Disbursement

When the manager calls `approve_and_disburse(caller)`:

1. The full funded amount is transferred to the **borrower's address**
2. The **EMI** (Equated Monthly Instalment) is calculated based on the principal, interest rate, and loan term
3. The first **payment due date** is set to 30 days from disbursement
4. The **outstanding principal** is initialised to the full principal amount
5. The **missed payments counter** is set to 0
6. The vault transitions to **Active**

{% hint style="info" %}
Only the vault's Pool Manager can call `approve_and_disburse`. This is verified on-chain through the manager address stored in the vault configuration.
{% endhint %}

## Approval Deadline

If the vault was created with an `approval_deadline`, the vault can be cancelled if the manager fails to approve by the deadline.

* Anyone can call `check_approval_expiry()` after the deadline passes
* All investor deposits are refunded
* The manager's locked collateral is released
* The vault transitions directly to **Finalized**

This protects investors from having their capital locked indefinitely in a funded but unapproved vault.

## Relevant Functions

| Function                       | Caller  | Description                              |
| ------------------------------ | ------- | ---------------------------------------- |
| `approve_and_disburse(caller)` | Manager | Approve loan and disburse to borrower    |
| `check_approval_expiry()`      | Anyone  | Cancel vault if approval deadline passed |


---

# 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.trilobyte.finance/protocol-mechanics/vault-lifecycle/awaiting-approval.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.
