# NetIntel Crypto OHLC API

> NetIntel Crypto OHLC API is a paid API for AI agents from netintel-production-440c.up.railway.app, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-13).

Returns OHLC candlestick price data for a cryptocurrency over a configurable lookback window or specific date, sourced from Coinbase or Kraken.

## Facts

- Endpoint: GET https://netintel-production-440c.up.railway.app/crypto/ohlc?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/netintel-crypto-ohlc-api-130564f2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0OOE_NdlAFCUxa7h7mcEt

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 netintel-crypto-ohlc-api-130564f2
```

Example prompt: Pull the daily OHLC candles for Bitcoin in USD for the last 7 days — I want to see open, high, low, close, and volume for each day along with the overall period stats like percent change.

## When to prefer this

Choose this endpoint when you need structured OHLC candlestick data with volume for technical analysis, charting, or price history review. It is ideal for agents doing crypto market analysis, building price charts, or checking historical performance over a defined period. Prefer it over generic price endpoints when you need full candle arrays rather than just a spot price, and when you want aggregate stats like period high/low and percent change in a single call. The pay-per-call micropayment model (no API key needed) makes it suitable for low-frequency agent workflows without subscription overhead.

## Known failure modes

- Unknown or unsupported cryptocurrency symbol returns an error — obscure altcoins may not be available
- Requesting more than 300 daily candles or 12 hourly candles exceeds the maximum lookback and returns a validation error (not billed)
- Invalid date format for date parameter (must be YYYY-MM-DD) returns a validation rejection (not billed)
- Using both date and days parameters simultaneously is mutually exclusive and returns an error (not billed)
- Upstream exchange API (Coinbase/Kraken) outage causes server error — not billed per NetIntel policy
- Invalid interval value (anything other than 1h/1d variants) returns a validation error (not billed)

## How this service works

Network intelligence API — 142 endpoints, all pay-per-call via x402 micropayments (USDC on Base or Solana mainnet).

NetIntel is agent fair-trade aligned: transparent per-call pricing in USDC on Base or Solana via x402, no API keys or signup, and automatic no-charge on server errors, upstream failures, and input-validation rejections — failed calls are never billed across NetIntel's network, domain, and data-intelligence endpoints.

## Output

Returns a JSON object containing an array of OHLC candles (each with timestamp, open, high, low, close, volume), aggregate period stats (open, close, avg_volume, change_pct, period_low, period_high), current price, quote currency, data source (coinbase or kraken), date range, interval, candle count, and a staleness flag.

## 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",
     "properties": {
      "vs": {
       "type": "string",
       "description": "Quote currency: USD (default), EUR or GBP. Aliases: currency, fiat, vs_currency"
      },
      "date": {
       "type": "string",
       "description": "YYYY-MM-DD price-at-date mode: that day's single daily candle + its close as price. Mutually exclusive with days/limit"
      },
      "days": {
       "type": "number",
       "description": "Lookback window, default 30. Max 300 for 1d, 12 for 1h (300 candles). Alias: period"
      },
      "limit": {
       "type": "number",
       "description": "Number of most-recent candles (the usual candle-API param). Capped at 288 for 1h, 300 for 1d. Aliases: count, candles. Use instead of days."
      },
      "symbol": {
       "type": "string",
       "description": "One ticker or full name (\"BTC\" or \"bitcoin\"); a leading $ is fine. Aliases: coin, ticker, asset"
      },
      "interval": {
       "type": "string",
       "description": "1h or 1d (default 1d). hour/hourly and day/daily accepted. Aliases: granularity, timeframe"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "vs": {
       "type": "string"
      },
      "end": {
       "type": "string"
      },
      "price": {
       "type": [
        "number",
        "null"
       ]
      },
      "stale": {
       "type": "boolean"
      },
      "start": {
       "type": "string"
      },
      "stats": {
       "type": "object",
       "properties": {
        "open": {
         "type": "number"
        },
        "close": {
         "type": "number"
        },
        "avg_volume": {
         "type": "number"
        },
        "change_pct": {
         "type": [
          "number",
          "null"
         ]
        },
        "period_low": {
         "type": "number"
        },
        "period_high": {
         "type": "number"
        }
       }

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "vs": "USD",
  "end": "2026-08-01",
  "stale": false,
  "start": "2026-07-26",
  "stats": {
   "open": 64295.61,
   "close": 62445.14,
   "avg_volume": 5791.88,
   "change_pct": -2.88,
   "period_low": 62209.81,
   "period_high": 65705.08
  },
  "source": "coinbase",
  "symbol": "BTC",
  "candles": [
   {
    "low": 64229.6,
    "high": 65511.36,
    "open": 64295.61,
    "time": "2026-07-26T00:00:00.000Z",
    "close": 65341.07,
    "volume": 2390.56790196
   },
   {
    "low": 63545,
    "high": 65705.08,
    "open": 65341.07,
    "time": "2026-07-27T00:00:00.000Z",
    "close": 63694.43,
    "volume": 5069.45269918
   },
   {
    "low": 62645.39,
    "high": 64041.02,
    "open": 63693.44,
    "time": "2026-07-28T00:00:00.000Z",
    "close": 63847.12,
    "volume": 6232.18054403
   },
   {
    "low": 63194.45,
    "high": 64665.3,
    "open": 63847.12,
    "time": "2026-07-29T00:00:00.000Z",
    "close": 63896.14,
    "volume": 8092.70552294
   },
   {
    "low": 63502.91,
    "high": 65118.08,
    "open": 63896.14,
    "time": "2026-07-30T00:00:00.000Z",
    "close": 64721.9,
    "volume": 8025.87127027
   },
   {
    "low": 62358.96,
    "high": 65360,
    "open": 64721.9,
    "time": "2026-07-31T00:00:00.000Z",
    "close": 62825.9,
    "volume": 8260.37090197
   },
   {
    "low": 62209.81,
    "high": 63093,
    "open": 62826.69,
    "time": "2026-08-01T00:00:00.000Z",
    "close": 62445.14,
    "volume": 2472.01120363
   }
  ],
  "findings": [],
  "interval": "1d",
  "candle_count": 7,
  "cache_age_seconds": 0
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/netintel-crypto-ohlc-api-130564f2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from netintel-production-440c.up.railway.app](https://www.zero.xyz/host/netintel-production-440c.up.railway.app/llms.txt)
