> For the complete documentation index, see [llms.txt](https://docs.usegimbal.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.usegimbal.app/mechanics/parked-capital.md).

# Capital parked between fills

How a lender's unmatched USDG earns inside a whitelisted Morpho vault via ParkingAdapter, and how the desk draws it out in the very transaction that fills an offer.

A standing offer only works if the money behind it is there when a borrower arrives, and money idle in a wallet earns nothing. Gimbal applies the idea Morpho Optimizer used over Aave and Compound: unmatched capital earns a pool rate until it is matched, then earns the peer-to-peer rate.

## The mechanism

1. The lender sets the `parkIdle` flag on their offers and approves `ParkingAdapter` to spend USDG.
2. The lender calls `deposit(assets)`. The adapter places the USDG in the whitelisted Morpho Blue vault for USDG on Robinhood Chain, an ERC-4626 vault, and credits the shares the vault mints to the lender in its `shares` mapping. The adapter is the vault's depositor of record, and `balanceOf(lender)` reports each lender's parked balance in USDG.
3. The relayer counts the parked balance as capacity behind the lender's standing offers.
4. When an offer is filled, or an acceptance lands in a rollover auction, the desk calls `withdrawFor` for exactly the fill amount. The vault withdrawal, the loan and the disbursement happen in one transaction.
5. On repayment or at liquidation, the desk pays a park-flagged slice through `depositFor`, so proceeds go straight back into the vault.

Lenders withdraw with `withdraw(assets, to)`, or `withdrawAll(to)` to redeem every share and close the position with no dust.

## Which vaults

Only a vault approved through `setVaultWhitelisted` on `PolicyBoard` can receive deposits. At present the list holds one established USDG vault run by a conservative curator. Adding another is a timelocked change, and the rationale is published; see [How parameters change](/transparency/parameter-changes.md). The adapter's vault address is immutable, and the desk's adapter is fixed when it is wired, so nothing can quietly redirect parked capital.

The whitelist is checked on every deposit. Removing a vault closes it to new capital while every withdrawal path stays open, so retiring a vault strands nothing. If a repayment arrives for a park-flagged slice after the vault has been removed, the adapter sends the USDG to the lender's wallet instead and emits `ParkingSkipped`.

## What a parked lender takes on

Parking is opt-in because it adds exposures the core protocol does not have.

* **Vault risk.** The lender carries the risk of the Morpho markets underneath the vault and of the curator's choices.
* **Withdrawal liquidity.** If the vault cannot serve the withdrawal when a match arrives, that fill reverts. The relayer tracks the vault's liquidity and will not propose a slice the vault cannot fund.
* **Surface area.** One more contract sits on the path to origination. It is small, moves assets only towards the vault, back to the lender, or where the desk directs, and every audit covers it.

## The yield share

`PolicyBoard` stores an `idleYieldShareBps` of 500, a 5% share of vault yield, but no contract reads it yet. Until a timelocked change switches it on, parking carries no fee. It appears on [Fees the protocol charges](/mechanics/fees.md) as scheduled.

## Limits on the adapter

* It cannot send capital anywhere except the whitelisted vault, the lender, or the destination the desk names for a fill.
* It cannot rehypothecate vault shares.
* It cannot be pointed at a different vault. A new vault means a new whitelist entry passed through the timelock and logged with `ParamChanged`.


---

# 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.usegimbal.app/mechanics/parked-capital.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.
