sheardocs

Getting started

How a round works

Every week runs the same way: a strike at the open, a five-minute auction, a close mark at expiry, and a weekend to settle and roll.

MonTueWedThuFriWeekend09:3016:00Strike set, then a five-minute auctionStrike = Pyth price × 1.05Calls live until the closeDeposits and withdrawals queue as ticketsClose markthen 15 min for disputesSettle and rollDeposits instant again

Start: the strike and the offer#

A round starts during a regular trading session, once the next weekly expiry is between one and eight days away. In a normal week that is Monday at 09:30 ET. start_round reads a fully verified Pyth TSLA price published in the last 60 seconds, turns it into the value of one TSLAx with the token’s current multiplier, and sets the strike 5% above that, rounded up.

All TSLAx in the vault moves into the round’s own collateral account, and the round offers one call for each. The auction’s five minutes must end before the session does.

The auction#

For five minutes, approved market makers each place one bid: how many calls, and the most they will pay per call in USDC. Their USDC is held in escrow. When the time is up, anyone can send finalize_auction. It fills the highest bids first until the offer runs out, and every winning bid pays the lowest filled price. The premium moves to the vault’s premium account and is credited to every share that exists at that moment.

The full rules, including the reserve price and ties, are in Bidding.

Through the week#

The calls stay outstanding until the expiry session closes. Nothing happens midweek: a price above the strike on Wednesday changes nothing, only the close counts. Deposits and withdrawals asked for now wait as a ticket and are processed after settlement.

Expiry and the close mark#

Expiry is the close of the week’s last regular session: usually Friday 16:00 ET, earlier in holiday weeks (see Market calendar). Within an hour of the close, observe_expiry records Pyth’s price for the session’s last second. For the next 15 minutes anyone can submit a conflicting verified price for that same second, which stops the round. The details are in Settlement price.

Settlement#

After the dispute window, settle_round moves the calls’ payout into the round’s reserve and returns the rest of the collateral to the vault. If no calls were sold, the round settles straight after the auction without a mark.

reserve = calls sold × max(close − strike, 0) ÷ close

In TSLAx. See Settlement and payout.

Processing and the roll#

Settlement fixes one ratio of TSLAx to shares for the round. Each queued deposit and withdrawal is processed at that ratio with process_ticket. When none are left, close_round ends the round. Until the next start the vault is between rounds, and deposits and withdrawals happen immediately.

Phases#

No calls sold: settle_round at onceAuctionActiveObservedSettledClosedfinalize_​auctionafter 5 minobserve_​expirywithin 1 h of closesettle_​roundafter 15 minclose_​roundtickets processedDisputedchallenge_expirytimeout_settle7 days after expiry, also fromActive when no mark was posted
Each arrow is one instruction. Anyone can send all of them; the keeper normally does.
PhaseWhat is happeningWhat you can do
AuctionBids are open for five minutesBid, if approved. Queue a deposit or withdrawal.
ActiveThe calls are outstanding until expiryQueue a deposit or withdrawal. Claim your bid.
ObservedThe close mark is recorded; 15-minute dispute windowQueue a deposit or withdrawal. Dispute with a conflicting price.
DisputedTwo verified prices disagreeWait for the seven-day fallback.
SettledThe payout is reserved; tickets are being processedProcess tickets. Claim call payouts.
ClosedThe round is overClaim call payouts. Deposit and withdraw immediately until the next round.

Your premium can be collected in every phase.