{"uid":"cap_BDlwGotJcuffFBoQnsqT3","slug":"derivatives-pricer-implied-volatility-surface-4d170f9e","name":"Derivatives Pricer – Implied Volatility Surface","description":"x402-paid Black-Scholes European option pricing, Greeks, IV surfaces, price/scenario on submitted smiles (TV bilinear), portfolio risk, free demo, and MCP. USDC exact on Solana (PayAI) and/or Base (CDP when configured). Receive wallets appear only in HTTP 402, never on free discovery.","url":"https://derivatives-pricer-production.up.railway.app/v1/volatility/surface?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"rate":{"type":"number","examples":[0.03,0.05],"description":"Shared continuous risk-free / discount rate r for the book (e.g. 0.05 = 5%)."},"options":{"type":"array","items":{"type":"object","title":"MarketOptionQuote","required":["underlying","strike","timeToExpiry","optionType","premium"],"properties":{"strike":{"type":"number","description":"Strike K (> 0) in same units as underlying.","exclusiveMinimum":0},"premium":{"type":"number","minimum":0,"description":"Observed market premium (≥ 0) in underlying currency units."},"optionType":{"enum":["call","put"],"type":"string","description":"European call or put."},"underlying":{"type":"number","examples":[100,82.5],"description":"Underlying level S for this quote (> 0). May differ by maturity (e.g. monthly power/gas forwards).","exclusiveMinimum":0},"timeToExpiry":{"type":"number","minimum":0,"examples":[0.25,0.5,1],"description":"Year-fraction to expiry T (≥ 0)."}},"additionalProperties":false},"maxItems":200,"minItems":1,"description":"Market quotes: one object per (underlying, strike, maturity, type) with observed premium. Prefer unique keys per cell; duplicates average into the grid."},"treeSteps":{"type":"integer","maximum":500,"minimum":50,"description":"CRR steps when optionStyle is american."},"expiration":{"type":"string","format":"date-time","description":"Shared ISO-8601 window end for all rows. When set, all rows share derived τ."},"optionStyle":{"enum":["european","american"],"type":"string","default":"european","description":"Exercise style for IV solve (default \"european\")."},"forwardStart":{"type":"string","format":"date-time","description":"Shared ISO-8601 window start for all rows (optional)."},"dividendYield":{"type":"number","minimum":0,"examples":[0,0.01],"description":"Shared continuous yield q (default 0): equity dividends, FX foreign rate, or commodity convenience yield as appropriate."}}},"responseSchema":{"type":"json","example":{"fit":{"okCount":3,"failedCount":0,"rmsePriceError":1.2e-8,"maxAbsPriceError":2e-8,"meanAbsPriceError":1e-8},"stats":{"solver":"fastImpliedVol","elapsedMs":1.2,"optionCount":3,"avgIterations":4},"market":{"rate":0.05,"dividendYield":0},"points":[{"index":0,"greeks":{"rho":10,"vega":15,"delta":0.75,"gamma":0.02,"theta":-8},"status":"ok","strike":90,"premium":12.5,"impliedVol":0.25,"modelPrice":12.5,"optionType":"call","priceError":0,"underlying":100,"timeToExpiry":0.25}],"surface":{"strikes":[90,100,110],"maturities":[0.25,0.5,1],"impliedVols":[[0.25,null,null],[null,0.22,null],[null,null,0.2]]},"requestId":"00000000-0000-4000-8000-000000000002","computedAt":"2026-01-01T00:00:00.000Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_2BM3asd6js66JKSn3waQC","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Computes a full implied volatility surface from a grid of market option quotes using Black-Scholes inversion, returning per-point IVs, Greeks, fit statistics, and a structured vol surface matrix.","exampleAgentPrompt":"Build me a full implied volatility surface for a set of S&P 500 calls and puts: the underlying is at 5000, strikes are 4800, 5000, and 5200, maturities are 0.25, 0.5, and 1 year, the risk-free rate is 5%, and the observed premiums are roughly 210, 120, 60 for calls and 55, 110, 180 for puts — give me the IV grid, deltas, and fit errors.","exampleUseCases":[{"title":"Equity options vol smile calibration","prompt":"I have a set of SPY call and put quotes across 3 strikes (490, 500, 510) and 2 maturities (3 months and 6 months) with the underlying at 502, a 5% risk-free rate, and a 1.5% dividend yield. Can you invert Black-Scholes on all of them and give me the implied vol surface, per-point Greeks, and RMSE fit quality?"},{"title":"FX options tenor surface construction","prompt":"Build an implied vol surface for EUR/USD options: spot at 1.08, strikes 1.05, 1.08, and 1.11, maturities 0.25, 0.5, and 1 year, risk-free rate 4.5%, foreign rate 3.5% as dividend yield. I have observed call premiums of 0.032, 0.018, and 0.009 — return the IV grid and deltas."},{"title":"Commodity options vol grid for risk desk","prompt":"I've got a book of natural gas European call options with different forward levels per maturity — underlying 2.80 for the 3-month, 2.95 for the 6-month, strikes ranging from 2.50 to 3.20, risk-free rate 5%, convenience yield 2%. Fit implied vols to all the observed market premiums and give me the full vol surface plus vega and theta for each point."}],"resultDescription":"Returns a structured JSON with: a 'surface' object containing a strikes array, maturities array, and 2D impliedVols grid; a 'points' array with per-option results (implied vol, model price, price error, status, and full analytic Greeks: delta, gamma, vega, theta, rho); a 'fit' object with RMSE, max absolute error, mean absolute error, ok/failed counts; 'stats' with solver info and elapsed time; 'market' echoing rate and dividend yield; and a requestId/computedAt timestamp.","failureModes":["Option with non-positive underlying or strike returns validation error","Premium below intrinsic value causes IV solver failure (status: 'failed' on that point)","Duplicate (underlying, strike, maturity, type) keys are averaged silently","More than 200 options in one request rejected (maxItems constraint)","Payment failure (x402 USDC transaction rejected or insufficient balance) blocks the call","Deep in-the-money or zero-time options may fail convergence and appear as null in the surface grid"],"whenToPreferThis":"Choose this endpoint when you need a complete implied volatility surface calibrated from market quotes across multiple strikes and maturities in a single call, rather than inverting one option at a time. It is ideal when you want fit diagnostics (RMSE, per-point errors), per-point Greeks alongside IVs, and a structured vol grid ready for downstream risk or pricing use. Prefer this over single-IV endpoints when building smile/skew visualizations, calibrating term structure, or aggregating risk across a multi-leg options book.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T00:36:23.528Z","isFirstParty":false,"canonicalSlug":"derivatives-pricer-implied-volatility-surface-4d170f9e"}