Upside

Call options on any token, settled in kind.

A writer locks tokens and names a strike, a premium and an expiry. A buyer pays the premium and may, any time up to expiry, pay the strike and take the tokens. If nobody does, the tokens go back to the writer, who keeps the premium either way.

No oracle: the buyer looks at the market and decides. No house: the only thing at risk is the writer's own tokens. So it works for a memecoin listed five minutes ago as well as for a tokenized stock, and nothing can be manipulated into settling wrong.

Calls

callwhowhat
write(token, amount, quote, strike, premium, expiry)writerlock the lot and list the right. Amount in the token's units, strike and premium in the quote's units, expiry as a unix time.
buy(id)anyonepay the premium, less the fee, to the writer and hold the right
exercise(id)holderpay the strike to the writer and take the lot, up to expiry
close(id)anyoneafter expiry, send an unexercised lot home
cancel(id)writer, or anyone once expiredtake an unsold lot off the board
pass(id, to)holderhand the right to somebody else

calls(id) returns the whole record. Events: Written, Bought, Exercised, Closed, Passed.

The fee

One percent of every premium, fixed in the contract at deploy and sent to the vault. The strike carries nothing.

Fair values

The site shows a fair value next to every ask. It is Black-Scholes on the realized volatility of the token's own last week of prices, from its deepest pool or, for stocks with a Chainlink feed, from the feed's own prints. A reference for both sides, nothing the contract reads.

Reading it from code

requestgives you
GET /boardevery open call with its fair value
GET /quote?token=&amount=&strike=&expiry=&quote=the fair premium for a call you are thinking of writing
GET /history?token=the token's recent prices, oldest first
GET /positions?account=the calls a wallet wrote or holds