The three states
Each series — one (market, epoch, cap) triple — moves through exactly three states, irreversibly:
open() — permissionless settle() / terminate() — permissionless
Created ─────────────────────────► Open ─────────────────────────────────────► Settled
| State | What you can do | | --- | --- | | Created | split, subscribe, unsubscribe, merge — waiting for the open window | | Open | split, subscribe (until the auction starts), bid, finalize, merge | | Settled | merge (at the settled rate), claimIncome, claimUpside — forever |
Operations that can never be paused: merge, claims, settlement, termination. The guardian can pause only splits and subscriptions.
Epochs
Epochs are monthly, settling on the third Friday of each month (shifted to the previous trading day when it falls on a holiday). Numbering starts at zero.
| Rule | Value |
| --- | --- |
| Epoch length | A calendar month (28–35 days) |
| Settlement day | Third Friday, America/New_York, DST-aware |
| Opening window day | The corresponding window day in the prior month |
| Continuity | The previous epoch's settlement price S becomes the next epoch's P0 — copied on-chain, no oracle read |
Session times (all America/New_York)
| Moment | Time | | --- | --- | | Regular session | 09:30 – 16:00 | | Early-close days | 09:30 – 13:00 | | Settlement TWAP window | 15:30 – 16:00 (12:30 – 13:00 on early-close days) | | Auction slots | From 10:30, two hours each | | Auction notice | At least 30 minutes between scheduling and start |
Holidays and early-close days are registered in the factory's calendar and respected by every eligibility check.
A concrete timeline — October NVDA
Fri 09/18 Prior epoch settles in its 15:30–16:00 window
Mon 09/21 Open window day — anyone calls open()
P0 = prior S · K = P0 × 1.05 · auction scheduled into the 10:30 slot
Mon 09/21 Splitting and subscribing open
Mon 09/21 10:30 — descending clock runs its two hours
after finalize() → bidders claim fills, subscribers claim premiums
09/21–10/16 Trading period: legs move freely; merge is always available
Fri 10/16 Settlement window 15:30–16:00 → settle() snapshots S
Mon 10/19 Next epoch opens with P0 = this epoch's S
When things go sideways
- Settlement day fails oracle qualification — settlement slips forward one trading day at a time (each
settlecall inspects up to five days). - Oracle dead for 30 days — the series enters the termination queue; five days later anyone can trigger
terminate, which snapshots at the anchored window price (or falls back toS = P0). Claims afterwards follow the normal, settled rules. - Issuer destroys collateral mid-epoch — the affected day locks in as an early settlement day and payouts scale pro-rata (see Settlement & claims).