Crypto technical indicators

$0.002 per call · USDC via x402 · POST /api/crypto-indicators

Technical indicators for one perpetual computed deterministically from Hyperliquid candles: RSI(14), MACD(12,26,9) with signal and histogram, EMA 20/50/200, SMA 20/50, Bollinger(20,2) with bandwidth and %B, ATR(14) and window VWAP. Send POST /api/crypto-indicators with the required field coin and pay $0.002 per call over x402 or MPP (there is no free tier). It returns a JSON object with source, coin, interval, candles, window and 4 more.

Returns the latest close, the latest value of each, the last N series points (points, max 100), and a plain summary (trend vs EMA50, RSI zone, MACD cross on the latest bar). Set ohlcv to also get the last N OHLCV candles (open, high, low, close, volume) in the same call. interval 1m to 1M, limit = candles used (default 200, max 500). Choose a subset with indicators. No key, no LLM.

Category: Crypto & onchain data · Tags: crypto technical-analysis indicators rsi macd ema bollinger atr · Also found as: crypto-ohlcv crypto-candles crypto-rsi crypto-ema crypto-technical-analysis

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
coinstringyesPerp ticker, e.g. BTC, ETH, SOL. Also accepted as symbol, id, ticker, asset, currency.
intervalstringnoCandle interval (default 1h): 1m 3m 5m 15m 30m 1h 2h 4h 8h 12h 1d 3d 1w 1M.
limitnumbernoCandles to compute over (default 200, max 500). EMA200 needs 200, MACD 34, RSI/ATR 15, SMA/Bollinger 20.
indicatorsarray of stringnoOptional subset of: rsi, macd, ema, sma, bollinger, atr, vwap (default all).
pointsnumbernoSeries points to return per indicator, newest last (default 20, max 100).
ohlcvnumbernoAlso return the last N OHLCV candles, newest last (default 0 = none, max 100).

Example request

curl -i -X POST https://agent402.tools/api/crypto-indicators \
  -H "Content-Type: application/json" \
  -d '{"coin":"BTC","interval":"1h","limit":200,"points":5}'

Without payment this returns HTTP 402 Payment Required with the exact price for crypto-indicators; any x402 v2 or MPP client pays it and retries.

Example response

{
  "source": "hyperliquid",
  "coin": "BTC",
  "interval": "1h",
  "candles": 200,
  "window": {
    "from": "2026-08-14T05:00:00.000Z",
    "to": "2026-08-22T12:00:00.000Z"
  },
  "lastClose": 77244,
  "indicators": {
    "rsi": {
      "period": 14,
      "value": 56.21,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "v": 56.21
        }
      ]
    },
    "macd": {
      "fast": 12,
      "slow": 26,
      "signal": 9,
      "value": 120.5,
      "signalValue": 98.2,
      "histogram": 22.3,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "macd": 120.5,
          "signal": 98.2,
          "histogram": 22.3
        }
      ]
    },
    "ema": {
      "ema20": 77100.2,
      "ema50": 76800.4,
      "ema200": 75900.1,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "ema20": 77100.2,
          "ema50": 76800.4,
          "ema200": 75900.1
        }
      ]
    },
    "sma": {
      "sma20": 77050.3,
      "sma50": 76750.9,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "sma20": 77050.3,
          "sma50": 76750.9
        }
      ]
    },
    "bollinger": {
      "period": 20,
      "mult": 2,
      "upper": 77900.1,
      "middle": 77050.3,
      "lower": 76200.5,
      "bandwidthPct": 2.2,
      "percentB": 0.61,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "upper": 77900.1,
          "middle": 77050.3,
          "lower": 76200.5
        }
      ]
    },
    "atr": {
      "period": 14,
      "value": 410.2,
      "pctOfClose": 0.53,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "v": 410.2
        }
      ]
    },
    "vwap": {
      "value": 76990.7,
      "series": [
        {
          "t": "2026-08-22T12:00:00.000Z",
          "v": 76990.7
        }
      ]
    }
  },
  "summary": {
    "trend": "above",
    "rsiZone": "neutral",
    "macdCross": "none",
    "macdHistogram": "positive",
    "text": "BTC 1h: close above EMA50, RSI 56.2 (neutral), MACD histogram positive, no cross on the latest bar."
  },
  "fetchedAt": "2026-08-22T12:05:00.000Z"
}
FieldTypeAlways presentIn the example
sourcestringyeshyperliquid
coinstringyesBTC
intervalstringyes1h
candlesnumberyes200
windowobjectyes2 fields: from, to
lastClosenumberyes77244
indicatorsobjectyes7 fields: rsi, macd, ema, sma, bollinger, atr
summaryobjectyes5 fields: trend, rsiZone, macdCross, macdHistogram, text
fetchedAtstringyes2026-08-22T12:05:00.000Z

From an MCP client

catalog.call {
  "slug": "crypto-indicators",
  "params": {
    "coin": "BTC",
    "interval": "1h",
    "limit": 200,
    "points": 5
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for crypto-indicators; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/crypto-indicators", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "coin": "BTC",
    "interval": "1h",
    "limit": 200,
    "points": 5
  }),
});

Related tools

Crypto price

$0.001 · GET /api/crypto-price

Live crypto prices for one or many coins in any vs_currency (usd, eur, btc, eth, etc). Returns last price, 24h change %,…

Crypto news headlines

$0.002 · POST /api/crypto-news

Latest crypto headlines aggregated from the public RSS/Atom feeds of 8 major outlets (coindesk, cointelegraph, decrypt, …

Perp candles (OHLCV)

$0.001 · POST /api/perp-klines

OHLCV candles for one perpetual at intervals from 1m to 1M (1m 3m 5m 15m 30m 1h 2h 4h 8h 12h 1d 3d 1w 1M), newest last, …

Coin OHLC candles

$0.008 · GET /api/coin-ohlc

OHLC candles for a coin: days 1 (30-min candles), 7 or 14 (4-hour), 30 / 90 / 180 / 365 (daily), in any vs currency. Ret…

Crypto market pulse

$0.004 · POST /api/crypto-market-pulse

One-call market snapshot across every perpetual listed on Hyperliquid: breadth (advancers, decliners, unchanged, mean/me…

Options chain by expiry

$0.004 · POST /api/crypto-options-chain

Options chain for a currency and expiry on Deribit, sorted by strike: instrument, strike, call/put, bid, ask, mark, mark…