# Saylor Innovations Data Desk – Technical Indicators

> Saylor Innovations Data Desk – Technical Indicators is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-30).

Computes RSI, MACD, Bollinger Bands, SMA, and EMA from a user-supplied list of closing prices, with plain-language overbought and trend signals.

## Facts

- Endpoint: GET https://saylorinnovations.com/api/ta/indicators?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-data-desk-technical-indicators-8f3512fd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_s038Yj9dCJh_mRryWdKSy

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 saylor-innovations-data-desk-technical-indicators-8f3512fd
```

Example prompt: Can you run technical indicators — RSI, MACD, Bollinger Bands, SMA, and EMA — on these closing prices and tell me if the asset looks overbought or what the trend signal is: 44.5,45.1,46.3,45.8,47.2,48.0,47.5,49.1,50.0,51.2,52.0,51.8,53.0,54.1,55.0,54.5,56.2,57.0,56.8,58.1,59.3,60.0,59.5,61.0,62.1,63.0?

## When to prefer this

Choose this endpoint when you need multiple classic technical indicators computed simultaneously from raw closing prices without maintaining your own calculation library. It is especially useful for AI agents doing quick momentum or trend checks on crypto or stock price series, and when you want a plain-language interpretation alongside the numeric values rather than raw numbers alone.

## Known failure modes

- Fewer than 2 prices supplied — indicators will be null or missing
- Fewer than 26 prices — MACD returns null
- Non-numeric values in the price string cause parsing errors
- Too many prices (over 1000) may be rejected
- Malformed comma-separated string returns an error response
- Payment failure (x402) if USDC balance is insufficient

## How this service works

RSI, MACD, Bollinger Bands, SMA and EMA computed from any list of closing prices you supply, with plain-language overbought and trend signals.

## Output

Returns a JSON object with RSI (value + period), MACD (line, signal, histogram), SMA (value + period), EMA (value + period), Bollinger Bands, a bias string, bars count, and a plain-language note explaining how to interpret the signals. Fields are null when too few prices are supplied for a given indicator.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "prices"
     ],
     "properties": {
      "prices": {
       "type": "string",
       "description": "comma-separated closing prices, oldest first (2-1000)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "last_price",
      "signals"
     ],
     "properties": {
      "ema": {
       "type": [
        "object",
        "null"
       ],
       "properties": {
        "value": {
         "type": [
          "number",
          "null"
         ],
         "description": "Current value"
        },
        "period": {
         "type": [
          "number",
          "null"
         ],
         "description": "Averaging window"
        }
       },
       "description": "Exponential moving average, or null"
      },
      "rsi": {
       "type": [
        "object",
        "null"
       ],
       "properties": {
        "value": {
         "type": [
          "number",
          "null"
         ],
         "description": "Current value from 0 to 100"
        },
        "period": {
         "type": [
          "number",
          "null"
         ],
         "description": "Look-back window"
        }
       },
       "description": "Relative strength index with Wilder smoothing, or null"
      },
      "sma": {
       "type": [
        "object",
        "null"
       ],
       "properties": {
        "value": {
         "type": [
          "number",
          "null"
         ],
         "description": "Current value"
        },
        "period": {
         "type": [
          "number",
          "null"
         ],
         "description": "Averaging window"
        }
       },
       "description": "Simple moving average, or null if too few prices"
      },
      "bars": {
       "type": [
        "number",
        "null"
       ]
      },
      "bias": {
       "type": [
        "string",
        
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-data-desk-technical-indicators-8f3512fd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
