# QuantOracle Volatility Surface

> QuantOracle Volatility Surface is a paid API for AI agents from api.quantoracle.dev, paid per call via x402, $0.015/call, status unknown (last checked 2026-09-14).

Computes a full implied volatility surface across strikes and expiries for a given derivatives underlying

## Facts

- Endpoint: POST https://api.quantoracle.dev/v1/derivatives/volatility-surface
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-quantoracle-dev-d5d29df3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Yr2sFWbPeycQTO6oZsNGj

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability api-quantoracle-dev-d5d29df3 -d '<json body>'
```

Example prompt: Build me a full implied volatility surface for SPY options — cover strikes from 80% to 120% moneyness and expiries from 1 week out to 1 year, using current market prices.

## When to prefer this

Use this endpoint when you need a full multi-dimensional view of implied volatility across both strike and expiry dimensions, rather than a single IV lookup. Ideal for options pricing engines, risk systems needing skew and term structure, or any workflow that requires a calibrated vol surface (e.g. for exotic pricing or hedging). Prefer over single-point IV calculators when you need the entire surface.

## Known failure modes

- Insufficient option chain data returns sparse or incomplete surface
- Invalid or illiquid underlying with no listed options returns error
- Strike range outside available market data returns extrapolation warnings or nulls
- Malformed input symbol or unsupported asset class returns 400 validation error
- Arbitrage violations in input data may cause surface fitting to fail

## How this service works

QuantOracle: derivatives/volatility-surface

## Output

Returns a structured volatility surface object containing a grid of implied volatilities indexed by strike (or moneyness) and expiration, including vol smile curves per expiry, term structure of at-the-money vol, and potentially fitted surface parameters (e.g. SVI or SABR model coefficients).

## Example request

```json
{
 "spot": 4500,
 "market_data": [
  {
   "strike": 4400,
   "expiry_days": 30,
   "implied_vol": 0.18
  },
  {
   "strike": 4500,
   "expiry_days": 30,
   "implied_vol": 0.16
  },
  {
   "strike": 4600,
   "expiry_days": 30,
   "implied_vol": 0.17
  },
  {
   "strike": 4400,
   "expiry_days": 90,
   "implied_vol": 0.19
  },
  {
   "strike": 4500,
   "expiry_days": 90,
   "implied_vol": 0.17
  },
  {
   "strike": 4600,
   "expiry_days": 90,
   "implied_vol": 0.18
  },
  {
   "strike": 4400,
   "expiry_days": 180,
   "implied_vol": 0.2
  },
  {
   "strike": 4500,
   "expiry_days": 180,
   "implied_vol": 0.18
  },
  {
   "strike": 4600,
   "expiry_days": 180,
   "implied_vol": 0.19
  }
 ],
 "interpolation": "linear"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "spot": {
   "type": "number",
   "title": "Spot",
   "description": "Current spot price"
  },
  "market_data": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "VolPoint",
    "required": [
     "strike",
     "expiry_days",
     "implied_vol"
    ],
    "properties": {
     "strike": {
      "type": "number",
      "title": "Strike",
      "description": "Strike price"
     },
     "expiry_days": {
      "type": "number",
      "title": "Expiry Days",
      "description": "Days to expiration"
     },
     "implied_vol": {
      "type": "number",
      "title": "Implied Vol",
      "description": "Implied volatility at this strike and expiry"
     }
    }
   },
   "title": "Market Data",
   "description": "Array of implied vol data points"
  },
  "interpolation": {
   "enum": [
    "linear",
    "cubic"
   ],
   "type": "string",
   "title": "Interpolation",
   "default": "linear",
   "description": "Surface interpolation method"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-quantoracle-dev-d5d29df3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.quantoracle.dev](https://www.zero.xyz/host/api.quantoracle.dev/llms.txt)
