# QuantOracle Trade Evaluate

> QuantOracle Trade Evaluate is a paid API for AI agents from api.quantoracle.dev, paid per call via x402, $0.025/call, status unknown (last checked 2026-09-14).

Evaluates a trade signal or proposed trade for quantitative merit, risk-adjusted return potential, and execution viability

## Facts

- Endpoint: POST https://api.quantoracle.dev/v1/trade/evaluate
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-quantoracle-dev-a781a685
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eGyCAxQywSbMioCQuvwYg

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability api-quantoracle-dev-a781a685 -d '<json body>'
```

Example prompt: Can you evaluate this trade for me using QuantOracle — I'm looking at going long AAPL at $195.50 with a position size of 100 shares, targeting $210 with a stop at $188, and I want to know if the signal holds up quantitatively?

## When to prefer this

Use this endpoint when an agent needs to quantitatively score or validate a specific trade idea before execution, especially when evaluating signal quality, risk-reward ratio, and statistical edge. Prefer this over portfolio/health or risk/full-analysis when the user has a concrete trade in mind and wants a focused go/no-go evaluation rather than a broad portfolio-level assessment.

## Known failure modes

- Missing required trade parameters (symbol, direction, entry price) returns 400 Bad Request
- Invalid asset symbol or unsupported instrument returns 422 Unprocessable Entity
- Malformed position sizing or price inputs return validation errors
- Insufficient account balance or payment failure returns 402 Payment Required
- Service unavailability or timeout returns 503 with retry guidance

## How this service works

QuantOracle: /v1/trade/evaluate

## Output

Returns a quantitative evaluation of the proposed trade including a signal quality score, risk-adjusted return metrics, and a recommendation on whether the trade setup meets statistical thresholds for execution viability.

## Example request

```json
{
 "spot": 175,
 "prices": [
  168,
  169,
  170,
  171,
  172,
  173,
  174,
  175,
  176,
  177,
  178,
  179,
  180,
  181
 ],
 "stop_loss": 170,
 "entry_price": 175,
 "market_data": [
  {
   "strike": 170,
   "expiry_days": 7,
   "implied_vol": 0.18
  },
  {
   "strike": 172,
   "expiry_days": 7,
   "implied_vol": 0.19
  },
  {
   "strike": 174,
   "expiry_days": 7,
   "implied_vol": 0.2
  },
  {
   "strike": 175,
   "expiry_days": 7,
   "implied_vol": 0.21
  },
  {
   "strike": 176,
   "expiry_days": 7,
   "implied_vol": 0.2
  },
  {
   "strike": 178,
   "expiry_days": 7,
   "implied_vol": 0.19
  },
  {
   "strike": 180,
   "expiry_days": 7,
   "implied_vol": 0.18
  },
  {
   "strike": 170,
   "expiry_days": 30,
   "implied_vol": 0.17
  },
  {
   "strike": 172,
   "expiry_days": 30,
   "implied_vol": 0.18
  },
  {
   "strike": 174,
   "expiry_days": 30,
   "implied_vol": 0.19
  },
  {
   "strike": 175,
   "expiry_days": 30,
   "implied_vol": 0.2
  },
  {
   "strike": 176,
   "expiry_days": 30,
   "implied_vol": 0.19
  },
  {
   "strike": 178,
   "expiry_days": 30,
   "implied_vol": 0.18
  },
  {
   "strike": 180,
   "expiry_days": 30,
   "implied_vol": 0.17
  }
 ],
 "take_profit": 182,
 "account_size": 100000,
 "interpolation": "linear"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "title": "TradeEvaluateIn",
     "required": [
      "entry_price",
      "stop_loss",
      "take_profit",
      "account_size",
      "prices"
     ],
     "properties": {
      "adv": {
       "type": "number",
       "title": "Adv",
       "default": 5000000,
       "description": "Average daily volume in USD"
      },
      "prices": {
       "type": "array",
       "items": {
        "type": "number"
       },
       "title": "Prices",
       "minItems": 14,
       "description": "Recent price history for signals"
      },
      "returns": {
       "anyOf": [
        {
         "type": "array",
         "items": {
          "type": "number"
         }
        },
        {
         "type": "null"
        }
       ],
       "title": "Returns",
       "description": "Historical returns for Kelly (optional)"
      },
      "stop_loss": {
       "type": "number",
       "title": "Stop Loss",
       "description": "Stop loss price",
       "exclusiveMinimum": 0
      },
      "spread_bps": {
       "type": "number",
       "title": "Spread Bps",
       "default": 5,
       "description": "Bid-ask spread in basis points"
      },
      "entry_price": {
       "type": "number",
       "title": "Entry Price",
       "description": "Planned entry price",
       "exclusiveMinimum": 0
      },
      "take_profit": {
       "type": "number",
       "title": "Take Profit",
       "description": "Take profit price",
       "exclusiveMinimum": 0
      },
      "account_size": {
       "type": "number",
       "title": "Account Size",
       "description": "Total account value",
       "exclusiveMinimum": 0
      },
      "risk_per_trade": {
       "type": "number",
       "title": "Risk Per Trade",
       "default": 0.02,
       "description": "Max risk per trade as fraction"
      },
      "commission_per_share": {
       "type": "number",
       "title": "Commission Per Share",
       "default": 0.005,
       "description": "Commission per share"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-quantoracle-dev-a781a685/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.quantoracle.dev](https://www.zero.xyz/host/api.quantoracle.dev/llms.txt)
