Observation
Definition
Section titled “Definition”An observation is the act of reading the official closing price of the underlying at one timestamp in observations[] and applying the series rules to it. Observations are the only moments at which anything happens to a live series. Between observations, prices are irrelevant to the protocol.
Schedule
Section titled “Schedule”observations[]is an array ofuint40UNIX timestamps, strictly ascending, fixed at creation and validated byMarketCalendar.isOfficialClose(each must be an official US equity close).observations[0]is the strike observation. It fixess0and is the moment matching is finalised (finalizeStrike).observations[1..last-1]are intermediate observations: coupon and autocall.observations[last]is maturity: coupon and knock-in decision.
A “26 fortnightly observations” series therefore has 27 timestamps: one strike plus 26 coupon dates, of which the 26th is maturity.
Timing rule
Section titled “Timing rule”fact Official close is 20:00 UTC while US daylight saving time is in force and 21:00 UTC otherwise, Monday to Friday, excluding registered holidays, with registered early closes at 17:00 or 18:00 UTC. DST boundaries are computed on-chain (second Sunday in March, first Sunday in November). See Oracle and MarketCalendar.
| Year | DST begins (US) | DST ends (US) | Regular close before / after |
|---|---|---|---|
| 2026 | 8 Mar | 1 Nov | 21:00 UTC → 20:00 UTC → 21:00 UTC |
| 2027 | 14 Mar | 7 Nov | same pattern |
| 2028 | 12 Mar | 5 Nov | same pattern |
| 2029 | 11 Mar | 4 Nov | same pattern |
| 2030 | 10 Mar | 3 Nov | same pattern |
How the price is read
Section titled “How the price is read”NoteCore.observe(seriesId) is permissionless. It calls OracleAdapter.observe(feed, closeTs), which is accepted only once closeTs + closeGrace (default 5 min) has passed and walks Chainlink rounds backwards from latestRoundData to the last round with updatedAt ≤ closeTs + closeGrace — the closing print; that round must be no older than closeTs − maxPreCloseLag (default 30 min), positive and answeredInRound >= roundId. Rounds published after the grace never qualify, so the observed round does not depend on when the keeper calls. If a backup feed is configured and the primary fails, the backup is used; if the two deviate by more than maxDeviationBps (default 300) or both fail, the observation is Deferred.
Outcomes
Section titled “Outcomes”Ordering and liveness
Section titled “Ordering and liveness”- Observation
icannot be processed before observationi−1is finalised, and not before its owncloseTs. - A Deferred observation may be retried by anyone within
deferralWindow(72 h). After that, governance mayforceObservewith an explicit price after a mandatory 24 h delay (event emitted), or cancel the observation, in which case no coupon is paid and no autocall occurs for that date and the series continues. - The first successful
observeaftercloseTsearnskeeperRewardQuote(default 2 USDG) from accrued fees. See Automation and cranks.
What is not an observation
Section titled “What is not an observation”- The provisional reference price used during Subscription to value SHIELD deposits pro rata. It is the latest feed answer at deposit time and has no effect on settlement; final matching uses
s0. - Any price read outside
observations[], including weekend prints, intraday moves and the 24/7 on-chain AMM price.