Skip to main content

Conservative pricing

Varla uses min(spot, TWAP) for all collateral valuation:
price = min(spotPrice, twapPrice)
This prevents manipulation — an attacker can’t pump spot price temporarily to over-borrow.

Staleness

If a price hasn’t been updated within the staleness window (default 15 minutes), it’s considered unavailable.
If any of your collateral has an unavailable price, that position contributes $0 to your borrowing power. Your HF can drop suddenly.

Liquidity requirement

Positions must have $10,000+ orderbook depth to be valid collateral. Below this, the position is marked invalid.

Borrow power vs liquidation behavior

For borrowing/accounting: Unavailable prices → that collateral = $0 (avoids protocol-wide read failures) For liquidation: Stricter rules apply:
  • Liquidation is blocked if any non-zero collateral has an unavailable price
  • After oracle recovery, there’s a grace period (default 5 minutes) before liquidation is allowed
This prevents unfair liquidation during oracle outages.

Manual invalidation

Governance can manually invalidate a position (emergency kill switch). When invalidated:
  • That collateral = $0 for borrowing
  • Liquidators can still obtain a price (prevents bad debt from becoming unresolvable)

Resolved markets

After a market resolves:
  • If final price is 0 or 100%, it’s allowed to be “stale forever” (no continuous updates needed)
  • Fractional outcomes (e.g., 50/50) require explicit finalization by governance
These are protocol defaults (governance-configurable):
  • Max staleness: 15 minutes (range: 1 min – 1 day)
  • Liquidation grace period: 5 minutes (range: 0 – 1 hour)
  • Early-closure window: 7 days (range: 0 – 90 days)