Concepts
Stochastic Volatility (SVI)
SVI, Stochastic Volatility Inspired, is the volatility smile Optionbolt runs on-chain. It gives Black-Scholes a different implied volatility for each strike, so the option bond is priced off a realistic curve instead of one flat number.
The volatility smile
A single implied volatility misprices real options. Strikes away from the money trade richer than one flat number predicts: the further a strike sits from the underlying, the higher its implied volatility, a shape called the smile (or, when it is lopsided, the skew). Pricing the option bond off a flat volatility would under-collateralize the wings, exactly where a written option is most dangerous.
SVI captures that whole curve with five parameters, cheaply enough to evaluate on-chain.
The model
Optionbolt uses raw SVI (Gatheral, 2004). It expresses total implied variance as a function of log-moneyness, the log of strike over forward:
k = ln(strike / forward) log-moneyness
w(k) = a + b·( ρ·(k - m) + √((k - m)² + σ²) ) total variance
IV = √( w(k) / T )The forward is the underlying’s current mark. Five parameters shape the curve, set per asset and expiry:
| Param | Meaning | Constraint |
|---|---|---|
a | Overall variance level (vertical shift). | keeps variance ≥ 0 everywhere |
b | Wing slope: how fast the smile rises. | b ≥ 0 |
ρ | Skew; negative tilts it toward richer puts. | -1 < ρ < 1 |
m | Horizontal shift that centers the smile. | |
σ | Curvature through the middle. | σ > 0 |
The no-arbitrage floor is a + b·σ·√(1 - ρ²) ≥ 0, which keeps total variance non-negative at every strike. The core checks it, and the per-parameter bounds, when a ticker is created, so a malformed smile can never be listed.
How Optionbolt uses it
Governance sets the five parameters per asset-expiry when it lists a ticker. At mint the core computes the strike’s implied volatility with SVI and feeds it to Black-Scholes to size the option bond, and each position snapshots the volatility it was priced at, so later changes never touch an open position. The same smile re-prices an option at resolution to open the recollateralization auction.
The smile is written in log-moneyness, ln(strike / forward), so the core reads the live forward (the perp mark) at each mint and re-evaluates the same fixed parameters. Implied vol tracks the market as spot moves, without the smile being reset.
The parameters are not set once and abandoned. A limited set of admin roles can adjust the live smile, set a failsafe volatility, or halt new mints on a ticker, with any change applying to new mints only. The aim is a system that needs minimal DAO intervention, not one an admin steers day to day.
Calibrating the smile
The market-inputs mode above is how the smile actually gets set: not by guessing the five raw numbers, but by reading the stats a trader already knows, the at-the-money level, the skew, how fast the wings climb, and how round the trough is, then solving back to the parameters. Those stats come from a real options market.
For an asset with a deep, liquid listed-options market (BTC and ETH on Deribit, index and commodity options on the major venues), the five parameters are fit to that observed implied-volatility surface. A liquid chain is the useful benchmark: its quotes are real, tight, and tradeable, so they anchor the smile to prices the market will actually stand behind rather than a number someone picked. The fit runs off-chain (an optimizer); governance or a keeper then pushes the result on-chain, where the core only evaluates the stored parameters and never calibrates.
Because this is a collateral floor and not a tradeable quote, the parameters are then set deliberately conservative, the level biased high and the wings generous, so the bond over-collateralizes relative to that fair surface. The live chain shows where fair sits; the floor sits above it.
Why SVI, not SABR
SVI is the on-chain-tractable smile. Evaluating it is one logarithm plus a couple of square roots, all of which the fixed-point math library already has. SABR’s Hagan formula is a stack of transcendental functions that belongs off-chain in a keeper. SVI is what can run inside the core and price collateral in the same transaction as the mint.
On-chain and validated
The parameters and the math are 18-decimal fixed point. The Solidity library is diff-tested against a JavaScript reference and cross-checked against two independent open-source SVI implementations, matching to within fixed-point rounding.
SVI supplies the volatility; Black-Scholes turns it into a price. Together they size the option bond on-chain from a realistic smile, not a single guessed number.