Skip to main content
Glama

Why QuantOracle?

Every financial agent needs math. QuantOracle is that math.

  • 63 pure calculators across options, derivatives, risk, portfolio, statistics, crypto/DeFi, FX/macro, and TVM

  • Zero dependencies on market data, accounts, or third-party APIs -- send numbers in, get numbers out

  • Deterministic -- same inputs always produce the same outputs, so agents can cache, verify, and chain calls

  • Citation-verified -- every formula tested against published textbook values (Hull, Wilmott, Bailey & Lopez de Prado)

  • 120 accuracy benchmarks passing with analytical solutions

  • Sub-millisecond response times on most endpoints

  • Free tier -- 1,000 calls/IP/day, no API key, no signup, zero friction

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.


Quick Start

# 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": 3.6862,
  "greeks": {
    "delta": 0.4467,
    "gamma": 0.0281,
    "theta": -0.0113,
    "vega": 0.2653,
    "rho": 0.1989
  },
  "d1": -0.1331,
  "d2": -0.2745,
  "ms": 0.04
}

Python

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"])  # 3.6862

# 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

TypeScript

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;

CLI

All 63 endpoints 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

Free Tier

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

Endpoints

All 63

All 63

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


x402 Payments

QuantOracle uses the x402 protocol for pay-per-call micropayments. When an agent exhausts its free tier, the API returns a standard 402 response with payment instructions. x402-compatible agents (Coinbase AgentKit, OpenClaw, etc.) handle this automatically:

  1. Agent calls endpoint, gets 402 with PAYMENT-REQUIRED header

  2. Agent signs a gasless USDC transfer authorization (EIP-3009)

  3. Agent resends request with PAYMENT-SIGNATURE header

  4. Server verifies via CDP facilitator, serves the response, settles on-chain

No API keys. No subscriptions. No accounts. Just math and micropayments.

  • Currency: USDC on Base (chain ID 8453)

  • Settlement: Via Coinbase Developer Platform facilitator

  • Wallet: 0xC94f5F33ae446a50Ce31157db81253BfddFE2af6


MCP Server

QuantOracle is available as a native MCP server with 63 tools. Works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client.

Install via npm

npx quantoracle-mcp

Claude Desktop / Claude Code

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"]
    }
  }
}

Remote MCP (Streamable HTTP)

Connect directly to the hosted server — no install required:

https://mcp.quantoracle.dev/mcp

Smithery

npx @smithery/cli mcp add https://server.smithery.ai/QuantOracle/quantoracle

OpenClaw / ClawHub

clawhub install quantoracle

Integrations

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

npm (MCP)

npx quantoracle-mcp

x402 ecosystem

x402.org/ecosystem

REST API

https://api.quantoracle.dev/v1/...

OpenAPI spec

https://api.quantoracle.dev/openapi.json

Swagger UI

https://api.quantoracle.dev/docs

Tool Discovery

# List all 63 tools with paths and pricing
curl https://api.quantoracle.dev/tools

# 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

Full Endpoint Reference

Options (4 endpoints)

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

Derivatives (7 endpoints)

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

Risk (8 endpoints)

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

Indicators (6 endpoints)

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

Statistics (10 endpoints)

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

Portfolio (2 endpoints)

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

Fixed Income (4 endpoints)

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

Crypto / DeFi (7 endpoints)

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

FX / Macro (7 endpoints)

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

Time Value of Money (5 endpoints)

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

Simulation (1 endpoint)

Endpoint

Description

Price

POST /v1/simulate/montecarlo

GBM Monte Carlo with contributions/withdrawals, up to 5000 paths

$0.015


Example: Agent Backtest Workflow

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.


Self-Hosting

# 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

Accuracy

Every endpoint is tested against published analytical solutions:

  • 120 citation-backed benchmarks (Hull, Wilmott, Bailey & Lopez de Prado, Goldman-Sosin-Gatto, Taylor, Fisher, Markowitz)

  • 65 integration tests covering all 63 endpoints

  • Pure Python math -- no numpy/scipy, zero native dependencies

  • Deterministic: same inputs always produce the same outputs

Run the verification suite yourself:

python tests/accuracy_benchmarks.py https://api.quantoracle.dev

Architecture

quantoracle/
  api/quantoracle.py        -- FastAPI app, 63 endpoints, pure Python math
  worker/src/index.ts        -- Cloudflare Worker: rate limiting + x402 payments
  mcp-server/src/index.ts    -- MCP server: 63 tools over Streamable HTTP
  cli/                       -- quantoracle-cli: 63 tools 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


License

MIT -- use QuantOracle however you want.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/QuantOracledev/quantoracle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server