A fair, side-by-side look at token-compact market data for AI agents — and an honest answer to when you should reach for raw candles instead.
Raw candle/OHLCV APIs give you every tick and total control. patternfetch gives an LLM agent the digested market state — patterns, levels, regime, interpreted indicators, and a one-line summary — in a fraction of the tokens. Use raw when you need full granularity; use patternfetch when an agent needs cheap, ready-to-reason context.
They are not really competitors so much as different shapes of the same underlying data. A raw API is a firehose you process yourself. patternfetch is a pre-chewed summary an LLM can read directly. The right choice depends on whether you or a model is the consumer.
| Capability | patternfetch | Raw OHLCV / candle API | Generic crypto data API |
|---|---|---|---|
| Output shape | Digested brief (patterns, levels, regime, indicator state, summary) | Raw OHLCV arrays you parse yourself | Raw arrays / mixed endpoints (prices, tickers, order books) |
| Tokens per call into an LLM | Compact — a few hundred tokens | Large — thousands of tokens for a long candle array | Large — raw payloads, often more verbose JSON |
| Numeric-hallucination risk for an LLM | Lower — interpreted state + one-line summary, little arithmetic for the model | Higher — the model must do its own math on raw numbers | Higher — same raw-number problem |
| Candlestick + chart patterns | Yes — detected with confidence | No — you compute them | No — you compute them |
| Support / resistance levels | Yes — clustered with strength | No | No |
| Trend / regime label | Yes — trend, strength, volatility | No | No |
| Interpreted indicators (RSI / EMA / ATR) | Yes — value and state (e.g. "neutral", "above_20_50") | No — raw values at best, usually you compute them | Sometimes raw values; rarely interpreted |
One-line summary (nl field) |
Yes — ready-to-reason natural-language line | No | No |
| MCP server | Yes — Streamable HTTP at /mcp |
Rare / varies | Varies |
| OAuth one-click connect | Yes — Authorize once, key minted for you | Rare | Rare |
| Pay-per-call with x402 / no account | Yes — USDC on Base, no signup; plus Stripe | Rare — usually account + plan | Rare — usually account + plan |
| Full tick granularity / compute your own indicators | Limited — compact candles via /v1/candles, not bulk tick export |
Yes — this is what raw APIs are for | Often yes — depends on the provider |
"Higher/lower hallucination risk" is relative, not a benchmark: the more raw arithmetic an LLM has to do on long number arrays, the more it tends to slip — which is the failure mode the interpreted brief is designed to avoid (see the methodology). We've tried to be honest in both directions: patternfetch wins on agent-readiness and token cost; raw APIs win clearly on granularity and control. "Generic crypto data API" varies a lot by vendor, so those cells say "varies" where a blanket claim would be unfair.
Be candid: there are jobs where a raw candle/OHLCV API is simply the right tool, and patternfetch is not.
In all of these, you are the consumer and you want maximum control. That's the firehose case.
The flip side: when an LLM or agent is the consumer, the digested brief is usually the better shape.
[
[1718000000000, 60125.4, 60480.0,
59890.1, 60310.7, 1284.5],
[1718014400000, 60310.7, 60720.2,
60180.0, 60655.9, 1102.8],
… 198 more rows …
]
// then: you compute RSI, EMA, ATR,
// find patterns, cluster S/R, label
// the regime — and feed it all to the
// model as thousands of tokens.
{
"codec": { "rows":"60125.4,60480,…",
"sax":"dcefdcbe","precision":1 },
"analysis": {
"patterns":[{"name":"double_bottom",
"confidence":0.86}],
"levels":{ "support":[{"price":59820.4}],
"resistance":[{"price":63450.8}] },
"regime":{ "trend":"up","volPct":2.13 },
"indicators":{ "rsi":{"v":58.3,"state":"neutral"} },
"nl":"BTC/USDT: uptrend (moderate),
RSI 58.3 (neutral), double_bottom 0.86."
}
}
Note the brief still carries codec.rows — the underlying OHLCV numbers — so you're never locked out of the raw data. You just don't have to spend tokens (or a model's arithmetic) on it unless you want to. See it live →
A no-signup demo (POST /v1/demo), free MCP tool discovery, and a free key with $0.05 starter credit (~5 briefs) — no card. Then pay per call: brief $0.01, candles $0.005, delta $0.008, analogs $0.05. Pay with x402 (USDC on Base, no account) or a Stripe card. Full breakdown on the pricing page.
Yes — POST /v1/candles returns the compact candle codec on its own for $0.005. It's the same OHLCV data, just token-cheap. For bulk tick export or full-precision history, a dedicated raw candle/OHLCV API is the better fit.
Yes. Every brief includes codec.rows — the actual OHLCV values in a compact, decodable string — plus codec.precision and a SAX shape signature. The interpreted state and the raw numbers travel together.
No. It's impersonal market data and algorithmic signals, for informational purposes only — not advice, not personalized, non-executing. See the disclaimer.