# QuantOracle Indicators Crossover

> QuantOracle Indicators Crossover is a paid API for AI agents from api.quantoracle.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Computes EMA crossover signal (BULLISH/BEARISH) between a fast and slow exponential moving average from a price series

## Facts

- Endpoint: POST https://api.quantoracle.dev/v1/indicators/crossover
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-quantoracle-dev-f73b8c03
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0xuzsMBS8sofrpH5yiHSh

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

Example prompt: Check whether there's a bullish or bearish EMA crossover in this 30-day price series for BTC: [100.5, 101.2, 102.1, ... 120.3] — use a fast period of 12 and slow period of 26 and tell me the spread and signal.

## When to prefer this

Use this endpoint when you need a fast, low-latency EMA crossover calculation with explicit BULLISH/BEARISH signal output and spread metrics from raw price data. Prefer this over full technical analysis suites when you only need moving average crossover detection without additional indicators. Ideal for automated trading signal pipelines or momentum screening.

## Known failure modes

- Insufficient price data for the requested slow_period — series must have at least slow_period+1 data points
- fast_period must be less than slow_period otherwise computation is undefined
- Empty or malformed prices array returns a 400 error
- Non-numeric values in prices array cause validation failure
- slow_period larger than prices array length causes computation error

## How this service works

QuantOracle: indicators/crossover

## Output

Returns a signal string ('BULLISH' or 'BEARISH'), the computed fast and slow EMA values, the absolute spread between them, the spread as a percentage, a list of recent crossover events, and the total number of crosses detected in the series.

## Example request

```json
{
 "params": {
  "fast": 12,
  "slow": 26
 },
 "prices": [
  100.5,
  101.2,
  102.1,
  101.8,
  103.5,
  104.2,
  103.9,
  105.1,
  106.3,
  105.8,
  107.2,
  108.1,
  107.5,
  109.3,
  110.2,
  109.8,
  111.5,
  112.3,
  111.9,
  113.7,
  114.5,
  113.2,
  115.1,
  116.8,
  115.9,
  117.6,
  118.4,
  117.8,
  119.5,
  120.3
 ],
 "strategy": "sma_crossover",
 "slippage_bps": 5,
 "commission_bps": 5,
 "initial_capital": 10000
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "prices": {
   "type": "array",
   "items": {
    "type": "number"
   },
   "title": "Prices",
   "minItems": 30,
   "description": "Array of price data"
  },
  "fast_period": {
   "type": "integer",
   "title": "Fast Period",
   "default": 10,
   "description": "Fast moving average period"
  },
  "slow_period": {
   "type": "integer",
   "title": "Slow Period",
   "default": 50,
   "description": "Slow moving average period"
  }
 }
}
```

## More

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