Oracle type
Every market prices collateral through an oracle. The type decides how a depeg affects you:nav
Prices by redemption / net asset value. A DEX depeg won’t liquidate you — the position tracks the collateral’s underlying value.
market
Prices from a market feed. A depeg can liquidate you even if the collateral still redeems 1:1. Weigh against
ltvPct.liquidation headroom.nav oracle, liquidation risk largely collapses to a single question: does the collateral hold its peg? That’s the same risk a passive lender in the same market already carries.
Exit liquidity
exitLiquidity.slippagePct is measured per USD size:
- A number is the slippage to unwind at that size (negative = price improvement).
null= no route at that size.maxLeverageis derived from this — it’s a liquidity bound, not a safety bound.
If exit liquidity dries up
A one-shotclose swaps the full leveraged collateral back to the loan token, so it needs a live route. If that route disappears, the build fails closed with a clear error — you get an error, never a broken transaction.
You are never trapped. Two actions need no swap route at all:
repay— paying in the loan token clears the debt directly (no swap).remove_collateral— withdraws the collateral in-kind (no swap).
get_positions reports exit health per position, so you can act while a route still exists.
Watch it per position, not per market
A market can be “deep” while your position is still larger than the depth that exits cleanly.get_positions returns exitLiquidity for each position — including exceedsCleanExitSize — measured against that position’s full unwind notional (closing swaps all the collateral, not just your equity). Poll it and unwind early rather than discovering the problem when close throws.