FUNCTOR
functorfund.com ↗
Testnet: no real money. The Functor public testnet is targeted for Q1 2027; until then nothing here executes.

Home / Options

Options pricer

Price calls, puts and multi-leg structures on crypto assets. The models use stochastic volatility with self-exciting jumps, because crypto price jumps arrive in clusters. Positions are fully collateralized in USDC. Options trading opens with the public testnet.

Fully collateralized No liquidations Bates + Hawkes jumps 140+ assets193 tests
spot—
24h—
σ realised—
last tick—
expiry
model
Connecting to market data…

Strategy finder

Choose an asset and a view to see matching option structures
1
The asset
2
Your view
3
How far, and by when
15% → —

Structures matching your view, ranked by probability of profit (risk-neutral, from the model's digital option price), total risk, and reward relative to risk. Select one to edit it in the builder below.

Options chain

click a price to add the leg · buy / sell toggle below
qty
CALLS STRIKE PUTS
ΔΓνIVmark markIVνΓΔ

Payoff at expiry

Position

no legs
sidetypestrikeqtymark

Model parameters

—

There is no traded options market for these contracts yet, so there is no implied volatility surface to calibrate to. Parameters are estimated from the underlying's price history. Diffusion volatility comes from returns with jumps removed. Jump size and rate come from the returns classified as jumps. The Hawkes branching ratio comes from the overdispersion of jump counts: a Poisson process has Var/Mean = 1, clustering gives more, and n = 1 − √(Mean/Var).

Why not Black-Scholes

Same strike, five models

Black-Scholes assumes constant volatility and no jumps. Neither holds for crypto. The difference is largest for deep out-of-the-money puts.

Volatility smile

Model-implied

Each point is the Black-Scholes volatility that matches the model's price at that strike. Under Black-Scholes this line would be flat.

Collateral

Rules
∎

Each position locks its maximum possible loss as collateral before it opens. There is no margin, so options positions are never liquidated.

Rule 1

Unbounded positions are rejected

A naked short call has no maximum loss, so it cannot be fully collateralized and is rejected. To sell upside, buy a higher strike to form a spread. You can try this in the builder above.

Rule 2

Winning positions are paid in full

Collateral covers the maximum loss of every position, so there is no settlement price at which payouts exceed collateral. Options need no insurance fund and no auto-deleveraging.

Trade-off

Capital efficiency

Full collateral uses more capital than margin. The total to post is shown before you open a position.

Implementation

Engine
Collateral

Integer arithmetic

Collateral is computed in micro-USDC: collateral = ⌈ max_lossμUSD ⌉ + 1. Amounts posted round up and amounts paid out round down, so collateral always covers the payout.

The payoff at expiry is piecewise linear, so the maximum loss is at one of the strikes or at the ends of the price range. It is computed exactly, without simulation.

Testing

Page and engine match

  • C++ reference engine. The pricing, risk and collateral engine is written in C++. The chain version will be ported to Rust and checked against it.
  • Parity tests. A test runs this page's JavaScript against the C++ engine and fails on any difference in price or maximum loss.
  • Maximum loss. Checked against brute-force search over thousands of randomly generated structures.

Status: the pricing, risk and collateral engine is built and tested. Onchain options are step 19 of the build plan. See the roadmap.

Bates + HawkesSABR / SVI surfacesCalibrated to market dataFull collateralUSDC settlement