Skip to main content

Bachelier

Bachelier is a peer-to-pool covered-call options vault on sBTC, on Stacks — with options priced on-chain by a fixed-point Black–Scholes engine written in Clarity.

Depositors add sBTC and receive bcSHARE pro-rata. Each weekly round the keeper opens a slightly out-of-the-money (OTM) strike from the BTC-USD oracle; takers buy 1-sBTC call contracts and pay USDC premium that accrues to depositors immediately via a premium-per-share index. At expiry the round settles against the oracle.

Named after Louis Bachelier, whose 1900 thesis Théorie de la spéculation first applied a random-walk model to option pricing — five years before Einstein, and seventy before Black–Scholes.

Settlement in one screen

At expiry, with spot S_exp and strike K:

  • S_exp ≤ K — calls expire worthless. The pool keeps all sBTC and all premium.
  • S_exp > K — each contract owes (S_exp − K) / S_exp sBTC (always less than 1), paid out of collateral via pull-based exercise; the rest returns to the pool.

The pool can never write more contracts than the whole sBTC it holds, so it is always fully collateralized — settlement needs no external liquidity, and premium only ever flows in.

Reference economics

Asserted in tests at every layer (Clarity, the TS mirror, and the API):

InputValue
Spot≈ $104,210
Strike+10% OTM
Implied volatility0.55
Tenor1 week
Risk-free rate0.04
Premium / contract≈ $430 (bs-call-price reference vector = 42848661381)
Yield≈ 0.41%/week ≈ 23–24% APY

Trust model

The browser signs all user-fund transactions via the wallet (Leather / Xverse). The only server-side signer is the keeper, and it can only drive the round lifecycle (start-round / settle-round) — it can never touch user funds. The REST API is read-only; no service ever holds a user key.

Live on testnet

A full deployment is live on Stacks testnet:

Continue to the Architecture overview, or jump straight to Vault mechanics.