# Tanod chainpeek OHLCV Candles

> Tanod chainpeek OHLCV Candles is a paid API for AI agents from tanod.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-13).

Returns OHLCV price candles for ETH/USD or BTC/USD computed from on-chain Uniswap v3 swap data on Base, with intervals from 5 minutes to 1 day.

## Facts

- Endpoint: POST https://tanod.dev/v1/chain/candles?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-chainpeek-ohlcv-candles-27c702af
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_enNcZD5qJe2QzP7AVlCUz

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 tanod-chainpeek-ohlcv-candles-27c702af -d '<json body>'
```

Example prompt: Pull me the last 48 hourly OHLCV candles for WETH/USDC from chainpeek — I want on-chain price data computed from Uniswap v3 swaps on Base.

## When to prefer this

Choose this endpoint when you need OHLCV price candles for ETH or BTC that are derived directly from on-chain DEX swap activity (Uniswap v3 on Base) rather than centralized exchange order books. Ideal for DeFi analytics, on-chain trading bots, or any use case requiring trustless, verifiable price history. Prefer it over CEX-based price APIs when Base/DeFi context matters, or when you specifically need cbBTC (Coinbase-wrapped BTC) pricing.

## Known failure modes

- Invalid pair value (not WETH/USDC or cbBTC/USDC) returns validation error
- Interval not in allowed enum (5m, 15m, 1h, 4h, 1d) returns error
- Limit exceeds lookback cap for the given interval returns capped or error response
- Payment not provided or insufficient (x402 payment required at $0.003 USDC per call)
- Base chain RPC unavailability may cause upstream data gaps or timeout

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

A list of OHLCV candle objects (ordered newest last) for the requested pair and interval, each containing open, high, low, close prices in USDC terms and trade volume, computed from actual on-chain Uniswap v3 swap events on Base. Returns up to the requested limit of candles within the lookback caps (200 for 5m/15m, 168 for 1h, 42 for 4h, 30 for 1d).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "pair": {
   "enum": [
    "WETH/USDC",
    "cbBTC/USDC"
   ],
   "type": "string",
   "description": "WETH/USDC (ETH in USDC, Uniswap v3 0.3% pool on Base) or cbBTC/USDC (BTC in USDC, Uniswap v3 0.05% pool on Base)."
  },
  "limit": {
   "anyOf": [
    {
     "type": "integer",
     "maximum": 200,
     "minimum": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Number of candles, newest last. Default 48 (1d: 30). Lookback caps: 5m and 15m 200, 1h 168, 4h 42, 1d 30."
  },
  "interval": {
   "enum": [
    "5m",
    "15m",
    "1h",
    "4h",
    "1d"
   ],
   "type": "string",
   "default": "1h",
   "description": "Candle length, UTC-aligned."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "dex": "uniswap_v3",
  "fee": 3000,
  "base": {
   "symbol": "WETH",
   "address": "0x4200000000000000000000000000000000000006",
   "decimals": 18
  },
  "note": "Computed by Tanod from public Uniswap v3 Swap events of one pool on Base: open/high/low/close are the pool's post-swap prices, volumes the absolute swapped amounts. DEX prices can differ from centralized exchanges (fees, arbitrage lag, MEV and sandwich trades inside a block, depegs of the quote stablecoin). A candle without swaps carries the previous close with zero volume; the last candle is still forming. Informational only, not investment advice.",
  "pair": "WETH/USDC",
  "pool": "0x6c561B446416E1A00E8E93E221854d6eA4171372",
  "as_of": 1791459117,
  "chain": "base",
  "count": 3,
  "quote": {
   "symbol": "USDC",
   "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "decimals": 6
  },
  "source": "Uniswap v3 swaps on Base (on-chain)",
  "candles": [
   {
    "t": 1791450000,
    "low": 2562.420829,
    "high": 2564.536011,
    "open": 2564.53549,
    "close": 2562.440508,
    "swaps": 162,
    "volume_base": 283.1768169,
    "volume_quote": 723823.9884
   },
   {
    "t": 1791453600,
    "low": 2554.931469,
    "high": 2562.444764,
    "open": 2562.440275,
    "close": 2554.931473,
    "swaps": 332,
    "volume_base": 978.302039,
    "volume_quote": 2495689.547
   },
   {
    "t": 1791457200,
    "low": 2533.962543,
    "high": 2554.934474,
    "open": 2554.932156,
    "close": 2533.963891,
    "swaps": 409,
    "volume_base": 2643.973295,
    "volume_quote": 6707581.103
   }
  ],
  "interval": "1h",
  "as_of_iso": "2026-10-08T11:31:57Z",
  "price_unit": "USDC per WETH",
  "timestamps": "Bucketed by block timestamp (UTC, interval-aligned): each log's blockTimestamp, else estimated from Base's fixed 2 s block time anchored at the latest block.",
  "as_of_block": 52334885,
  "interval_seconds": 3600,
  "last_candle_partial": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-chainpeek-ohlcv-candles-27c702af/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
