Connects Claude to 73 deterministic financial calculators spanning options pricing, risk metrics, portfolio math, and technical indicators. Instead of asking an LLM to compute Black-Scholes or Kelly Criterion in-context (slow, error-prone, non-reproducible), you POST JSON to endpoints like `/v1/options/price` or `/v1/risk/portfolio` and get exact analytical results in under 70ms. The free tier gives you 1,000 calls per day with no API key. Ten composite workflows bundle multiple calculations for common agent tasks like backtesting strategies, generating rebalancing trades, or recommending hedges. All formulas are citation-verified against Hull and Wilmott. Reach for this when your agent needs to size a position, price a derivative, or run a Monte Carlo sim without hallucinating the Greeks.
Public tool metadata for what this MCP can expose to an agent.
options_priceBlack-Scholes pricing with 10 Greeks (delta through color). Use when you need to price a European option or compute Greeks (delta, gamma, theta, vega, rho, etc.) using the Black-Scholes model. Provide spot price, strike, time to expiry, risk-free rate, and volatility. Returns:...7 paramsBlack-Scholes pricing with 10 Greeks (delta through color). Use when you need to price a European option or compute Greeks (delta, gamma, theta, vega, rho, etc.) using the Black-Scholes model. Provide spot price, strike, time to expiry, risk-free rate, and volatility. Returns:...
KnumberSnumberTnumberqnumberrnumbertypestringcall · putdefault: callsigmanumberoptions_implied-volNewton-Raphson implied volatility solver. Converges in 5-8 iterations. Use when you know the market price of an option and need to back out the implied volatility. Uses Newton-Raphson iteration. Provide spot, strike, time to expiry, risk-free rate, market price, and option typ...7 paramsNewton-Raphson implied volatility solver. Converges in 5-8 iterations. Use when you know the market price of an option and need to back out the implied volatility. Uses Newton-Raphson iteration. Provide spot, strike, time to expiry, risk-free rate, market price, and option typ...
KnumberSnumberTnumberqnumberrnumbertypestringcall · putdefault: callmarket_pricenumberoptions_strategyMulti-leg options strategy P&L, breakevens, max profit/loss, risk/reward. Use when analyzing a multi-leg options strategy (spreads, straddles, iron condors, etc.). Provide an array of legs with strike, premium, quantity, and type. Returns: net premium, max profit/loss, breakev...3 paramsMulti-leg options strategy P&L, breakevens, max profit/loss, risk/reward. Use when analyzing a multi-leg options strategy (spreads, straddles, iron condors, etc.). Provide an array of legs with strike, premium, quantity, and type. Returns: net premium, max profit/loss, breakev...
legsarraypointsintegerS_rangearrayrisk_portfolio22 risk metrics: Sharpe, Sortino, Calmar, Omega, VaR, CVaR, drawdown, skew, kurtosis. Use when you have a series of portfolio returns and need comprehensive risk analytics. Provide an array of periodic returns (e.g. daily). Returns: 22 metrics including Sharpe, Sortino, Calmar...3 params22 risk metrics: Sharpe, Sortino, Calmar, Omega, VaR, CVaR, drawdown, skew, kurtosis. Use when you have a series of portfolio returns and need comprehensive risk analytics. Provide an array of periodic returns (e.g. daily). Returns: 22 metrics including Sharpe, Sortino, Calmar...
returnsarrayrisk_free_ratenumberbenchmark_returnsarrayrisk_kellyKelly Criterion: discrete (win/loss) or continuous (returns series) mode. Use when determining optimal bet/position sizing using the Kelly Criterion. Provide win probability and win/loss ratio. Returns: full Kelly fraction, half-Kelly, quarter-Kelly, and expected growth rate.5 paramsKelly Criterion: discrete (win/loss) or continuous (returns series) mode. Use when determining optimal bet/position sizing using the Kelly Criterion. Provide win probability and win/loss ratio. Returns: full Kelly fraction, half-Kelly, quarter-Kelly, and expected growth rate.
modestringdiscrete · continuousdefault: discreteavg_winnumberreturnsarrayavg_lossnumberwin_ratenumbersimulate_montecarloGBM Monte Carlo with contributions/withdrawals. Up to 5000 paths. Use when running a Monte Carlo simulation for asset price paths. Provide starting price, drift, volatility, time horizon, and number of simulations. Returns: simulated terminal prices, percentile distribution (5...7 paramsGBM Monte Carlo with contributions/withdrawals. Up to 5000 paths. Use when running a Monte Carlo simulation for asset price paths. Provide starting price, drift, volatility, time horizon, and number of simulations. Returns: simulated terminal prices, percentile distribution (5...
yearsnumberannual_volnumbersimulationsintegerannual_returnnumbercontributionsnumberinitial_valuenumberwithdrawal_ratenumberindicators_technical13 technical indicators + composite signals. Use when you need multiple technical indicators computed from a price series. Provide an array of prices and optional volumes. Returns: SMA, EMA, RSI, MACD, Bollinger Bands, Stochastic %K, ATR, ROC, composite signals (overbought/ove...3 params13 technical indicators + composite signals. Use when you need multiple technical indicators computed from a price series. Provide an array of prices and optional volumes. Returns: SMA, EMA, RSI, MACD, Bollinger Bands, Stochastic %K, ATR, ROC, composite signals (overbought/ove...
periodintegerpricesarrayvolumesarrayrisk_correlationN x N correlation and covariance matrices from return series. Use when computing an N×N correlation matrix for multiple assets. Provide a 2D array of return series. Returns: Pearson correlation matrix, covariance matrix, and eigenvalues for PCA analysis.1 paramsN x N correlation and covariance matrices from return series. Use when computing an N×N correlation matrix for multiple assets. Provide a 2D array of return series. Returns: Pearson correlation matrix, covariance matrix, and eigenvalues for PCA analysis.
seriesobjectrisk_position-sizeFixed fractional position sizing with risk/reward targets. Use when calculating how many shares/contracts to buy given account size and risk tolerance. Provide account value, risk percentage, entry price, and stop-loss price. Returns: position size, dollar risk, and shares to...4 paramsFixed fractional position sizing with risk/reward targets. Use when calculating how many shares/contracts to buy given account size and risk tolerance. Provide account value, risk percentage, entry price, and stop-loss price. Returns: position size, dollar risk, and shares to...
stop_lossnumberentry_pricenumberaccount_sizenumberrisk_per_tradenumberrisk_drawdownDrawdown decomposition with underwater curve. Use when analyzing drawdown characteristics of a return series. Provide an array of returns. Returns: max drawdown, drawdown duration, recovery time, current drawdown, and all drawdown periods with start/end indices.1 paramsDrawdown decomposition with underwater curve. Use when analyzing drawdown characteristics of a return series. Provide an array of returns. Returns: max drawdown, drawdown duration, recovery time, current drawdown, and all drawdown periods with start/end indices.
equity_curvearrayindicators_regimeTrend + volatility regime + composite risk classification. Use when classifying market regime (trending vs ranging, high vs low volatility). Provide a price series. Returns: trend regime (bullish/bearish/neutral), volatility regime (high/low/normal), and regime change signals.3 paramsTrend + volatility regime + composite risk classification. Use when classifying market regime (trending vs ranging, high vs low volatility). Provide a price series. Returns: trend regime (bullish/bearish/neutral), volatility regime (high/low/normal), and regime change signals.
pricesarraysma_periodintegervol_windowintegerindicators_crossoverGolden/death cross detection with signal history. Use when detecting moving average crossovers (golden cross, death cross). Provide prices and two MA periods. Returns: current MA values, crossover signals, crossover history, and signal strength.3 paramsGolden/death cross detection with signal history. Use when detecting moving average crossovers (golden cross, death cross). Provide prices and two MA periods. Returns: current MA values, crossover signals, crossover history, and signal strength.
pricesarrayfast_periodintegerslow_periodintegerfixed-income_bondBond price, Macaulay/modified duration, convexity, DV01. Use when pricing a bond or computing yield, duration, and convexity. Provide face value, coupon rate, maturity, and yield or price. Returns: bond price (or yield), Macaulay duration, modified duration, convexity, and acc...5 paramsBond price, Macaulay/modified duration, convexity, DV01. Use when pricing a bond or computing yield, duration, and convexity. Provide face value, coupon rate, maturity, and yield or price. Returns: bond price (or yield), Macaulay duration, modified duration, convexity, and acc...
ytmnumberfacenumberyearsintegerfrequencyintegercoupon_ratenumberfixed-income_amortizationFull amortization schedule with extra payment savings analysis. Use when generating a loan amortization schedule. Provide principal, annual rate, and term in months. Returns: monthly payment, total interest, and a period-by-period schedule of principal, interest, and remaining...4 paramsFull amortization schedule with extra payment savings analysis. Use when generating a loan amortization schedule. Provide principal, annual rate, and term in months. Returns: monthly payment, total interest, and a period-by-period schedule of principal, interest, and remaining...
yearsintegerprincipalnumberannual_ratenumberextra_paymentnumberportfolio_optimizePortfolio optimization: max Sharpe, min vol, or risk parity weights. Use when optimizing portfolio weights for max Sharpe, min volatility, or risk parity. Provide expected returns and a covariance matrix. Returns: optimal weights, expected return, volatility, Sharpe ratio, and...3 paramsPortfolio optimization: max Sharpe, min vol, or risk parity weights. Use when optimizing portfolio weights for max Sharpe, min volatility, or risk parity. Provide expected returns and a covariance matrix. Returns: optimal weights, expected return, volatility, Sharpe ratio, and...
modestringmax_sharpe · min_vol · risk_paritydefault: max_sharpereturnsobjectrisk_free_ratenumberderivatives_binomial-treeCRR binomial tree pricing for American and European options. Use when pricing American or European options via the CRR binomial lattice. Provide spot, strike, time, rate, volatility, steps, and exercise style. Returns: option price, early exercise boundary, and tree node values.9 paramsCRR binomial tree pricing for American and European options. Use when pricing American or European options via the CRR binomial lattice. Provide spot, strike, time, rate, volatility, steps, and exercise style. Returns: option price, early exercise boundary, and tree node values.
KnumberSnumberTnumberqnumberrnumbertypestringcall · putdefault: callsigmanumberstepsintegerexercisestringamerican · europeandefault: europeanderivatives_barrier-optionBarrier option pricing using analytical formulas. Use when pricing knock-in or knock-out barrier options. Provide spot, strike, barrier level, barrier type, and standard option parameters. Returns: barrier option price, vanilla equivalent, and barrier adjustment factors.10 paramsBarrier option pricing using analytical formulas. Use when pricing knock-in or knock-out barrier options. Provide spot, strike, barrier level, barrier type, and standard option parameters. Returns: barrier option price, vanilla equivalent, and barrier adjustment factors.
HnumberKnumberSnumberTnumberqnumberrnumbertypestringcall · putdefault: callsigmanumberrebatenumberbarrier_typestringup-in · up-out · down-in · down-outdefault: down-outderivatives_asian-optionAsian option pricing: geometric closed-form or arithmetic approximation. Use when pricing Asian (average-price) options. Provide spot, strike, time, rate, volatility, and averaging type. Returns: option price via geometric closed-form or Turnbull-Wakeman approximation.9 paramsAsian option pricing: geometric closed-form or arithmetic approximation. Use when pricing Asian (average-price) options. Provide spot, strike, time, rate, volatility, and averaging type. Returns: option price via geometric closed-form or Turnbull-Wakeman approximation.
KnumberSnumberTnumberqnumberrnumbertypestringcall · putdefault: callsigmanumberaveragingstringgeometric · arithmeticdefault: geometricobservationsintegerderivatives_lookback-optionLookback option pricing (floating/fixed strike). Use when pricing lookback options (floating or fixed strike). Provide spot, strike, min/max price, time, rate, and volatility. Returns: lookback option price via Goldman-Sosin-Gatto formulas.10 paramsLookback option pricing (floating/fixed strike). Use when pricing lookback options (floating or fixed strike). Provide spot, strike, min/max price, time, rate, and volatility. Returns: lookback option price via Goldman-Sosin-Gatto formulas.
KnumberSnumberTnumberqnumberrnumbertypestringcall · putdefault: callS_maxnumberS_minnumbersigmanumberlookback_typestringfloating · fixeddefault: floatingderivatives_option-chain-analysisOption chain analytics: skew, max pain, put-call ratios. Use when analyzing an options chain for skew, max pain, and put-call ratios. Provide arrays of strikes, calls, puts, and open interest. Returns: max pain strike, put-call ratio, skew metrics, and implied volatility smile...4 paramsOption chain analytics: skew, max pain, put-call ratios. Use when analyzing an options chain for skew, max pain, and put-call ratios. Provide arrays of strikes, calls, puts, and open interest. Returns: max pain strike, put-call ratio, skew metrics, and implied volatility smile...
Tnumberrnumberspotnumberchainarrayderivatives_put-call-parityPut-call parity check and arbitrage detection. Use when checking put-call parity or detecting arbitrage opportunities. Provide call price, put price, spot, strike, rate, and time. Returns: parity check, theoretical values, and any arbitrage amount.7 paramsPut-call parity check and arbitrage detection. Use when checking put-call parity or detecting arbitrage opportunities. Provide call price, put price, spot, strike, rate, and time. Returns: parity check, theoretical values, and any arbitrage amount.
KnumberSnumberTnumberqnumberrnumberput_pricenumbercall_pricenumberderivatives_volatility-surfaceBuild implied volatility surface from market data. Use when constructing an implied volatility surface from market data. Provide arrays of strikes, expiries, and IV values. Returns: interpolated IV surface, skew metrics, term structure, and smile parameters.3 paramsBuild implied volatility surface from market data. Use when constructing an implied volatility surface from market data. Provide arrays of strikes, expiries, and IV values. Returns: interpolated IV surface, skew metrics, term structure, and smile parameters.
spotnumbermarket_dataarrayinterpolationstringlinear · cubicdefault: linearstats_linear-regressionOLS linear regression with R-squared, t-stats, and standard errors. Use when fitting a linear regression (OLS). Provide x and y arrays. Returns: slope, intercept, R², adjusted R², t-statistics, p-values, standard errors, confidence intervals, and residuals.3 paramsOLS linear regression with R-squared, t-stats, and standard errors. Use when fitting a linear regression (OLS). Provide x and y arrays. Returns: slope, intercept, R², adjusted R², t-statistics, p-values, standard errors, confidence intervals, and residuals.
xvalueyarrayconfidence_levelnumberstats_polynomial-regressionPolynomial regression of degree n with goodness-of-fit metrics. Use when fitting a polynomial of degree n to data. Provide x, y arrays, and degree. Returns: coefficients, R², fitted values, and residuals.3 paramsPolynomial regression of degree n with goodness-of-fit metrics. Use when fitting a polynomial of degree n to data. Provide x, y arrays, and degree. Returns: coefficients, R², fitted values, and residuals.
xarrayyarraydegreeintegerstats_cointegrationEngle-Granger cointegration test with hedge ratio and half-life. Use when testing if two time series are cointegrated (mean-reverting pair). Provide two price series. Returns: Engle-Granger test statistic, p-value, critical values, hedge ratio, and spread series.3 paramsEngle-Granger cointegration test with hedge ratio and half-life. Use when testing if two time series are cointegrated (mean-reverting pair). Provide two price series. Returns: Engle-Granger test statistic, p-value, critical values, hedge ratio, and spread series.
series_xarrayseries_yarraysignificancestring0.01 · 0.05 · 0.10default: 0.05stats_hurst-exponentHurst exponent via rescaled range (R/S) analysis. Use when determining if a time series is mean-reverting (H<0.5), random walk (H=0.5), or trending (H>0.5). Provide a price or return series. Returns: Hurst exponent via R/S analysis, classification, and confidence.3 paramsHurst exponent via rescaled range (R/S) analysis. Use when determining if a time series is mean-reverting (H<0.5), random walk (H=0.5), or trending (H>0.5). Provide a price or return series. Returns: Hurst exponent via R/S analysis, classification, and confidence.
seriesarraymax_windowintegermin_windowintegerstats_garch-forecastGARCH(1,1) volatility forecast using maximum likelihood estimation. Use when forecasting future volatility using a GARCH(1,1) model. Provide a return series. Returns: GARCH parameters (omega, alpha, beta), current conditional volatility, and multi-step ahead volatility forecasts.3 paramsGARCH(1,1) volatility forecast using maximum likelihood estimation. Use when forecasting future volatility using a GARCH(1,1) model. Provide a return series. Returns: GARCH parameters (omega, alpha, beta), current conditional volatility, and multi-step ahead volatility forecasts.
returnsarraymean_modelstringzero · constantdefault: zeroforecast_periodsintegerstats_zscoreRolling and static z-scores with extreme value detection. Use when computing z-scores for statistical analysis or detecting extremes. Provide a value or array and reference statistics. Returns: z-scores, mean, standard deviation, and flags for values beyond 2σ or 3σ.3 paramsRolling and static z-scores with extreme value detection. Use when computing z-scores for statistical analysis or detecting extremes. Provide a value or array and reference statistics. Returns: z-scores, mean, standard deviation, and flags for values beyond 2σ or 3σ.
seriesarraywindowintegerthresholdnumberstats_distribution-fitFit data to common distributions and rank by goodness of fit. Use when fitting data to standard distributions (normal, lognormal, uniform). Provide a data array. Returns: best-fit distribution, parameters (mean, std, etc.), goodness-of-fit statistics (KS test, chi-squared), an...1 paramsFit data to common distributions and rank by goodness of fit. Use when fitting data to standard distributions (normal, lognormal, uniform). Provide a data array. Returns: best-fit distribution, parameters (mean, std, etc.), goodness-of-fit statistics (KS test, chi-squared), an...
dataarraystats_correlation-matrixCorrelation and covariance matrices with optional eigenvalue decomposition. Use when computing a correlation matrix with eigenvalue decomposition for multiple assets. Provide a 2D array of return series. Returns: Pearson and Spearman correlation matrices, eigenvalues, eigenvec...3 paramsCorrelation and covariance matrices with optional eigenvalue decomposition. Use when computing a correlation matrix with eigenvalue decomposition for multiple assets. Provide a 2D array of return series. Returns: Pearson and Spearman correlation matrices, eigenvalues, eigenvec...
methodstringpearson · spearmandefault: pearsonseriesobjectinclude_eigenvaluesbooleancrypto_impermanent-lossImpermanent loss calculator for Uniswap v2/v3 AMM positions. Use when calculating impermanent loss for a liquidity provider position. Provide initial prices and current prices for two tokens. Returns: impermanent loss percentage, hold value vs LP value, and breakeven price rat...6 paramsImpermanent loss calculator for Uniswap v2/v3 AMM positions. Use when calculating impermanent loss for a liquidity provider position. Provide initial prices and current prices for two tokens. Returns: impermanent loss percentage, hold value vs LP value, and breakeven price rat...
amm_typestringv2 · v3default: v2lower_ticknumberupper_ticknumberinitial_investmentnumbercurrent_price_rationumberinitial_price_rationumbercrypto_apy-apr-convertConvert between APY and APR with configurable compounding frequency. Use when converting between APY and APR with different compounding frequencies. Provide rate and compounding periods. Returns: equivalent APY, APR, daily/weekly/monthly rates, and effective annual rate.3 paramsConvert between APY and APR with configurable compounding frequency. Use when converting between APY and APR with different compounding frequencies. Provide rate and compounding periods. Returns: equivalent APY, APR, daily/weekly/monthly rates, and effective annual rate.
ratenumberfrom_typestringapy · aprdefault: aprcompoundingstringdaily · weekly · monthly · quarterly · continuousdefault: dailycrypto_liquidation-priceLiquidation price calculator for leveraged positions. Use when computing the liquidation price for a leveraged position. Provide entry price, leverage, position side, and maintenance margin. Returns: liquidation price, distance to liquidation, and margin call price.7 paramsLiquidation price calculator for leveraged positions. Use when computing the liquidation price for a leveraged position. Provide entry price, leverage, position side, and maintenance margin. Returns: liquidation price, distance to liquidation, and margin call price.
leveragenumberdirectionstringlong · shortcollateralnumberentry_pricenumberposition_sizenumberfunding_accumulatednumbermaintenance_margin_ratenumbercrypto_funding-rateFunding rate analysis with annualization and regime detection. Use when analyzing perpetual futures funding rates. Provide funding rate, position size, and holding period. Returns: annualized funding cost, projected payments, and carry trade opportunity estimate.3 paramsFunding rate analysis with annualization and regime detection. Use when analyzing perpetual futures funding rates. Provide funding rate, position size, and holding period. Returns: annualized funding cost, projected payments, and carry trade opportunity estimate.
funding_ratesarrayposition_sizenumberpayment_interval_hoursintegercrypto_dex-slippageDEX slippage estimator for constant-product AMM (x*y=k). Use when estimating slippage on a DEX trade using constant-product AMM math. Provide trade size and pool reserves. Returns: effective price, price impact percentage, and output amount after slippage.5 paramsDEX slippage estimator for constant-product AMM (x*y=k). Use when estimating slippage on a DEX trade using constant-product AMM math. Provide trade size and pool reserves. Returns: effective price, price impact percentage, and output amount after slippage.
fee_bpsintegerreserve_anumberreserve_bnumbertrade_amountnumbertrade_directionstringa_to_b · b_to_adefault: a_to_bcrypto_vesting-scheduleToken vesting schedule with cliff, linear/graded unlock, and TGE. Use when computing a token vesting schedule with cliff and linear vesting. Provide total tokens, cliff period, vesting duration, and TGE unlock percentage. Returns: period-by-period unlock schedule with cumulati...6 paramsToken vesting schedule with cliff, linear/graded unlock, and TGE. Use when computing a token vesting schedule with cliff and linear vesting. Provide total tokens, cliff period, vesting duration, and TGE unlock percentage. Returns: period-by-period unlock schedule with cumulati...
tge_pctnumberstart_datestringcliff_monthsintegertotal_tokensnumbervesting_typestringlinear · monthly_cliff · quarterlydefault: linearvesting_monthsintegercrypto_rebalance-thresholdPortfolio rebalance analyzer: drift detection and trade computation. Use when checking if a crypto portfolio needs rebalancing. Provide target weights and current weights. Returns: whether rebalancing is needed, drift per asset, and trade list to restore targets.3 paramsPortfolio rebalance analyzer: drift detection and trade computation. Use when checking if a crypto portfolio needs rebalancing. Provide target weights and current weights. Returns: whether rebalancing is needed, drift per asset, and trade list to restore targets.
holdingsarraymin_trade_usdnumberthreshold_pctnumberfx_interest-rate-parityInterest rate parity calculator with arbitrage detection. Use when computing covered/uncovered interest rate parity for FX pairs. Provide domestic rate, foreign rate, and spot rate. Returns: theoretical forward rate, parity-implied rate, and arbitrage opportunity if any.6 paramsInterest rate parity calculator with arbitrage detection. Use when computing covered/uncovered interest rate parity for FX pairs. Provide domestic rate, foreign rate, and spot rate. Returns: theoretical forward rate, parity-implied rate, and arbitrage opportunity if any.
spot_ratenumbertime_yearsnumberparity_typestringcovered · uncovereddefault: coveredforeign_ratenumberdomestic_ratenumberactual_forwardnumberfx_purchasing-power-parityPurchasing power parity fair value estimation. Use when estimating fair value of an FX rate using PPP. Provide domestic and foreign price indices and base-period exchange rate. Returns: PPP-implied fair value rate and over/undervaluation percentage.4 paramsPurchasing power parity fair value estimation. Use when estimating fair value of an FX rate using PPP. Provide domestic and foreign price indices and base-period exchange rate. Returns: PPP-implied fair value rate and over/undervaluation percentage.
time_yearsnumberbase_spot_ratenumberforeign_inflationnumberdomestic_inflationnumberfx_forward-rateBootstrap forward rates from a spot yield curve. Use when bootstrapping forward rates from a yield curve. Provide spot rates at various tenors. Returns: implied forward rates between each tenor pair.4 paramsBootstrap forward rates from a spot yield curve. Use when bootstrapping forward rates from a yield curve. Provide spot rates at various tenors. Returns: implied forward rates between each tenor pair.
compoundingstringcontinuous · annual · semidefault: continuousforward_endnumberyield_curvearrayforward_startnumberfx_carry-tradeCurrency carry trade P&L decomposition. Use when analyzing carry trade P&L decomposition. Provide high-yield and low-yield rates, entry spot rate, and exit spot rate. Returns: carry return, spot return, total return, and annualized P&L breakdown.7 paramsCurrency carry trade P&L decomposition. Use when analyzing carry trade P&L decomposition. Provide high-yield and low-yield rates, entry spot rate, and exit spot rate. Returns: carry return, spot return, total return, and annualized P&L breakdown.
leveragenumbernotionalnumberspot_exitnumberspot_entrynumberholding_period_daysintegerborrow_currency_ratenumberinvest_currency_ratenumbermacro_inflation-adjustedConvert nominal returns to real returns using Fisher equation. Use when converting nominal returns to real returns using the Fisher equation. Provide nominal rate and inflation rate. Returns: real return, purchasing power change, and cumulative real growth over a period.4 paramsConvert nominal returns to real returns using Fisher equation. Use when converting nominal returns to real returns using the Fisher equation. Provide nominal rate and inflation rate. Returns: real return, purchasing power change, and cumulative real growth over a period.
periodsintegerinitial_valuenumberinflation_rate_pctnumbernominal_return_pctnumbermacro_taylor-ruleTaylor Rule interest rate prescription. Use when estimating the appropriate policy interest rate via the Taylor Rule. Provide inflation, target inflation, output gap, and neutral rate. Returns: Taylor Rule implied rate and deviation from current policy rate.7 paramsTaylor Rule interest rate prescription. Use when estimating the appropriate policy interest rate via the Taylor Rule. Provide inflation, target inflation, output gap, and neutral rate. Returns: Taylor Rule implied rate and deviation from current policy rate.
output_weightnumberoutput_gap_pctnumberinflation_weightnumbertarget_inflationnumbercurrent_inflationnumberneutral_real_ratenumbercurrent_policy_ratenumbermacro_real-yieldReal yield and breakeven inflation from nominal yields. Use when computing real yield and breakeven inflation. Provide nominal yield and inflation expectation (or TIPS yield). Returns: real yield, breakeven inflation rate, and inflation risk premium estimate.4 paramsReal yield and breakeven inflation from nominal yields. Use when computing real yield and breakeven inflation. Provide nominal yield and inflation expectation (or TIPS yield). Returns: real yield, breakeven inflation rate, and inflation risk premium estimate.
tips_yieldnumbertenor_yearsnumbernominal_yieldnumberinflation_expectationnumberrisk_var-parametricParametric Value-at-Risk and Conditional VaR. Use when computing Value-at-Risk and Conditional VaR using parametric methods. Provide returns and confidence level. Returns: VaR, CVaR, and distribution parameters under normal or Student-t assumptions.4 paramsParametric Value-at-Risk and Conditional VaR. Use when computing Value-at-Risk and Conditional VaR using parametric methods. Provide returns and confidence level. Returns: VaR, CVaR, and distribution parameters under normal or Student-t assumptions.
returnsarrayportfolio_valuenumberconfidence_levelsarrayholding_period_daysintegerrisk_stress-testPortfolio stress test across multiple scenarios. Use when stress-testing a portfolio against multiple scenarios. Provide portfolio weights, asset returns, and scenario definitions (e.g. market crash, rate hike). Returns: portfolio P&L under each scenario with component-level b...2 paramsPortfolio stress test across multiple scenarios. Use when stress-testing a portfolio against multiple scenarios. Provide portfolio weights, asset returns, and scenario definitions (e.g. market crash, rate hike). Returns: portfolio P&L under each scenario with component-level b...
positionsarrayscenariosarrayoptions_payoff-diagramMulti-leg options payoff diagram data generation. Use when you need payoff/P&L data points for plotting an options strategy. Provide legs with strike, premium, quantity, and type. Returns: array of price/payoff pairs for charting, plus key metrics (breakevens, max profit/loss).4 paramsMulti-leg options payoff diagram data generation. Use when you need payoff/P&L data points for plotting an options strategy. Provide legs with strike, premium, quantity, and type. Returns: array of price/payoff pairs for charting, plus key metrics (breakevens, max profit/loss).
legsarrayspotnumberpointsintegerprice_range_pctnumberfi_yield-curve-interpolateYield curve interpolation: linear, cubic spline, or Nelson-Siegel. Use when interpolating a yield curve at arbitrary maturities. Provide observed maturities and yields, plus query maturities. Returns: interpolated yields via linear, cubic spline, or Nelson-Siegel models.4 paramsYield curve interpolation: linear, cubic spline, or Nelson-Siegel. Use when interpolating a yield curve at arbitrary maturities. Provide observed maturities and yields, plus query maturities. Returns: interpolated yields via linear, cubic spline, or Nelson-Siegel models.
ratesarraymethodstringlinear · cubic · nelson_siegeldefault: lineartenorsarraytarget_tenorsarrayfi_credit-spreadCredit spread and Z-spread from bond price vs risk-free curve. Use when computing Z-spread and implied default probability from a corporate bond price. Provide bond price, coupon, maturity, and risk-free curve. Returns: Z-spread, option-adjusted spread, implied default probabi...6 paramsCredit spread and Z-spread from bond price vs risk-free curve. Use when computing Z-spread and implied default probability from a corporate bond price. Provide bond price, coupon, maturity, and risk-free curve. Returns: Z-spread, option-adjusted spread, implied default probabi...
bond_pricenumberface_valuenumbercoupon_ratenumbermaturity_yearsintegerrisk_free_curvearraypayment_frequencyintegerindicators_bollinger-bandsBollinger Bands with %B, bandwidth, and squeeze detection. Use when computing Bollinger Bands with squeeze detection. Provide prices and optional period/multiplier. Returns: upper/mid/lower bands, %B, bandwidth, squeeze flag, and current position relative to bands.3 paramsBollinger Bands with %B, bandwidth, and squeeze detection. Use when computing Bollinger Bands with squeeze detection. Provide prices and optional period/multiplier. Returns: upper/mid/lower bands, %B, bandwidth, squeeze flag, and current position relative to bands.
pricesarraywindowintegernum_stdnumberindicators_fibonacci-retracementFibonacci retracement and extension levels. Use when computing Fibonacci retracement and extension levels. Provide a high price and low price. Returns: retracement levels (23.6%, 38.2%, 50%, 61.8%, 78.6%) and extension levels (127.2%, 161.8%, 261.8%).3 paramsFibonacci retracement and extension levels. Use when computing Fibonacci retracement and extension levels. Provide a high price and low price. Returns: retracement levels (23.6%, 38.2%, 50%, 61.8%, 78.6%) and extension levels (127.2%, 161.8%, 261.8%).
directionstringup · downdefault: upswing_lownumberswing_highnumberindicators_atrAverage True Range with normalized ATR and volatility regime. Use when measuring volatility via Average True Range. Provide an array of prices. Returns: current ATR, normalized ATR (as % of price), ATR history, and volatility regime classification.4 paramsAverage True Range with normalized ATR and volatility regime. Use when measuring volatility via Average True Range. Provide an array of prices. Returns: current ATR, normalized ATR (as % of price), ATR history, and volatility regime classification.
lowarrayhigharrayclosearrayperiodintegerportfolio_risk-parity-weightsEqual risk contribution portfolio weights. Use when computing equal risk contribution (risk parity) portfolio weights. Provide a covariance matrix. Returns: risk parity weights and each asset's contribution to total portfolio risk.4 paramsEqual risk contribution portfolio weights. Use when computing equal risk contribution (risk parity) portfolio weights. Provide a covariance matrix. Returns: risk parity weights and each asset's contribution to total portfolio risk.
asset_namesarrayrisk_budgetarrayvolatilitiesarraycorrelation_matrixarrayrisk_transaction-costTransaction cost model: commission + spread + market impact estimation. Use when estimating total transaction costs including commissions, spread, and market impact. Provide trade size, price, spread, and commission structure. Returns: total cost, cost breakdown, and cost as p...9 paramsTransaction cost model: commission + spread + market impact estimation. Use when estimating total transaction costs including commissions, spread, and market impact. Provide trade size, price, spread, and commission structure. Returns: total cost, cost breakdown, and cost as p...
advnumbersharesintegerspread_bpsnumbertrade_valuenumbercommission_pctnumbercommission_flatnumbermarket_impact_bpsnumberparticipation_ratenumbercommission_per_sharenumberstats_probabilistic-sharpeProbabilistic Sharpe Ratio — is the observed Sharpe statistically significant? Based on Bailey & Lopez de Prado (2012). Use when testing whether a Sharpe ratio is statistically significant. Provide returns and a benchmark Sharpe. Returns: probabilistic Sharpe ratio (probabilit...4 paramsProbabilistic Sharpe Ratio — is the observed Sharpe statistically significant? Based on Bailey & Lopez de Prado (2012). Use when testing whether a Sharpe ratio is statistically significant. Provide returns and a benchmark Sharpe. Returns: probabilistic Sharpe ratio (probabilit...
returnsarrayrisk_free_ratenumberbenchmark_sharpenumberannualization_factorintegertvm_present-valuePresent value of a future lump sum and/or annuity stream. Use when computing the present value of a future cash flow. Provide future value, discount rate, and number of periods. Returns: present value and discount factor.5 paramsPresent value of a future lump sum and/or annuity stream. Use when computing the present value of a future cash flow. Provide future value, discount rate, and number of periods. Returns: present value and discount factor.
ratenumberpaymentnumberperiodsintegerfuture_valuenumberpayment_timingstringend · begindefault: endtvm_future-valueFuture value of a present lump sum and/or annuity stream. Use when computing the future value of a present sum. Provide present value, interest rate, and number of periods. Returns: future value, total interest earned, and growth factor.5 paramsFuture value of a present lump sum and/or annuity stream. Use when computing the future value of a present sum. Provide present value, interest rate, and number of periods. Returns: future value, total interest earned, and growth factor.
ratenumberpaymentnumberperiodsintegerpresent_valuenumberpayment_timingstringend · begindefault: endtvm_irrInternal rate of return via Newton-Raphson. First cash flow is typically negative (investment). Use when computing the internal rate of return for a cash flow series. Provide an array of cash flows. Returns: IRR (decimal), annualized IRR, and NPV at the computed IRR (should be...1 paramsInternal rate of return via Newton-Raphson. First cash flow is typically negative (investment). Use when computing the internal rate of return for a cash flow series. Provide an array of cash flows. Returns: IRR (decimal), annualized IRR, and NPV at the computed IRR (should be...
cash_flowsarraytvm_npvNet present value of a cash flow series at a given discount rate. Use when computing net present value of a series of cash flows. Provide discount rate and an array of cash flows (first is typically negative for initial investment). Returns: NPV, profitability index, and disco...2 paramsNet present value of a cash flow series at a given discount rate. Use when computing net present value of a series of cash flows. Provide discount rate and an array of cash flows (first is typically negative for initial investment). Returns: NPV, profitability index, and disco...
cash_flowsarraydiscount_ratenumberstats_realized-volatilityRealized volatility: close-to-close, Parkinson, Garman-Klass, Yang-Zhang from OHLC. Use when computing historical/realized volatility from a return series. Provide returns and optional annualization factor. Returns: realized volatility (close-to-close), annualized vol, and rol...5 paramsRealized volatility: close-to-close, Parkinson, Garman-Klass, Yang-Zhang from OHLC. Use when computing historical/realized volatility from a return series. Provide returns and optional annualization factor. Returns: realized volatility (close-to-close), annualized vol, and rol...
lowarrayhigharrayopenarrayclosearrayannualization_factorintegerstats_normal-distributionNormal distribution: CDF, PDF, quantile, and confidence intervals. Use when computing normal distribution CDF, PDF, quantiles, or confidence intervals. Provide x (for CDF/PDF), p (for quantile), or confidence_level (for interval), with optional mean and std. Returns: CDF proba...5 paramsNormal distribution: CDF, PDF, quantile, and confidence intervals. Use when computing normal distribution CDF, PDF, quantiles, or confidence intervals. Provide x (for CDF/PDF), p (for quantile), or confidence_level (for interval), with optional mean and std. Returns: CDF proba...
pnumberxnumberstdnumbermeannumberconfidence_levelnumberstats_sharpe-ratioStandalone Sharpe ratio from a returns series. Use when computing the Sharpe ratio from a return series. Provide returns and risk-free rate. Returns: annualized Sharpe ratio, annualized return, annualized volatility, and risk-adjusted metrics.3 paramsStandalone Sharpe ratio from a returns series. Use when computing the Sharpe ratio from a return series. Provide returns and risk-free rate. Returns: annualized Sharpe ratio, annualized return, annualized volatility, and risk-adjusted metrics.
returnsarrayrisk_free_ratenumberannualization_factorintegertvm_cagrCompound Annual Growth Rate with optional forward projections. Use when computing compound annual growth rate. Provide beginning value, ending value, and number of years. Returns: CAGR (decimal), total return, and equivalent annual return.4 paramsCompound Annual Growth Rate with optional forward projections. Use when computing compound annual growth rate. Provide beginning value, ending value, and number of years. Returns: CAGR (decimal), total return, and equivalent annual return.
yearsnumberend_valuenumberstart_valuenumberinclude_projectionsbooleanoptions_spread-scanScan and rank vertical spreads by risk/reward. Replaces 8-16 individual options/price calls. Use when you need to evaluate and rank multiple vertical spread candidates at once. Instead of calling options/price 8-16 times, this scans all strike combinations in one call. Provide...8 paramsScan and rank vertical spreads by risk/reward. Replaces 8-16 individual options/price calls. Use when you need to evaluate and rank multiple vertical spread candidates at once. Instead of calling options/price 8-16 times, this scans all strike combinations in one call. Provide...
qnumberrnumbervolnumberspotnumberstrategystringbull_call_spread · bear_put_spread · bull_put_spread · bear_call_spreaddefault: bull_call_spreaddte_yearsnumbernum_candidatesintegerstrike_range_pctnumberindicators_regime-classifyCombined regime classification: trend, vol, RSI, direction, strategy suggestion. Replaces technical + regime + realized-vol. Use when you need a complete market regime assessment combining trend, volatility, RSI, and directional signals. Instead of calling technical + regime +...7 paramsCombined regime classification: trend, vol, RSI, direction, strategy suggestion. Replaces technical + regime + realized-vol. Use when you need a complete market regime assessment combining trend, volatility, RSI, and directional signals. Instead of calling technical + regime +...
lowsarrayhighsarrayopensarrayclosesarrayrsi_periodintegersma_periodintegervol_windowintegerrisk_full-analysisComplete risk tearsheet: Sharpe, Sortino, VaR, Kelly, drawdown, Hurst, CAGR. Replaces 7 individual calls. Use when you need a complete risk tearsheet for a return series. Instead of calling 7 individual risk/stats endpoints, this returns Sharpe, Sortino, Calmar, VaR, CVaR, Kel...4 paramsComplete risk tearsheet: Sharpe, Sortino, VaR, Kelly, drawdown, Hurst, CAGR. Replaces 7 individual calls. Use when you need a complete risk tearsheet for a return series. Instead of calling 7 individual risk/stats endpoints, this returns Sharpe, Sortino, Calmar, VaR, CVaR, Kel...
returnsarrayequity_curvearrayrisk_free_ratenumberportfolio_valuenumbertrade_evaluateComplete trade evaluation: sizing, risk/reward, Kelly, costs, regime, signals. Replaces 5 individual calls. Use when evaluating whether to take a specific trade. Combines position sizing, risk/reward analysis, transaction cost estimation, regime detection, and technical signal...10 paramsComplete trade evaluation: sizing, risk/reward, Kelly, costs, regime, signals. Replaces 5 individual calls. Use when evaluating whether to take a specific trade. Combines position sizing, risk/reward analysis, transaction cost estimation, regime detection, and technical signal...
advnumberpricesarrayreturnsarraystop_lossnumberspread_bpsnumberentry_pricenumbertake_profitnumberaccount_sizenumberrisk_per_tradenumbercommission_per_sharenumberportfolio_healthFull portfolio health check: risk metrics, correlation, drawdown, rebalance, stress test. Replaces 6 individual calls. Use when you need a complete portfolio health check. Combines risk metrics, correlation matrix, drawdown analysis, rebalance detection, and stress testing (20...4 paramsFull portfolio health check: risk metrics, correlation, drawdown, rebalance, stress test. Replaces 6 individual calls. Use when you need a complete portfolio health check. Combines risk metrics, correlation matrix, drawdown analysis, rebalance detection, and stress testing (20...
holdingsarraymin_trade_usdnumberrisk_free_ratenumberrebalance_threshold_pctnumberpairs_signalComplete pairs trading signal: cointegration, Hurst, z-score, half-life, hedge ratio. Replaces 4 individual calls. Use when analyzing a pairs trading opportunity. Combines cointegration testing, Hurst exponent, z-score analysis, half-life estimation, and trade signal generatio...5 paramsComplete pairs trading signal: cointegration, Hurst, z-score, half-life, hedge ratio. Replaces 4 individual calls. Use when analyzing a pairs trading opportunity. Combines cointegration testing, Hurst exponent, z-score analysis, half-life estimation, and trade signal generatio...
name_astringname_bstringseries_aarrayseries_barraysignificancestring0.01 · 0.05 · 0.10default: 0.05batchExecute multiple computations in a single request. Max 100 per batch. Use when you need to execute multiple computations efficiently. Bundle up to 100 individual endpoint calls into a single request for ~6x throughput improvement. Provide an array of {endpoint, params} objects...1 paramsExecute multiple computations in a single request. Max 100 per batch. Use when you need to execute multiple computations efficiently. Bundle up to 100 individual endpoint calls into a single request for ~6x throughput improvement. Provide an array of {endpoint, params} objects...
requestsarraybacktest_strategyDeterministic backtest of SMA crossover, RSI mean reversion, momentum, or Bollinger breakout. Replaces 10+ individual calls. Use when backtesting a trading strategy on price history. Strategies: sma_crossover (params: fast, slow), rsi_mean_reversion (params: period, oversold,...6 paramsDeterministic backtest of SMA crossover, RSI mean reversion, momentum, or Bollinger breakout. Replaces 10+ individual calls. Use when backtesting a trading strategy on price history. Strategies: sma_crossover (params: fast, slow), rsi_mean_reversion (params: period, oversold,...
paramsobjectpricesarraystrategystringslippage_bpsnumbercommission_bpsnumberinitial_capitalnumberportfolio_rebalance-planGenerate trade list to rebalance from current holdings to target weights with transaction cost estimate. Use when generating the exact trades needed to rebalance a portfolio from current holdings to target weights. Provide current_holdings (asset -> USD value), target_weights...4 paramsGenerate trade list to rebalance from current holdings to target weights with transaction cost estimate. Use when generating the exact trades needed to rebalance a portfolio from current holdings to target weights. Provide current_holdings (asset -> USD value), target_weights...
min_trade_usdnumbertarget_weightsobjectcurrent_holdingsobjecttransaction_cost_bpsnumberoptions_strategy-optimizerRank top options strategies given market outlook + volatility view. Returns P&L, breakevens, max profit/loss for each. Use when agents need to pick the best options strategy given a market outlook. Provide spot price, outlook (bullish/bearish/neutral), vol_view (rising/falling...8 paramsRank top options strategies given market outlook + volatility view. Returns P&L, breakevens, max profit/loss for each. Use when agents need to pick the best options strategy given a market outlook. Provide spot price, outlook (bullish/bearish/neutral), vol_view (rising/falling...
SnumberTnumberqnumberrnumbersigmanumbercapitalnumberoutlookstringvol_viewstringhedging_recommendRank cheapest effective hedges for a given position. Compares protective puts, collars, inverse hedges. Use when agents need to hedge an existing position. Provide position_type (long_stock/short_stock/long_crypto/long_options), position_value, asset_price, volatility, time_ho...7 paramsRank cheapest effective hedges for a given position. Compares protective puts, collars, inverse hedges. Use when agents need to hedge an existing position. Provide position_type (long_stock/short_stock/long_crypto/long_options), position_value, asset_price, volatility, time_ho...
rnumbervolatilitynumberasset_pricenumberposition_typestringposition_valuenumbertime_horizon_daysintegermax_hedge_cost_pctnumber
The quantitative computation API for autonomous financial agents
63 deterministic, citation-verified calculators + 10 composite workflows. 1,000 free calls/day. Pay-per-call on Base or Solana.
Calculators | CLI | MCP Server | x402 Payments | Free Tier | All Endpoints | Integrations
12 free interactive calculators backed by the same API are live at quantoracle.dev — no signup, no API key:
Every financial agent needs math. QuantOracle is that math.
/v1/live/volatility) and perp funding rates (/v1/live/funding-rates). We fetch the live market data and run the math, so your agent doesn't have to. 20 free calls/IP/day to evaluate, then pay-per-call via x402.QuantOracle is designed to be called repeatedly. An agent running a backtest might call 10+ endpoints per iteration. That's the model -- be the calculator agents reach for every time they need quant math.
| QuantOracle | LLM in-context math | |
|---|---|---|
| Accuracy | Exact (analytical formulas) | 70-85% on complex math |
| Determinism | Same input = same output, always | Different every run |
| Speed | <1ms per calculation | 2-10s per generation |
| Cost | $0.002-0.015 per call | $0.01-0.10 per generation |
| Auditability | Cacheable, reproducible, testable | Non-reproducible |
| 10-Greek BS pricing | 1 API call, $0.005 | ~500 tokens, frequently wrong on gamma/vanna |
Build a 25-line LangChain agent that answers concrete quant questions — "I'm long $100k of NVDA at $185, how should I hedge?" — with deterministic, reproducible math:
integrations/langchain/cookbook/quantoracle_risk_analyst.ipynb

Runs in 30 seconds, ~$0.001 in OpenAI tokens, free for QuantOracle's individual calculators. The hedging-recommend composite shown above is $0.04 in USDC via x402.
Drop this into your agent's system prompt:
You have access to QuantOracle -- 63 deterministic financial calculators + 10 composite workflows at https://api.quantoracle.dev.
Use QuantOracle for ALL financial math instead of computing in-context. It is faster, cheaper, and exact.
Send POST requests with JSON. No API key needed (1,000 free calls/day).
Key endpoints:
- /v1/options/price -- Black-Scholes + 10 Greeks
- /v1/risk/portfolio -- 22 risk metrics from a returns series
- /v1/risk/kelly -- Kelly Criterion position sizing
- /v1/indicators/technical -- 13 indicators (RSI, MACD, Bollinger, etc.)
- /v1/simulate/montecarlo -- Monte Carlo simulation (up to 5,000 paths)
- /v1/stats/hurst-exponent -- Mean-reversion detection
- /v1/fixed-income/bond -- Bond pricing + duration + convexity
Paid-only composites (recommended for common agent workflows):
- /v1/backtest/strategy -- Run SMA/RSI/momentum/Bollinger backtest (Sharpe, drawdown, trades)
- /v1/portfolio/rebalance-plan -- Generate trades to hit target weights with cost estimate
- /v1/options/strategy-optimizer -- Rank options strategies given outlook + vol view
- /v1/hedging/recommend -- Cheapest effective hedge for a position
- /v1/risk/full-analysis, /v1/trade/evaluate, /v1/portfolio/health, /v1/pairs/signal, /v1/options/spread-scan, /v1/indicators/regime-classify
Full endpoint list: https://api.quantoracle.dev/tools
OpenAPI spec: https://api.quantoracle.dev/openapi.json
x402 discovery: https://api.quantoracle.dev/.well-known/x402 (advertises Base and Solana USDC)
| Format | URL |
|---|---|
| OpenAPI spec | https://api.quantoracle.dev/openapi.json |
| Tool listing | https://api.quantoracle.dev/tools |
| MCP endpoint | npx quantoracle-mcp |
| AI Plugin | https://api.quantoracle.dev/.well-known/ai-plugin.json |
| Server card | https://mcp.quantoracle.dev/.well-known/mcp/server-card.json |
| Swagger docs | https://api.quantoracle.dev/docs |
# Call any endpoint -- no setup required
curl -X POST https://api.quantoracle.dev/v1/options/price \
-H "Content-Type: application/json" \
-d '{"S": 100, "K": 105, "T": 0.5, "r": 0.05, "sigma": 0.2, "type": "call"}'
{
"price": 4.5817,
"intrinsic": 0,
"time_value": 4.5817,
"breakeven": 109.5817,
"prob_itm": 0.4056,
"greeks": {
"delta": 0.4612,
"gamma": 0.0281,
"theta": -0.0211,
"vega": 0.2808,
"rho": 0.2077,
"vanna": 0.0047,
"charm": -0.0006,
"volga": 0.0327,
"speed": -0.0001
},
"d1": -0.0975,
"d2": -0.2389,
"ms": 12.4
}
import requests
# Black-Scholes pricing
r = requests.post("https://api.quantoracle.dev/v1/options/price", json={
"S": 100, "K": 105, "T": 0.5, "r": 0.05, "sigma": 0.2, "type": "call"
})
print(r.json()["price"]) # 4.5817
# Portfolio risk metrics (22 metrics from a returns series)
r = requests.post("https://api.quantoracle.dev/v1/risk/portfolio", json={
"returns": [0.01, -0.005, 0.008, -0.003, 0.012, -0.001, 0.006, -0.009, 0.004, 0.002]
})
print(r.json()["risk"]["sharpe"]) # Annualized Sharpe
# Kelly Criterion
r = requests.post("https://api.quantoracle.dev/v1/risk/kelly", json={
"mode": "discrete", "win_rate": 0.55, "avg_win": 1.5, "avg_loss": 1.0
})
print(r.json()["half_kelly"]) # Recommended bet fraction
# Monte Carlo simulation
r = requests.post("https://api.quantoracle.dev/v1/simulate/montecarlo", json={
"initial_value": 100000, "annual_return": 0.08, "annual_vol": 0.15, "years": 10, "simulations": 1000
})
print(r.json()["terminal"]["median"]) # Median portfolio value at year 10
const res = await fetch("https://api.quantoracle.dev/v1/options/price", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ S: 100, K: 105, T: 0.5, r: 0.05, sigma: 0.2, type: "call" })
});
const { price, greeks } = await res.json();
const { delta, gamma, vega } = greeks;
All 63 calculators + 10 composites in your terminal. Zero dependencies.
npm install -g quantoracle-cli
Or run without installing:
npx quantoracle-cli bs --spot 185 --strike 190 --expiry 0.25 --vol 0.25
QuantOracle · Black-Scholes (call)
────────────────────────────────────
Price $8.02
Intrinsic $0.00
Time Value $8.02
Breakeven $198.02
Prob ITM 43.0%
Greeks
────────────────────────────────────
Delta 0.4797
Gamma 0.0172
Theta -0.0615/day
Vega 0.3685
────────────────────────────────────
⏱ 0.05ms · api.quantoracle.dev
# Kelly criterion
qo kelly --win-rate 0.55 --avg-win 120 --avg-loss 100
# Monte Carlo
qo mc --value 80000 --return 0.10 --vol 0.18 --years 2
# JSON output for scripting
qo bs --spot 185 --strike 190 --expiry 0.25 --vol 0.25 --json | jq '.greeks.delta'
# Data from file
qo risk portfolio --returns @returns.txt
# All commands
qo help
1,000 free calls per IP per day. No signup. No API key. Just call the API.
| Free | Paid (x402) | |
|---|---|---|
| Calls | 1,000/day | Unlimited |
| Auth | None | x402 micropayment header |
| Calculators | All 63 | All 63 |
| Composite workflows | None (paid-only) | All 10 |
| Live data tier | 20 calls/day | Pay-per-call |
| Watch monitoring | Free 48h trial (1 per IP / 30d) | $5 per position / 30 days |
| Rate headers | Yes | Yes |
Every response includes rate limit headers so agents can self-manage:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 2025-01-15T00:00:00Z
Check usage anytime:
curl https://api.quantoracle.dev/usage
After 1,000 calls, the API returns 402 Payment Required with an x402 payment header. Any x402-compatible agent automatically pays and continues:
HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: <base64-encoded payment instructions>
| Tier | Price | Endpoints |
|---|---|---|
| Simple | $0.002 | Z-score, APY/APR, Fibonacci, Bollinger, ATR, Taylor rule, inflation, real yield, PV, FV, NPV, CAGR, normal distribution, Sharpe ratio, liquidation price, put-call parity |
| Medium | $0.005 | Black-Scholes, implied vol, Kelly, position sizing, drawdown, regime, crossover, bond amortization, carry trade, IRP, PPP, funding rate, slippage, vesting, rebalance, IRR, realized vol, PSR, transaction cost |
| Complex | $0.008 | Portfolio risk, binomial tree, barrier/Asian/lookback options, credit spread, VaR, stress test, regression, cointegration, Hurst, distribution fit, risk parity |
| Heavy | $0.015 | Monte Carlo, GARCH, portfolio optimization, option chain analysis, vol surface, yield curve, correlation matrix |
| Composite | $0.015-0.10 | Backtest strategy, spread scan, rebalance plan, options strategy optimizer, hedging recommend, full risk analysis, trade evaluate, portfolio health, pairs signal, regime classify (paid-only, no free tier) |
Run up to 100 computations in a single HTTP request. One round trip instead of 100.
curl -X POST https://api.quantoracle.dev/v1/batch \
-H "Content-Type: application/json" \
-d '{
"requests": [
{"endpoint": "options/price", "params": {"S": 100, "K": 105, "T": 0.25, "r": 0.05, "sigma": 0.2}},
{"endpoint": "stats/zscore", "params": {"series": [10, 12, 14, 11, 13, 15]}},
{"endpoint": "tvm/cagr", "params": {"start_value": 100, "end_value": 150, "years": 3}}
]
}'
Returns all results in one response with the total price:
{
"batch_size": 3,
"total_price_usdc": 0.009,
"results": [
{"endpoint": "options/price", "status": 200, "data": {"price": 2.4779, "greeks": {"delta": 0.377, "..."}}},
{"endpoint": "stats/zscore", "status": 200, "data": {"mean": 12.5, "std_dev": 1.87, "..."}},
{"endpoint": "tvm/cagr", "status": 200, "data": {"cagr": 0.1447, "doubling_time_years": 5.13, "..."}}
],
"ms": 42.13
}
| Free | Paid | |
|---|---|---|
| Batch calls | 1 trial (ever) | Unlimited |
| Max per batch | 100 | 100 |
| Price | Free | Sum of individual endpoint prices |
Batch pricing is the sum of the individual endpoint prices — no markup. You pay for the computations, the speed is free.
Every endpoint above is pure math on inputs you supply — the 73 calculators have zero data dependencies, which is what makes them deterministic and cacheable. QuantOracle Live is the one tier that brings the data: you pass a ticker, the API fetches fresh market data and runs the math, so your agent never has to source or maintain a data feed.
| Endpoint | Description | Price |
|---|---|---|
POST /v1/live/volatility | Realized volatility (7d/30d/90d) + regime for a crypto asset, from fresh daily candles | $0.01 |
POST /v1/live/funding-rates | Current perpetual funding rate + annualized carry for a crypto asset | $0.005 |
curl -X POST https://api.quantoracle.dev/v1/live/volatility \
-H "Content-Type: application/json" \
-d '{"asset":"BTC"}'
# → {"asset":"BTC","spot":61728.7,"realized_vol_7d":0.4534,
# "realized_vol_30d":0.3108,"realized_vol_90d":0.3157,"regime":"NORMAL",
# "as_of_age_seconds":0,"stale":false,"source":"kraken", ...}
Pricing: the Live tier is paid from the first call — it is not part of the 1,000/day calculator free tier (the value is the fresh data + pipeline, which you can't replicate with a local library). You get 20 free calls per IP per day to evaluate, then it settles per-call via x402 (USDC on Base or Solana). You pay for freshness, not arithmetic.
Results are cached server-side (volatility ~5 min, funding ~1 min); if an upstream feed is briefly unavailable, the API serves the last good value flagged stale: true, with as_of_age_seconds telling you how fresh the answer is.
Most monitoring agents rebuild the same loop: poll crypto/liquidation-price + risk/var-parametric on a timer, all day. Watch replaces the loop — register a crypto perp position once and an isolated watcher re-evaluates it every ~60 seconds: funding-adjusted liquidation distance (warn/critical bands with hysteresis), funding-rate sign flips, hourly vol-regime changes, and expiry warnings. Alerts fire as HMAC-signed webhooks (X-QO-Signature, key = your monitor token) and are recorded server-side, so the trial needs zero infrastructure — just poll.
| Endpoint | Description | Price |
|---|---|---|
POST /v1/watch/trial | Free 48-hour monitor — one per IP per 30 days | Free |
POST /v1/watch/position | Register a position for 30 days of monitoring | $5.00 |
POST /v1/watch/extend | +30 days (also upgrades a trial; body: {monitor_id, token}) | $5.00 |
PATCH /v1/watch/{id} | Update position params after you add margin / resize / move it | Free |
GET /v1/watch/{id} | Live status + alert history (token auth) | Free |
DELETE /v1/watch/{id} | Cancel | Free |
curl -X POST https://api.quantoracle.dev/v1/watch/trial \
-H "Content-Type: application/json" \
-d '{"asset":"BTC","direction":"long","entry_price":62000,
"position_size":5000,"collateral":1000}'
# → {"monitor_id":"w_...","token":"...","tier":"trial","status":"active",
# "liquidation_price":49910,"distance_pct":19.5,
# "status_url":"https://api.quantoracle.dev/v1/watch/w_...", ...}
No exchange keys, no custody, no execution — Watch reads public market data and sends webhooks, so the worst failure mode is a missed alert (the watcher heartbeat is published in /health as watcher_heartbeat_age_s). Webhook targets are SSRF-guarded and deliveries retried. The economics: a DIY loop polling the same math once a minute past the free tier costs ~$7.20/day in per-call fees vs $5 per 30 days. Full walkthrough: quantoracle.dev/writing/crypto-liquidation-alerts-for-agents.
QuantOracle uses the x402 protocol for pay-per-call micropayments. When an agent exhausts its free tier (or calls a paid-only composite), the API returns a standard 402 response with payment instructions advertising both Base and Solana. x402-compatible agents (Coinbase AgentKit, AgentCash, OpenClaw, etc.) handle the rest automatically:
402 with PAYMENT-REQUIRED header listing accepted networksPAYMENT-SIGNATURE headerNo API keys. No subscriptions. No accounts. Just math and micropayments.
| Network | Asset | Gas | Best for |
|---|---|---|---|
Base mainnet (eip155:8453) | USDC (0x8335...) | ~$0.005/tx | EVM agents, Coinbase tooling, LangChain, Base ecosystem |
Solana mainnet (solana:5eykt4...) | USDC (EPjFWdd5...) | ~$0.0002/tx (CDP fee-payer) | Solana Agent Kit, Eliza, high-frequency bots |
api.cdp.coinbase.com/platform/v2/x402)0xC94f5F33ae446a50Ce31157db81253BfddFE2af69biztrXscReJ3Wi8EfkD2gL3WXzYUmzTEohD26Bxp39uhttps://api.quantoracle.dev/.well-known/x402 (returns both chains for every endpoint)npx agentcash@latest onboard
# Fund the Base or Solana wallet shown, then:
npx agentcash fetch https://api.quantoracle.dev/v1/risk/full-analysis \
-m POST --payment-network solana \
--body '{"returns":[0.01,-0.02,0.03,0.005,-0.01,0.02,-0.015,0.025,0.01,-0.005,0.015]}'
QuantOracle is available as a native MCP server with 80 tools (63 calculators + 11 composites + 2 live market-data endpoints + 3 QuantOracle Watch monitoring tools + batch). Works with Claude Desktop, Cursor, Windsurf, Smithery, and any MCP-compatible client.
npx quantoracle-mcp
Add as a connector in Settings, or add to claude_desktop_config.json:
{
"mcpServers": {
"quantoracle": {
"url": "https://mcp.quantoracle.dev/mcp"
}
}
}
Or run locally via npx:
{
"mcpServers": {
"quantoracle": {
"command": "npx",
"args": ["-y", "quantoracle-mcp"]
}
}
}
Connect directly to the hosted server — no install required:
https://mcp.quantoracle.dev/mcp
npx @smithery/cli mcp add https://server.smithery.ai/QuantOracle/quantoracle
clawhub install quantoracle
QuantOracle is available across multiple agent ecosystems:
| Platform | How to connect |
|---|---|
| Claude Desktop / Claude Code | Connector URL: https://mcp.quantoracle.dev/mcp |
| Cursor / Windsurf | MCP config: npx quantoracle-mcp |
| Smithery | npx @smithery/cli mcp add QuantOracle/quantoracle |
| OpenClaw / ClawHub | clawhub install quantoracle |
| CLI | npm install -g quantoracle-cli or npx quantoracle-cli |
| Glama | glama.ai/mcp/servers/QuantOracledev/quantoracle |
| npm (MCP) | npx quantoracle-mcp |
| x402 ecosystem | x402.org/ecosystem |
| ChatGPT GPT | QuantOracle GPT |
| LangChain | pip install langchain-quantoracle |
| AgentCash | npx agentcash fetch https://api.quantoracle.dev/v1/... |
| x402scan | Server page — Base + Solana |
| REST API | https://api.quantoracle.dev/v1/... |
| OpenAPI spec | https://api.quantoracle.dev/openapi.json |
| Swagger UI | https://api.quantoracle.dev/docs |
# List all tools (63 calculators + 10 composites) with paths and pricing
curl https://api.quantoracle.dev/tools
# x402 discovery (advertises Base + Solana for every endpoint)
curl https://api.quantoracle.dev/.well-known/x402
# Health check
curl https://api.quantoracle.dev/health
# Usage check
curl https://api.quantoracle.dev/usage
# MCP server card
curl https://mcp.quantoracle.dev/.well-known/mcp/server-card.json
| Endpoint | Description | Price |
|---|---|---|
POST /v1/options/price | Black-Scholes pricing with 10 Greeks (delta through color) | $0.005 |
POST /v1/options/implied-vol | Newton-Raphson implied volatility solver | $0.005 |
POST /v1/options/strategy | Multi-leg options strategy P&L, breakevens, max profit/loss | $0.008 |
POST /v1/options/payoff-diagram | Multi-leg options payoff diagram data generation | $0.005 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/derivatives/binomial-tree | CRR binomial tree pricing for American and European options | $0.008 |
POST /v1/derivatives/barrier-option | Barrier option pricing using analytical formulas | $0.008 |
POST /v1/derivatives/asian-option | Asian option pricing: geometric closed-form or arithmetic approximation | $0.008 |
POST /v1/derivatives/lookback-option | Lookback option pricing (floating/fixed strike, Goldman-Sosin-Gatto) | $0.008 |
POST /v1/derivatives/option-chain-analysis | Option chain analytics: skew, max pain, put-call ratios | $0.015 |
POST /v1/derivatives/put-call-parity | Put-call parity check and arbitrage detection | $0.002 |
POST /v1/derivatives/volatility-surface | Build implied volatility surface from market data | $0.015 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/risk/portfolio | 22 risk metrics: Sharpe, Sortino, Calmar, Omega, VaR, CVaR, drawdown | $0.008 |
POST /v1/risk/kelly | Kelly Criterion: discrete (win/loss) or continuous (returns series) | $0.005 |
POST /v1/risk/position-size | Fixed fractional position sizing with risk/reward targets | $0.005 |
POST /v1/risk/drawdown | Drawdown decomposition with underwater curve | $0.005 |
POST /v1/risk/correlation | N x N correlation and covariance matrices from return series | $0.008 |
POST /v1/risk/var-parametric | Parametric Value-at-Risk and Conditional VaR | $0.008 |
POST /v1/risk/stress-test | Portfolio stress test across multiple scenarios | $0.008 |
POST /v1/risk/transaction-cost | Transaction cost model: commission + spread + Almgren market impact | $0.005 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/indicators/technical | 13 technical indicators (SMA, EMA, RSI, MACD, etc.) + composite signals | $0.005 |
POST /v1/indicators/regime | Trend + volatility regime + composite risk classification | $0.005 |
POST /v1/indicators/crossover | Golden/death cross detection with signal history | $0.005 |
POST /v1/indicators/bollinger-bands | Bollinger Bands with %B, bandwidth, and squeeze detection | $0.002 |
POST /v1/indicators/fibonacci-retracement | Fibonacci retracement and extension levels | $0.002 |
POST /v1/indicators/atr | Average True Range with normalized ATR and volatility regime | $0.002 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/stats/linear-regression | OLS linear regression with R-squared, t-stats, standard errors | $0.008 |
POST /v1/stats/polynomial-regression | Polynomial regression of degree n with goodness-of-fit metrics | $0.008 |
POST /v1/stats/cointegration | Engle-Granger cointegration test with hedge ratio and half-life | $0.008 |
POST /v1/stats/hurst-exponent | Hurst exponent via rescaled range (R/S) analysis | $0.008 |
POST /v1/stats/garch-forecast | GARCH(1,1) volatility forecast using maximum likelihood estimation | $0.015 |
POST /v1/stats/zscore | Rolling and static z-scores with extreme value detection | $0.002 |
POST /v1/stats/distribution-fit | Fit data to common distributions and rank by goodness of fit | $0.008 |
POST /v1/stats/correlation-matrix | Correlation and covariance matrices with eigenvalue decomposition | $0.015 |
POST /v1/stats/realized-volatility | Realized vol: close-to-close, Parkinson, Garman-Klass, Yang-Zhang | $0.005 |
POST /v1/stats/normal-distribution | Normal distribution: CDF, PDF, quantile, confidence intervals | $0.002 |
POST /v1/stats/sharpe-ratio | Standalone Sharpe ratio with Lo (2002) standard error and 95% CI | $0.002 |
POST /v1/stats/probabilistic-sharpe | Probabilistic Sharpe Ratio (Bailey & Lopez de Prado 2012) | $0.005 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/portfolio/optimize | Portfolio optimization: max Sharpe, min vol, or risk parity | $0.015 |
POST /v1/portfolio/risk-parity-weights | Equal risk contribution portfolio weights (Spinu 2013) | $0.008 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/fixed-income/bond | Bond price, Macaulay/modified duration, convexity, DV01 | $0.008 |
POST /v1/fixed-income/amortization | Full amortization schedule with extra payment savings analysis | $0.005 |
POST /v1/fi/yield-curve-interpolate | Yield curve interpolation: linear, cubic spline, Nelson-Siegel | $0.015 |
POST /v1/fi/credit-spread | Credit spread and Z-spread from bond price vs risk-free curve | $0.008 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/crypto/impermanent-loss | Impermanent loss calculator for Uniswap v2/v3 AMM positions | $0.005 |
POST /v1/crypto/apy-apr-convert | Convert between APY and APR with configurable compounding | $0.002 |
POST /v1/crypto/liquidation-price | Liquidation price calculator for leveraged positions | $0.002 |
POST /v1/crypto/funding-rate | Funding rate analysis with annualization and regime detection | $0.005 |
POST /v1/crypto/dex-slippage | DEX slippage estimator for constant-product AMM (x*y=k) | $0.005 |
POST /v1/crypto/vesting-schedule | Token vesting schedule with cliff, linear/graded unlock, TGE | $0.005 |
POST /v1/crypto/rebalance-threshold | Portfolio rebalance analyzer: drift detection and trade sizing | $0.005 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/live/volatility | Live realized volatility (7d/30d/90d) + regime for a crypto asset | $0.01 |
POST /v1/live/funding-rates | Live perpetual funding rate + annualized carry for a crypto asset | $0.005 |
Paid from the first call (not part of the free tier); 20 free calls/IP/day. See QuantOracle Live.
| Endpoint | Description | Price |
|---|---|---|
POST /v1/watch/trial | Free 48-hour trial monitor (one per IP per 30 days) | Free |
POST /v1/watch/position | 24/7 monitoring of a perp position for 30 days | $5.00 |
POST /v1/watch/extend | Extend or upgrade a monitor by 30 days | $5.00 |
PATCH /v1/watch/{id} | Update position params (direction/entry/size/collateral/mmr/webhook/thresholds) | Free |
GET /v1/watch/{id} | Live status + alert history (token auth) | Free |
DELETE /v1/watch/{id} | Cancel a monitor | Free |
Priced per monitor, not per call. See QuantOracle Watch.
| Endpoint | Description | Price |
|---|---|---|
POST /v1/fx/interest-rate-parity | Interest rate parity calculator with arbitrage detection | $0.005 |
POST /v1/fx/purchasing-power-parity | Purchasing power parity fair value estimation | $0.005 |
POST /v1/fx/forward-rate | Bootstrap forward rates from a spot yield curve | $0.005 |
POST /v1/fx/carry-trade | Currency carry trade P&L decomposition | $0.005 |
POST /v1/macro/inflation-adjusted | Nominal to real returns using Fisher equation | $0.002 |
POST /v1/macro/taylor-rule | Taylor Rule interest rate prescription | $0.002 |
POST /v1/macro/real-yield | Real yield and breakeven inflation from nominal yields | $0.002 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/tvm/present-value | Present value of a future lump sum and/or annuity stream | $0.002 |
POST /v1/tvm/future-value | Future value of a present lump sum and/or annuity stream | $0.002 |
POST /v1/tvm/irr | Internal rate of return via Newton-Raphson | $0.005 |
POST /v1/tvm/npv | Net present value with profitability index and payback period | $0.002 |
POST /v1/tvm/cagr | Compound annual growth rate with forward projections | $0.002 |
| Endpoint | Description | Price |
|---|---|---|
POST /v1/simulate/montecarlo | GBM Monte Carlo with contributions/withdrawals, up to 5000 paths | $0.015 |
Higher-level endpoints that combine multiple calculations into a single call. Same math as the individual endpoints -- just packaged for common agent workflows. No free tier.
| Endpoint | Description | Replaces | Price |
|---|---|---|---|
POST /v1/backtest/strategy | Run SMA crossover, RSI mean reversion, momentum, or Bollinger breakout backtest | 10+ indicator + risk calls | $0.10 |
POST /v1/options/spread-scan | Scan and rank vertical spreads by risk/reward | 8-16 options/price calls | $0.05 |
POST /v1/portfolio/rebalance-plan | Generate trade list to hit target weights with cost estimate | portfolio/optimize + transaction-cost | $0.05 |
POST /v1/options/strategy-optimizer | Rank top options strategies given outlook + volatility view | options/strategy + payoff-diagram | $0.08 |
POST /v1/hedging/recommend | Rank cheapest effective hedges (protective put, collar, futures, partial) | options/price + Greeks | $0.04 |
POST /v1/risk/full-analysis | Complete risk tearsheet: Sharpe, Sortino, VaR, Kelly, drawdown, Hurst, CAGR | 7 individual calls | $0.04 |
POST /v1/portfolio/health | Portfolio health check: risk, correlation, rebalance, stress test | 6 individual calls | $0.04 |
POST /v1/trade/evaluate | Trade evaluation: sizing, risk/reward, Kelly, costs, regime, signals, verdict | 5 individual calls | $0.025 |
POST /v1/pairs/signal | Pairs trading signal: cointegration, Hurst, z-score, half-life, hedge ratio | 4 individual calls | $0.025 |
POST /v1/indicators/regime-classify | Trend, vol regime, RSI, direction, strategy suggestion | technical + regime + realized-vol | $0.015 |
A typical agent backtest chains multiple QuantOracle calls per iteration:
1. /v1/indicators/technical -- generate signals (SMA, RSI, MACD)
2. /v1/risk/position-size -- size the trade (fixed fractional)
3. /v1/risk/transaction-cost -- estimate execution costs
4. /v1/options/price -- price the hedge (Black-Scholes)
5. /v1/risk/portfolio -- compute running Sharpe, drawdown, VaR
6. /v1/stats/probabilistic-sharpe -- is the Sharpe statistically significant?
7. /v1/tvm/cagr -- compute CAGR of the equity curve
Each call is a pure calculator -- no state, no side effects, no API keys.
examples/strategy_optimizer.py is a full walk-forward parameter optimizer that demonstrates heavy API usage:
| Phase | What it does | API calls |
|---|---|---|
| Parameter Sweep | Test 180 lookback/rebalance/RSI combinations across 8 assets | ~1,080 |
| Deep Analysis | 22 risk metrics + VaR + Kelly + Monte Carlo on top 3 configs | ~60-80 |
| Options Overlay | Price covered calls across 6 assets x 4 expiries x 5 strikes | ~100-150 |
| Pairs Analysis | Cointegration scan + Hurst exponent on 45 asset pairs | ~50-70 |
pip install requests
python examples/strategy_optimizer.py
A single run makes ~1,200-1,500 API calls. At paid rates that's ~$6-8 USDC. The same calculations done by an LLM in-context would cost $12-60 in tokens (Sonnet to Opus), take 4x longer, and get 15-30% of the complex math wrong.
# Clone and run locally
git clone https://github.com/QuantOracledev/quantoracle.git
cd quantoracle
pip install fastapi uvicorn
uvicorn api.quantoracle:app --host 0.0.0.0 --port 8000
# Docker
docker compose up -d
# Docs at http://localhost:8000/docs
Every endpoint is tested against published analytical solutions:
Run the verification suite yourself:
python tests/accuracy_benchmarks.py https://api.quantoracle.dev
quantoracle/
api/quantoracle.py -- FastAPI app, 63 calculators + 11 composites, pure Python math
worker/src/index.ts -- Cloudflare Worker: rate limiting + x402 payments (Base + Solana)
mcp-server/src/index.ts -- MCP server: 80 tools (incl. live data + Watch) over Streamable HTTP
cli/ -- quantoracle-cli: all endpoints in the terminal (npm)
tests/
test_integration.py -- 65 integration tests (all endpoints, live API)
accuracy_benchmarks.py -- 120 citation-backed accuracy tests
Stack: FastAPI + Pydantic | Cloudflare Workers + KV | MCP (Streamable HTTP) | x402 + CDP Facilitator | USDC on Base and Solana
MIT -- use QuantOracle however you want.