Prices and the oracle
Yahoo Finance supplies the price. The server signs a short-lived check, and the onchain oracle verifies it.
Price source
The feed reads the configured USD stock from Yahoo Finance. It checks the ticker, exchange, instrument type, currency, regular-session price, source timestamp and trading schedule before signing.
Source time is Yahoo Finance's timestamp for its regular-session price. It is not the time you opened the page or necessarily an official closing-auction price. The displayed timestamp remains unchanged when an old price is still valid during a closure.
Freshness and closed markets
The server attempts a provider refresh every ten minutes and caches the result. Loading pages reads that cache rather than spending a new provider request for each visitor.
A signed check lasts at most fifteen minutes. When the trading schedule indicates an open market, the source observation must also be less than one hour old. The check expires at whichever limit comes first.
When the trading schedule indicates a closed market, an older last-reported price is accepted only alongside a fresh provider check. Reusing a cached price cannot refresh that check's timestamp.
A closed-market check near a weekday 9:30 a.m. New York opening expires at that boundary. This accounts for daylight saving time and is conservative on holidays. An outdated schedule is treated as open during ordinary weekday trading hours. This can pause purchases on a holiday until the provider supplies an updated schedule.
Signing and publication
The signed message binds the market identifier, price, source time, check time, expiry, market-open flag and signer epoch. Its EIP-712 domain binds it to this oracle contract and chain.
Anyone can submit a valid signature to the oracle. The buy flow publishes a newer check when needed; the Admin page also has a Publish signed price action. Publication is an onchain transaction paid for by the publishing wallet. The signing server does not submit funded transactions.
The oracle rejects invalid signatures, expired checks, backward timestamps and conflicting prices for the same source observation. The oracle owner can rotate the signer; the new epoch invalidates the previous epoch's quotes.
