# x402 Crypto Signal Batch API

> x402 Crypto Signal Batch API is a paid API for AI agents from x402-research-iota.vercel.app, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-29).

Returns live trend signals (bullish/neutral/bearish), RSI-14, price, and composite score for up to 10 crypto assets in a single pay-per-call request

## Facts

- Endpoint: GET https://x402-research-iota.vercel.app/api/signal-batch?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-crypto-signal-batch-api-c3448b56
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4hkV1SVMdt-hSGVod7APk

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 x402-crypto-signal-batch-api-c3448b56
```

Example prompt: Can you check the live trend signals and RSI for BTC, ETH, SOL, DOGE, and ADA — I want to know which ones are bullish, neutral, or bearish right now?

## When to prefer this

Choose this endpoint when you need trend signals and RSI-14 for multiple crypto assets in a single low-cost call ($0.02 flat regardless of count up to 10). It is ideal for portfolio scanning, watchlist sweeps, or any workflow needing batch technical signals rather than deep fundamental research. Prefer this over single-asset endpoints when checking 2–10 assets simultaneously to minimize cost and round-trips.

## Known failure modes

- 400 error if 'assets' query param is missing entirely
- 400 error if any asset symbol is not in the supported list (btc,eth,sol,xrp,doge,ada,avax,link,dot,ltc,bch,uni,aave,xlm,hbar,shib,sui,near,atom,fil)
- 400 error if more than 10 assets are passed in a single call
- 402 Payment Required if x402 payment header is missing or invalid
- Individual asset errors returned in errors array without failing the whole batch

## How this service works

Live trend signals for up to 10 assets in one call, flat price regardless of count. Pass ?assets=btc,eth,... from: btc,eth,sol,xrp,doge,ada,avax,link,dot,ltc,bch,uni,aave,xlm,hbar,shib,sui,near,atom,fil. Errors (before payment): 400 missing/unsupported/too many assets.

## Output

A JSON object containing a count of assets processed, an array of signal objects per asset (each with timestamp, asset symbol, current price in USD, RSI-14 value, a composite score integer, and a bullish/neutral/bearish signal label), an errors array for any unsupported or failed assets, and a disclaimer that results are informational only.

## 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": [
      "assets"
     ],
     "properties": {
      "assets": {
       "type": "string",
       "description": "Comma-separated, max 10, from: btc,eth,sol,xrp,doge,ada,avax,link,dot,ltc,bch,uni,aave,xlm,hbar,shib,sui,near,atom,fil"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "count": {
       "type": "number"
      },
      "errors": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "asset": {
          "type": "string"
         },
         "error": {
          "type": "string"
         }
        }
       }
      },
      "signals": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "at": {
          "type": "string"
         },
         "asset": {
          "type": "string"
         },
         "price": {
          "type": "number"
         },
         "rsi14": {
          "type": "number"
         },
         "score": {
          "type": "number"
         },
         "signal": {
          "enum": [
           "bullish",
           "neutral",
           "bearish"
          ],
          "type": "string"
         }
        }
       }
      },
      "disclaimer": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 2,
  "errors": [],
  "signals": [
   {
    "at": "2026-10-24T00:52:56.540Z",
    "asset": "BTC",
    "price": 80631.35,
    "rsi14": 43.71,
    "score": -1,
    "signal": "neutral"
   },
   {
    "at": "2026-10-24T00:52:56.540Z",
    "asset": "ETH",
    "price": 2373.03,
    "rsi14": 37.59,
    "score": -3,
    "signal": "bearish"
   }
  ],
  "disclaimer": "Informational only, not financial advice."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-crypto-signal-batch-api-c3448b56/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-research-iota.vercel.app](https://www.zero.xyz/host/x402-research-iota.vercel.app/llms.txt)
