sheardocs

Market makers

Bidding

Approved or staked market makers bid for the week’s calls in a five-minute, uniform-price auction that opens with the round.

Getting approved#

A wallet bids once it is approved or staked. The vault admin approves a wallet with authorize_bidder, which creates a bidder record for it, and can revoke it the same way. Approval is per vault and lasts until revoked. Without approval, a wallet can lock the bidder stake with stake_bidder and bid in every round of that vault; see Bidder stake.

What you are buying#

TermValue
UnderlyingTSLAx, one call per TSLAx
StrikePyth’s TSLA price at the start × 1.05, in USD per TSLAx, rounded up
StyleEuropean. Pays only on the close mark at expiry.
ExpiryThe close of the week’s last regular session, 1–8 days after the start
SettlementIn TSLAx: (close − strike) ÷ close per call
Size offeredEvery TSLAx in the vault when the round starts

The strike, expiry and size are in the round account the moment the round starts, before any bid. The app shows them in the round band.

Placing a bid#

place_bid(quantity, limit_premium_micro) takes two numbers. quantity is the number of calls in 8-decimal atoms, so one call is 100,000,000. limit_premium_micro is the most you will pay for one whole call, in micro-USDC, so $0.80 is 800,000. The bid moves its full cost into escrow:

escrow = ⌈quantity × limit ÷ 10⁸⌉ micro-USDC

  • The auction must be open: phase Auction and before auction_end.
  • The limit must be at least the vault’s reserve price.
  • The quantity can’t exceed the calls offered.
  • One bid per wallet per round, and at most sixteen bids per round.

How the book clears#

$0.40$0.80$1.2010,000 calls × $0.80 = $8,000 premiumBids above the clearing price get the difference backVault size, 10,000Bids past it don't fillClearing $0.80Calls, highest bid first
Six example bids for 10,000 calls. The fifth fills in part, the sixth doesn’t fill, and every filled call pays $0.80.
  1. 1

    Sort

    Bids are ranked by limit, highest first. Equal limits are ordered by the bidder’s wallet address, compared byte by byte.

  2. 2

    Fill

    Each bid takes as many calls as it asked for, until the offer runs out. The bid that crosses the vault size fills in part. Later bids get nothing.

  3. 3

    Price

    If the bids asked for more calls than were offered, the clearing price is the limit of the last bid that filled. If they asked for fewer, every call that sold clears at the reserve price.

  4. 4

    Charge

    Each bid pays allocation × clearing ÷ 10⁸, rounded up. Everything else in its escrow is refunded.

After the auction#

Once finalize_auction has run, claim_bid mints your calls to your call-token account and refunds the unused escrow to your USDC account in one transaction. You can claim at any time after the auction, including after expiry; nothing is lost by waiting, but you can’t move or exercise calls you haven’t claimed.

Timing and hedging#

The auction opens during a regular session and must finish before it closes, so the underlying stock trades the whole time. The strike comes from a Pyth price published at most 60 seconds before the start, and the round account shows it as soon as the round exists.