Docs and API

Three prices per feed

  • Oracle — the price lending markets read. While the exchange is open it updates every heartbeat (60 seconds). While it's closed, it pauses at the last close.
  • DEX — the price in the token's pool. It trades around the clock, so it keeps moving at night and on weekends.
  • Exchange — the live exchange price while open, and the last close while shut. Shown as a dashed line.

Deviation is (DEX − oracle) ÷ oracle.

Statuses

  • In agreement — deviation under 1%.
  • Watch — 1% to 3%.
  • Alert — 3% or more.
  • Stale oracle — the exchange is open but the oracle missed 3 heartbeats in a row. A paused oracle on a weekend is expected and isn't counted as stale.

Incidents

Feeds are sampled every 5 minutes. Any stretch outside agreement becomes an incident; stretches of the same kind less than 30 minutes apart are merged. Watch-level blips shorter than 15 minutes are left out.

Kinds: weekend or overnight gap (exchange closed), DEX spike (exchange open, usually thin liquidity), oracle stopped updating.

Signal API

A lending market can poll one endpoint before it allows new borrows against a stock token, and act on the answer: normal, caution or pause_borrowing.

GET /api/signal/TSLA

Live from this site
…

Endpoints

Available when the Node server is running. Without it, the site computes the same numbers in the browser.

  • GET /api/board — every feed right now, with status, sparkline and signal.
  • GET /api/feeds/NVDA?hours=24 — oracle, DEX, exchange and deviation over time (1 to 168 hours).
  • GET /api/incidents?days=7&sym=TSLA&severity=alert — the incident log.
  • GET /api/signal/NVDA — the lending signal.
  • GET /api/market — whether the exchange is open, and when that changes.

Limits

  • No real oracle, DEX or exchange is read. Prices are generated from the time, so everyone sees the same numbers.
  • Exchange hours follow the NYSE schedule in New York time, including daylight saving, but ignore holidays.
  • Alerts are checked in your browser and never sent.