Skip to main content
The protocol needs reliable USD prices for every collateral and debt asset. Prices come from on-chain oracle feeds. If a price cannot be trusted, risky actions are blocked rather than executed at a bad number.

Price sources

XOXNO uses two providers for most markets:
ProviderRole
ReflectorPrimary price, often a short TWAP for smoother readings
RedStoneAnchor price used to cross-check the primary
When both feeds agree within tolerance, the primary price is used. If they diverge moderately, the protocol may blend them. Large disagreement causes the price read to fail for strict checks.

When prices block you

Not every action needs the same price quality. The protocol is stricter when you increase risk (borrow or withdraw collateral while in debt) or when a liquidation runs.
SituationTypical behavior
Borrow or withdraw with debtStale or disputed prices block the transaction
Supply or repayMore lenient, so you can often add collateral or pay down debt during stress
LiquidationStrict pricing only, so seizures use trustworthy values
Stale prices block risky actions. If a feed is too old, you may be unable to borrow or withdraw collateral until fresh data returns. You can usually still repay or supply to improve your position.

Sanity checks

Each market also has minimum and maximum plausible price bounds. Prices outside those bands are rejected for strict flows. This guards against obvious feed errors.

What you should do

  • If a borrow fails during volatility, wait for feeds to refresh or try repaying/supplying instead.
  • Watch your health factor on XOXNO lending during fast markets. Oracle delays can temporarily freeze withdrawals even when your position looks healthy on screen.
  • Disabled oracle markets limit new risky activity until operators restore feeds.
For developers: Tolerance bands, staleness windows, policies per flow, and operator controls are in oracles.