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#
| Term | Value |
|---|---|
| Underlying | TSLAx, one call per TSLAx |
| Strike | Pyth’s TSLA price at the start × 1.05, in USD per TSLAx, rounded up |
| Style | European. Pays only on the close mark at expiry. |
| Expiry | The close of the week’s last regular session, 1–8 days after the start |
| Settlement | In TSLAx: (close − strike) ÷ close per call |
| Size offered | Every 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#
- 1
Sort
Bids are ranked by limit, highest first. Equal limits are ordered by the bidder’s wallet address, compared byte by byte.
- 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
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
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.