Every number,
traced to its source.
July is a crypto-markets research and backtesting engine, exposed as an MCP connector. Ask a plain-language market question; get back a trusted, server-rendered report — every value fetched live, lineage-tagged, timestamped, and red-team gated before it reaches you.
Synthesis you can act on — on numbers you can trace.
LLMs are strong at synthesis, and with browsing they can cite the web. The gap is live, specialized data: for a current on-chain or venue metric an LLM usually has no source to pull from — and under uncertainty, OpenAI’s own research shows models are trained to guess rather than say “I don’t know.” July removes the guesswork: every value is fetched from a named provider, lineage-tagged and timestamped, cleared by a deterministic gate and an LLM adversarial red-team, then synthesized into a desk-grade read.
Synthesis, not summary
July does not just fetch numbers and restate them. A dedicated synthesis layer turns the raw providers into a trader- and investor-grade read — regime stance, directional call, risk framing, positioning — the judgment a desk actually acts on, not a bullet list.
Named live sources
Every value is pulled live from a named provider: Glassnode (on-chain: MVRV, NUPL, SOPR, realized volatility, exchange flows), Coinbase / Kraken / Hyperliquid (spot, funding, open interest), and Alternative.me (Fear & Greed). No web scraping, no model memory.
Lineage on every value
Each number carries a lineage_id (e.g. glassnode-live-d8014f5c…) tracing to the exact provider fetch, with data_end / fetched_at timestamps you can read in the report.
Two independent red-teams
Before a report ships it clears (1) a deterministic numeric-grounding gate — a non-LLM check where an ungrounded number is a P0 block, not a footnote — and (2) an LLM adversarial red-team that independently pressure-tests the written narrative for overreach.
No substitution, honest gaps
Raw MVRV is never shown as MVRV-Z; exchange flow is never labeled ETF flow; a two-point window is never drawn as a time series. Unavailable data is shown as an explicit gap — not guessed.
The difference is where the number comes from.
LLM
- +Strong at synthesis and explanation
- ~Can cite web / news sources — when browsing is on
- –No live feed for on-chain or venue metrics
- –Under uncertainty, trained to guess rather than abstain
- –No per-value lineage or timestamp
July / PRISM
- ✓Live fetch from named providers
- ✓lineage_id + timestamp on every value
- ✓Deterministic gate + LLM adversarial red-team
- ✓Synthesized into a desk-grade read
- ✓Says “unavailable” instead of guessing
Claims you can check.
We don’t assert “LLMs make things up” as marketing — it is a documented, peer-reviewed phenomenon, including from the model builders themselves.
- Why models guess A. T. Kalai, O. Nachum, S. Vempala & E. Zhang, “Why Language Models Hallucinate” (OpenAI, 2025) — models are trained and graded to reward confident guessing over admitting uncertainty. OpenAI summary.
- Survey L. Huang et al., “A Survey on Hallucination in Large Language Models” (2024).
- Our data Glassnode · Hyperliquid · Alternative.me Fear & Greed.
Two galleries, both built from live captures.
The full 100-question battery with each embedded report, and all 17 desk commands with their exact invocation and result.