# QuantOracle Regime Classifier

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

Classifies market regime (trend, volatility, risk) from a price series and returns RSI, SMA, trend direction, and a suggested strategy.

## Facts

- Endpoint: POST https://api.quantoracle.dev/v1/indicators/regime-classify
- Price: $0.015/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-ed5c67bd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kCG7JUaTzmIps4nWqfRv1

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-ed5c67bd -d '<json body>'
```

Example prompt: Classify the market regime for this 50-bar close series: [100.5, 101.2, 100.8, ..., 124.4] — use RSI period 14, SMA period 20, and volatility window 10, and tell me whether it's risk-on or risk-off and what strategy is suggested.

## When to prefer this

Use this endpoint when you need a fast, multi-dimensional market regime snapshot from raw close prices, combining momentum (RSI), trend (SMA slope), and volatility into a single composite label and actionable strategy suggestion. Prefer it over raw indicator libraries when you want a pre-integrated, opinionated regime classification with a suggested strategy rather than computing individual indicators separately.

## Known failure modes

- Insufficient price data — fewer closes than the required window periods returns an error
- Invalid period parameters — non-integer or zero/negative values for rsi_period, sma_period, or vol_window
- Malformed closes array — non-numeric values or empty array
- Payment failure — x402 payment not processed, returns 402
- Rate limit exceeded — too many requests in a short window

## How this service works

QuantOracle: /v1/indicators/regime-classify

## Output

Returns RSI value, SMA, trend label (e.g. UPTREND), composite regime (e.g. RISK_ON), direction (UP/DOWN), volatility ratio, volatility regime (NORMAL/HIGH/LOW), realized close-to-close volatility, 5-day and 20-day slope percentages, price vs SMA percentage, and a suggested strategy string (e.g. TAKE_PROFITS).

## Example request

```json
{
 "closes": [
  100,
  101,
  102,
  103,
  102,
  101,
  100,
  99,
  98,
  97,
  98,
  99,
  100,
  101,
  102,
  104,
  106,
  108,
  110,
  112,
  111,
  110,
  109,
  108,
  107,
  106,
  105,
  104,
  103,
  102
 ]
}
```

## 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": "RegimeClassifyIn",
     "required": [
      "closes"
     ],
     "properties": {
      "lows": {
       "anyOf": [
        {
         "type": "array",
         "items": {
          "type": "number"
         }
        },
        {
         "type": "null"
        }
       ],
       "title": "Lows",
       "description": "Low prices (optional, improves vol estimate)"
      },
      "highs": {
       "anyOf": [
        {
         "type": "array",
         "items": {
          "type": "number"
         }
        },
        {
         "type": "null"
        }
       ],
       "title": "Highs",
       "description": "High prices (optional, improves vol estimate)"
      },
      "opens": {
       "anyOf": [
        {
         "type": "array",
         "items": {
          "type": "number"
         }
        },
        {
         "type": "null"
        }
       ],
       "title": "Opens",
       "description": "Opening prices (optional, improves vol estimate)"
      },
      "closes": {
       "type": "array",
       "items": {
        "type": "number"
       },
       "title": "Closes",
       "minItems": 30,
       "description": "Closing prices"
      },
      "rsi_period": {
       "type": "integer",
       "title": "Rsi Period",
       "default": 14,
       "description": "RSI period"
      },
      "sma_period": {
       "type": "integer",
       "title": "Sma Period",
       "default": 50,
       "description": "SMA period for trend"
      },
      "vol_window": {
       "type": "integer",
       "title": "Vol Window",
       "default": 21,
       "description": "Rolling vol window"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-quantoracle-dev-ed5c67bd/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)
