> For the complete documentation index, see [llms.txt](https://docs.ethosis.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ethosis.org/protocol/health-and-liquidation.md).

# Loan health and collateral auctions

When a loan breaks, Ethosis has exactly one way to recover value: a Dutch auction run by a contract, which anyone can start, with parameters tuned to an underlying equity market that is closed for most of the week.

## Measuring health

```
HF = collateralValue × liquidationLtvBps / 10_000 / debt
```

* `collateralValue` is the collateral amount multiplied by the price from `PriceGate`, after the session-aware haircut described further down.
* `liquidationLtvBps` is the tier's liquidation LTV, which is distinct from the maximum LTV at origination.
* `debt` is total principal plus accrued interest over every slice.

There are two lines that matter:

| Line            | HF     | Consequence                                                                                       |
| --------------- | ------ | ------------------------------------------------------------------------------------------------- |
| **Warning**     | < 1.10 | Keepers and the front-end notify the borrower, who is encouraged to add collateral or repay part. |
| **Liquidation** | < 1.00 | Any address can call `startAuction(loanId)`.                                                      |

A loan in the **Defaulted** state (grace window expired, or rollover auction failed) can be auctioned regardless of its HF.

## The auction

`CollateralAuction` sells the escrowed collateral for USDG on these terms:

| Parameter     | Setting                                                                                                                                                           |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Opening price | 1.03 × oracle                                                                                                                                                     |
| Floor         | 0.70 × oracle during a regular session; 0.85 × oracle while the market is closed                                                                                  |
| Length        | roughly 45 minutes, price falling linearly                                                                                                                        |
| Who can buy   | anyone, in part or in whole                                                                                                                                       |
| Price inputs  | Chainlink Data Feeds drive the curve; where a stream adapter is configured for the token, a Data Streams report must be supplied and is cross-checked at purchase |

Bidders can be DEX arbitrageurs, liquidity providers on Morpho and Uniswap, Robinhood's own authorised participants, or the lenders in the loan. Because the auction names a price rather than pushing tokens into a pool, thin DEX depth in a single-name token does not produce a poor fill.

### Why the collateral is not swapped on a DEX

Pooled lending protocols mostly liquidate by routing collateral through an AMM. For long-tail Stock Tokens the pools are shallow, and a forced swap would move the price by far more than the penalty itself. An auction instead invites anyone with a view on fair value to step in, the lender who wanted the stock all along included.

## Penalty and payout order

The liquidation penalty is **3%** of the debt, split as:

* 1 point to the keeper or liquidator who opened the auction,
* 2 points divided between the protocol and the lenders in the loan, following the fee schedule.

Proceeds are paid out in this order: the keeper's share first, then each slice's principal plus accrued interest pro rata, then the penalty share, and finally any surplus to the borrower. If the proceeds do not stretch far enough, the slices absorb the shortfall pro rata (junior slices first, once tranching is live). No other loan is touched.

## Taking collateral in kind

A lender whose offer carried `selfLiquidate` receives collateral at the oracle price rather than USDG, up to the value of their claim and never more than their pro-rata portion of the escrow, so the other slices are not worse off. In-kind settlements attract no interest share. This path suits lenders who want the stock exposure, and it takes their slice out of the auction altogether.

## While the market is closed

Equity markets close overnight and at weekends, and Friday's close can be a long way from Monday's open. Ethosis deals with that directly:

* **Haircuts.** When Chainlink `marketStatus` says closed, or the feed's `updatedAt` is older than the session's staleness bound, both the effective max LTV and the liquidation LTV drop by the tier's closed-market haircut (10 to 15 points). HF is calculated with that haircut in place.
* **Bounded floor.** Auctions can still run while the market is closed, but the floor is held at **0.85 × oracle** so that a weekend auction cannot turn predatory.
* **Lender opt-out.** A lender who set `noClosedMarketLiquidation` has waived liquidation of their slice during closed sessions. If an auction opens in a closed session, those slices and their pro-rata portion of the collateral are carved out into a new active loan under the same borrower, and only the remaining slices go to auction. If every slice opted out, no auction can begin until the market reopens.

## After a sequencer outage

Using the Chainlink L2 Sequencer Uptime Feed, the protocol blocks any new auction for **1 hour** after the sequencer comes back from an outage. Borrowers get that time to add collateral through the normal route or via transactions they queued in the L1 delayed inbox during the outage. See [Sequencer and chain risk](/risk/sequencer-and-chain.md).

## Price checks before anything else

Ahead of every HF calculation and every auction price, `PriceGate` refuses:

* prices that are zero or negative,
* prices whose `updatedAt` is older than the session's staleness bound,
* a single-update move larger than the 25% cap, which pauses the market pending manual review,
* any token whose feed reports `oraclePaused()`, meaning a corporate action is under way.

See [Oracles and market sessions](/risk/oracles.md).

## A liquidation in numbers

A Tier A loan (liquidation LTV 70%) has 250 NVDA in escrow against 20,000 USDG of debt.

* NVDA at 176.40: collateral worth 44,100, HF 1.54.
* NVDA drops to 125.00: collateral worth 31,250, HF 1.09. The warning fires.
* NVDA drops to 114.00: collateral worth 28,500, HF 0.9975. The loan can be auctioned.

A keeper opens the auction at 117.42 (1.03 × oracle) and the price falls linearly. At 113.00 an arbitrageur takes all 250 tokens for 28,250 USDG. Debt plus the 3% penalty is 20,600. The payout: 200 to the keeper, 20,000 plus accrued interest to the three slices pro rata, 400 as penalty share, and about 7,650 USDG back to the borrower.

Run the same debt on a Saturday and the haircut applies, taking the liquidation LTV to 60%. Staying above HF 1.0 now needs 33,333 of collateral value, so the loan becomes auctionable at NVDA 133.33, and the auction floor is held at 113.33.


---

# 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.ethosis.org/protocol/health-and-liquidation.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.
