Coin OHLC candles
GET /api/coin-ohlcOHLC candles for a coin: days 1 (30-min candles), 7 or 14 (4-hour), 30 / 90 / 180 / 365 (daily), in any vs currency. Returns aligned {time, open, high, low, close} bars plus the window's high/low/first/last and % change. The candle sibling of crypto-history, which returns close-only points: use OHLC for technical indicators, range/volatility work and charting. Cached in-process for 60 seconds.
Input
| Field | Type | Description |
|---|---|---|
coin * | string | Coin id (bitcoin, ethereum, ...). |
days | number | 1, 7, 14, 30, 90, 180 or 365 (default 7). |
currency | string | vs currency (default usd). |
Example output
{
"source": "coingecko",
"fetchedAt": "2026-08-22T13:20:00.000Z",
"cached": false,
"coin": "bitcoin",
"currency": "usd",
"days": 7,
"count": 42,
"granularity": "4h",
"summary": {
"first": 66120.4,
"last": 68210,
"high": 69850,
"low": 64995.9,
"changePct": 3.16
},
"bars": [
{
"time": "2026-08-15T16:00:00.000Z",
"open": 66120.4,
"high": 66500.1,
"low": 65900,
"close": 66210.3
}
]
}
Try it - see the 402 challenge (free)
curl -i "https://agent402.tools/api/coin-ohlc?coin=bitcoin&days=7¤cy=usd"
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
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();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/coin-ohlc?coin=bitcoin&days=7¤cy=usd");
Related tools
Crypto order book
GET /api/crypto-orderbookL2 order-book snapshot for a spot pair: best bid/ask, mid price, spread (absolute + %), and the top N aggregated price l…
try in playground →Stablecoin peg monitor
GET /api/stablecoin-pegLive $1-peg deviation for the top USD stablecoins (USDT, USDC, USDS, DAI, USDe, PYUSD, USDD, TUSD, FDUSD by default, or …
try in playground →Wallet balance (native + ERC-20)
POST /api/wallet-balanceLook up the native coin balance (ETH/MATIC) plus every ERC-20 holding for a wallet address on Ethereum, Base, Polygon, A…
try in playground →