Oracles and Price Feeds
Accurate, timely pricing is the foundation of every protocol function: health factor calculations, liquidation triggers, strike selection, and settlement. Spout uses multiple independent price sources to ensure reliability.
Primary Price Feed
Spout uses Stork as its primary oracle for real-time price data. Stork delivers sub-second price updates for all supported assets, sourced from a network of first-party data providers that pull directly from regulated exchanges. Each price update is signed and verifiable onchain, so any participant can independently confirm the price the protocol used for a given action.
Proof of Reserve (Supply Verification)
Separately from the price feed, Proof of Reserve attestations verify that the total supply of each spAsset matches the actual number of shares held at the regulated broker. This is not a price feed; it is a supply audit. It answers a different question: not "what is the share worth?" but "does the share actually exist?" Both answers matter for trust.
What Happens If a Price Feed Fails
If the primary price feed becomes unavailable or returns a stale value, the protocol pauses new borrows and liquidations against the affected asset until the feed recovers. Existing positions remain in place. This is a conservative design: it is better to pause briefly than to liquidate based on a bad price.
The protocol also compares incoming prices against historical bounds. A single-tick price that moves more than a defined threshold from the prior close triggers a confirmation check before any liquidation can proceed. This protects against oracle manipulation and flash-crash artifacts.
Price Update Frequency
For active cycle management (entry, monitoring, expiry), the engine uses continuous price updates during market hours. For health factor monitoring and liquidation checks, prices update in real time during US market hours and at reduced frequency during off-hours, since the underlying equities only trade during market sessions.