> For the complete documentation index, see [llms.txt](https://docs.trilobyte.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trilobyte.finance/protocol-mechanics/vault-lifecycle/awaiting-approval.md).

# 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 |
