Choose the Greeks you need.
Request price only, the five common sensitivities, or all ten. Each operation accepts one option contract and uses bounded synchronous execution.
Standard-five is available for BSM and BS1993. The schedule assigns a CPU/value rate to each supported model and operation. Use your account’s cost quote to check the charge before execution; a policy that does not grant the operation returns not_entitled.
QdFp accepts price and IV only. Both Greeks endpoints and analytics return 400 unsupported_operation for QdFp, including American auto requests resolving to it. These refusals do not execute or charge. Use an explicitly selected supported model such as BS1993 for American Greeks; the API does not switch models for you.
Three explicit operations
POST /v1/price: price only, without Greek calculations. MCPprice; gRPCPriceOption.POST /v1/greeks/standard: price plus delta, gamma, theta, vega and rho. MCPgreeks_standard; gRPCGreeksStandard.POST /v1/greeks: price plus those five and vanna, volga, charm, veta and color. MCPgreeks; gRPCGreeksAllTen.
The existing /v1/greeks, MCP greeks and gRPC GreeksAllTen contracts retain all-ten behavior. To request less work, select the new standard operation explicitly. BSM and BS1993 also support synchronous /v1/greeks/standard:batch and /v1/greeks:batch, up to 100 contracts or a lower account limit. See the quickstart for ordered results, aggregate charges and model restrictions.
All three accept the same option inputs and supplied annualized volatility. Prices use the spot and strike currency. Time to expiry is in years, rates and yield are annual fractions, and volatility is an annual fraction. See the model guide for selectors and supported domains.
Quote and execute
Set MORPHIQ_API_KEY using the key setup instructions. Set MORPHIQ_API_BASE_URL to an environment that exposes and entitles this operation. The following synthetic European call uses spot and strike 100, one year, 5% interest and 20% volatility.
curl --fail-with-body "$MORPHIQ_API_BASE_URL/v1/cost/quote" \
--header "Authorization: Bearer $MORPHIQ_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"operation":"greeks_standard","request":{"exercise_style":"european","pricing_model":"auto","option_type":"call","spot":100,"strike":100,"time_to_expiry_years":1,"risk_free_rate":0.05,"dividend_yield":0,"volatility":0.2}}'Choose an integer MAX_CU ceiling from the returned quote.total_fcu and your spending limit. An unavailable operation returns an error, not a zero-price quote. Standard and all-ten Greeks have distinct billing identities; their rates are account-policy dependent.
curl --fail-with-body "$MORPHIQ_API_BASE_URL/v1/greeks/standard" \
--header "Authorization: Bearer $MORPHIQ_API_KEY" \
--header 'Content-Type: application/json' \
--header "X-MorphIQ-Max-CU: $MAX_CU" \
--data '{"exercise_style":"european","pricing_model":"auto","option_type":"call","spot":100,"strike":100,"time_to_expiry_years":1,"risk_free_rate":0.05,"dividend_yield":0,"volatility":0.2}'HTTP supports JSON and raw Protobuf. Protobuf uses morphiq.ferro_risk.v1.GreeksStandardRequest and GreeksStandardResponse. MCP uses the same JSON request wrapped in request, plus a required canonical decimal string max_cu. See the MCP guide for framing and authentication.
Read the result
result.price accompanies result.greeks, the selected pricing_model and model_version. Metadata identifies the engine and policy and reports the actual committed charge. The standard result contains only the requested five quantities and any corresponding unavailable reasons.
Delta is dV/dS; gamma is d²V/dS²; theta is dV/dt per year; vega is dV/dσ per absolute unit of volatility; rho is dV/dr per absolute unit of rate. A one-percentage-point change is 0.01 of the relevant coordinate. Time-based higher derivatives on the all-ten operation are also annualized.
A finite zero is present as zero. An unavailable Greek is omitted and has a typed reason in greeks.unavailable; Protobuf preserves optional presence. A supported derivative refusal preserves the valid price. Invalid inputs, failed pricing and infrastructure errors remain failures.
Black–Scholes finite difference (cash dividends) accepts price and IV only. Standard-five, all-ten and analytics return 400 unsupported_operation, including auto resolving to this model, before execution or CU charge. The engine implementations remain internal.
The standard path computes only the requested five. No fixed latency or universal speed ratio is promised. The ten-second compute deadline includes queue time; a timeout after execution starts retains its committed charge. Do not blindly retry a charged timeout.
IV, analytics and SDKs
/v1/implied-volatility continues to solve volatility from a market premium. /v1/analytics still returns all ten Greeks, optionally after an IV solve; this change adds no standard-five analytics variant. In the revised schedule, analytics without a market price uses the all-ten rate. With a market price, it solves IV first and uses the IV-solving analytics rate. The complete rate table covers BSM, QdFp, BS1993 and Black–Scholes finite difference (cash dividends); Black–Scholes finite difference (cash dividends) price and IV are enabled; standard-five is disabled (400); its all-ten and analytics requests are disabled.
Existing SDK Greek helpers may still target the all-ten operation. Use the documented HTTP or gRPC contract, or MCP greeks_standard, until your SDK explicitly supports the new operation. Check its generated schema rather than inferring support from its package version.