> ## Documentation Index
> Fetch the complete documentation index at: https://xoxno.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracles on Stellar Lending

> How XOXNO Stellar Lending prices assets with Reflector and RedStone, and when stale prices block actions.

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:

| Provider  | Role                                                    |
| --------- | ------------------------------------------------------- |
| Reflector | Primary price, often a short TWAP for smoother readings |
| RedStone  | Anchor 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.

| Situation                    | Typical behavior                                                             |
| ---------------------------- | ---------------------------------------------------------------------------- |
| Borrow or withdraw with debt | Stale or disputed prices block the transaction                               |
| Supply or repay              | More lenient, so you can often add collateral or pay down debt during stress |
| Liquidation                  | Strict 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](https://xoxno.com/defi/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.

<Tip>
  **For developers:** Tolerance bands, staleness windows, policies per flow, and operator controls are in [oracles](/stellar-lending/dev/oracles).
</Tip>
