{"uid":"cap_5nfBjVjYmYW41HjlIcFC1","slug":"derivatives-pricer-price-from-surface-tv-bilinear-e02fb119","name":"Derivatives Pricer — Price from Surface (TV Bilinear)","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/option/price-from-surface","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"rate":{"type":"number"},"options":{"type":"array","maxItems":50,"minItems":1},"surface":{"type":"array","maxItems":200,"minItems":1},"wingRule":{"type":"string","const":"flat_vol"},"dividendYield":{"type":"number","minimum":0},"interpolation":{"type":"string","const":"total_variance_bilinear"},"surfaceConvention":{"type":"string","const":"log_moneyness_forward"}}},"responseSchema":{"type":"json","example":{"book":{"mtm":10.45057562,"greeks":{"rho":53.23248343,"vega":37.52403469,"delta":0.63683059,"gamma":0.01876202,"theta":-6.41402764}},"model":"black-scholes-merton+surface-tv-bilinear","units":{"rho":"dV/dr per 1.0 absolute rate (not per 1%)","vega":"dV/dσ per 1.0 absolute volatility (not per 1%)","delta":"dV/dS (share equivalent) at sticky/interpolated σ","gamma":"d²V/dS²","price":"option value in spot currency units","theta":"dV/dT per year (not per day)"},"results":[{"k":0,"index":0,"price":10.45057562,"greeks":{"rho":53.23248343,"vega":37.52403469,"delta":0.63683059,"gamma":0.01876202,"theta":-6.41402764},"strike":100,"forward":100,"quantity":1,"impliedVol":0.2,"optionType":"call","underlying":100,"contribution":10.45057562,"timeToExpiry":1}],"warnings":[],"requestId":"00000000-0000-4000-8000-000000000006","computedAt":"2026-01-01T00:00:00.000Z","optionStyle":"european","surfaceMeta":{"kCount":3,"tCount":3,"wingRule":"flat_vol","convention":"log_moneyness_forward","pointCount":9,"interpolation":"total_variance_bilinear"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.08","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.08/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.08","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.08","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_4X6jjYqqvoOF7jOI8H5UD","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.08","costPer":"request","priority":0,"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Prices a portfolio of European options and computes Greeks using Black-Scholes-Merton with a user-submitted implied volatility surface interpolated via total-variance bilinear in log-moneyness-forward space.","exampleAgentPrompt":"Price a 1-lot ATM call (strike 100, spot 100, 1 year to expiry) and a 1-lot ATM put using my own vol surface — three expiry pillars at 0.25, 0.5, and 1.0 years, three log-moneyness nodes at -0.1, 0, and 0.1 each with vols of 0.18, 0.20, and 0.22 respectively, flat-vol wing rule, risk-free rate 0.05, zero dividend yield, and give me the full Greeks for the book.","exampleUseCases":[{"title":"Exotic desk daily book mark-to-market","prompt":"I have a 12-leg European option book I need marked at end of day — can you price each leg and roll up the portfolio delta, gamma, vega, and theta using today's OTC vol surface I'm providing as a 5x5 log-moneyness-forward grid with flat-vol wings and a 5% risk-free rate?"},{"title":"Scenario analysis on a custom smile","prompt":"Run a scenario for me: price a 6-month 110-strike call and a 6-month 90-strike put using the stressed vol surface I'm submitting — bilinear total-variance interpolation, log-moneyness-forward convention, flat wings, rate 0.04, dividend yield 0.01 — and show me how the Greeks shift compared to the ATM point."},{"title":"Quant model validation against broker quote","prompt":"I got a broker quote of $10.45 for an ATM 1-year call at spot 100, and I want to validate it against Black-Scholes using my own surface — 3x3 grid of total-variance nodes centered at-the-money, flat-vol wing extrapolation, rate 5%, no dividends, and return the implied vol the model read off at that strike and expiry."}],"resultDescription":"Returns a JSON object with per-leg pricing (price, impliedVol, strike, forward, timeToExpiry, optionType), per-leg Greeks (delta, gamma, vega, theta, rho), an aggregated portfolio book (MTM and summed Greeks), units clarification for each Greek, surface metadata (interpolation convention, node counts, wing rule), warnings array, requestId, and computation timestamp.","failureModes":["Surface grid too sparse or missing bracketing nodes for requested strike/expiry — interpolation fails with 400 and a surface coverage error","Options array exceeds 50-item limit — returns 400 validation error","Surface array exceeds 200-point limit — returns 400 validation error","Payment not included or insufficient — returns HTTP 402 with USDC wallet address for exact payment","Invalid interpolation or surfaceConvention values (not matching const) — returns 400 schema validation error","Negative dividend yield — returns 400 constraint violation","Surface with flat or inverted total variance causing arbitrage — may return 200 with warnings array populated"],"whenToPreferThis":"Choose this endpoint when you already have your own implied volatility surface (e.g. from a broker, exchange, or internal model) and want Black-Scholes pricing and Greeks that respect that smile — rather than a flat-vol assumption. Prefer it over the basic BSM price+Greeks endpoint when smile dynamics, skew, or term-structure matter. Prefer it over an internal library when you need an auditable, paid, reproducible external computation with portfolio aggregation across up to 50 legs in a single call.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:32:15.756Z","isFirstParty":false}