edgedepth EARLY ACCESS

Search the recorded market

A search engine for crypto and TradFi microstructure. Describe a condition, or point at a moment, and get every verified occurrence in the record with its denominator, forward outcome distribution, deterministic receipt, and a one-click replay of the exact market.

Occurrences describe only the recorded markets, dates and eligible buckets reported by the scan. They are observed examples, not a guarantee. Nothing here is trading advice.

THE DEFINITION - CHIPS ARE WHAT RAN TARGET RECORD_OCCURRENCES · RESEARCH_QUERY.V2
SCOPE
identity.symboleqBTCUSDTtimes.anchor_timebetween2026-07-01 → 2026-07-15
WHERE
feature.vpin0.50
ALL VALUES CONFIRMED - THIS EXACT QUERY RUNS. NOTHING ELSE.

9 occurrences across 20,161 eligible symbol-buckets scanned

v2 · nrm.v1 · ft.v1 · rev 9add59ad · q#cb3c9125

0 BUCKETS EXCLUDED - WARMUP-ABSENT FEATURES SHRINK THE DENOMINATOR, NEVER COERCED TO 0

SETUP - AS-OF ANCHOR OUTCOMES - COMPUTED FORWARD →
ANCHOR (UTC)VPINFWD_RET_30MMFE_1HMFE_24HMAE_24HREPLAY
2026-07-01 22:22 0.607 -1.06% +0.23% +1.89% -2.24% REPLAY >
2026-07-02 09:45 0.548 +0.24% +0.62% +1.82% -0.37% REPLAY >
2026-07-03 20:20 0.565 +0.31% +0.57% +1.36% -0.48% REPLAY >
2026-07-06 12:00 0.604 -0.65% +0.01% +3.57% -1.86% REPLAY >
2026-07-11 15:38 0.555 -0.10% +0.14% +0.44% -0.86% REPLAY >
2026-07-13 10:48 0.512 +0.17% +0.33% +0.33% -1.76% REPLAY >
2026-07-14 15:32 0.507 -0.39% +0.09% +1.02% -1.06% REPLAY >
2026-07-14 17:12 0.581 +0.06% +0.46% +1.85% -0.05% REPLAY >
2026-07-14 22:21 0.531 -0.16% +0.20% +0.91% -0.84% REPLAY >
24H SPLIT · 6 OF 9 REACHED ≥ +1% · 4 OF 9 DREW DOWN ≤ −1% · OVER ALL OCCURRENCES, NEVER A FILTER
⚡ ARM AS ALERT - THE SAME DEFINITION STANDS LIVE. WHAT FIRES IS WHAT YOU COUNTED.
computed forward from anchor; not setup information

FOR HUMANS AND THEIR AGENTS

The same deterministic engine over a REST API and MCP. Your agent grounds itself on the closed feature registry, can run occurrence scans, prevalence reads and cohort comparisons, and gets counts, coverage and a reproducibility key it can return with every answer.

> Search from your own AI agent
npx -y @edgedepth/research-mcp
ONE ENGINE, THREE WAYS IN

Run it yourself, call it from code, or give it to an agent

BROWSER

Ask in plain words, inspect the exact chips before anything runs, explore snapshots and commonality, compare a matched cohort with the eligible baseline, arm live alerts, and open any occurrence in replay.

> Open Research
PUBLIC API

Send the same versioned documents over HTTPS. Registry, scans, cohorts, snapshots and published reports return the engine's canonical result contract, including denominators and reproducibility metadata.

> Read the API docs
MCP FOR AI AGENTS

Connect an agent to the read-only MCP server at https://mcp.edgedepth.com/mcp, or run @edgedepth/research-mcp locally. The agent reads the registry first, then uses the same scans, cohorts, snapshots and receipts.

> Connect an agent
RESEARCH · DETERMINISTIC

Why deterministic matters

Most market research can't be checked. A number gets posted, the data moves on, and recomputing it is impossible even for its author. EdgeDepth Research is deterministic: the same query over the same record returns byte-identical results, on any account, any day, any number of times.

Reproducibility: same question + same record = same answer SAME QUESTION q#cb3c9125 canonical hash of the confirmed chips · research_query.v2 + SAME RECORD rev 5ee5a42e dataset revision · frozen features ft.v1 · nrm.v1 = SAME ANSWER byte-identical 9 occurrences / 20,161 buckets diff = 0 bytes CHANGE ANY PART AND THE KEY CHANGES WITH IT

That works because every result carries a reproducibility key with five parts: the query grammar version, the metadata normalization version, the feature library version, the dataset revision, and the query's canonical hash. In plain words: which language the question was asked in, which rules cleaned the labels, which frozen code computed every feature, which state of the record was scanned, and which exact question ran. Same key, same bytes. Change any part and the key changes with it.

> How research works

A CLOSED, VERSIONED FEATURE LIBRARY

What you can ask

Queries are built from a closed, versioned feature library. No free-form formulas, no model-written fields: every id computes the same way for everyone, forever, under its pinned version. Today's library covers 33 features:

You ask aboutRegistry idExample ask
Toxic flow (VPIN) feature.vpin "vpin above 0.85 on majors"
VPIN regime flips feature.vpin_regime "the vpin regime entered high or critical"
One-sided book feature.book_imbalance "the book averaged half bid-sided for 15 minutes"
One-sided book, vs its own history feature.book_imbalance_pctrank "book imbalance above its own 95th percentile"
Spread blowouts feature.spread_norm "the spread blew out toward its cap"
Funding extremes, signed feature.funding_rate "funding negative at settlement"
Funding extremes, normalized feature.funding_norm "funding pinned at the extreme end of its range"
Open-interest velocity, vs its own history feature.oi_velocity_pctrank "OI velocity above its own 95th percentile"
Liquidation bursts feature.liq_intensity_norm "liquidation intensity above 0.5"
Clustered liquidations feature.cascade_clustering_index "liquidations arriving in cascades rather than independently"
Liquidated notional, trailing hour feature.liq_notional_usd_1h "at least $5 million liquidated in one hour"
Top-trader long account share feature.top_trader_long_ratio "top traders at least 65% long"
Global long account share feature.global_long_ratio "the crowd at least 60% long"
Top-trader vs crowd divergence feature.top_global_long_skew "top traders 15 points more long than the crowd"
Short-horizon returns feature.ret_15m "down 2% in 15 minutes"
Hour-scale returns feature.ret_1h "down 5% on the hour"
Hour range feature.range_pct_1h "a 3% high-to-low hour"
Realized volatility feature.realized_vol_1h "1-minute vol elevated across the hour"
Volatility, vs its own history feature.realized_vol_pctrank "vol above its own 90th percentile"
Distance from day VWAP feature.vwap_dist "stretched 2% above the day's VWAP"
One-sided tape feature.taker_buy_ratio_15m "two-thirds of the tape hit the ask for 15 minutes"
Whale-sized prints feature.large_trade_share_15m "whale prints carrying a third of volume"
Time to funding feature.mins_to_funding "within 30 minutes of settlement"
Candle body, 15-minute feature.candle_body_15m "a full-body 15-minute candle"
Candle body, hourly feature.candle_body_1h "an hour that closed where it opened"
Upper wick feature.candle_upper_wick_15m "a long upper wick"
Lower wick feature.candle_lower_wick_15m "a hammer: two-thirds lower wick"
Range compression and expansion feature.candle_compression_15m "the tightest candle in three hours"
Engulfing candles feature.candle_engulfing_15m "a bullish engulfing candle"
Engulfing candles, hourly feature.candle_engulfing_1h "an hourly bearish engulfing"
Sweep and reclaim feature.candle_sweep_reclaim_15m "swept three-hour lows and closed back above them"
Sweep and reclaim, hourly feature.candle_sweep_reclaim_1h "an hour that swept twelve-hour lows and reclaimed"
Inside and outside bars feature.candle_containment_15m "an inside bar after a big move"

Candle features read the last COMPLETED 15-minute or hourly candle as of each minute, never the one still forming, and boundary rules are strict: an equal low is not a sweep, an equal body edge is not an engulfing. When the record has no candle to reference (a market gap), the answer is absent, not improvised.

What it will never tell you →

BEYOND THE MATCHES

Outcomes, comparison, snapshots and live follow-through

OUTCOME DISTRIBUTIONS + COHORTS

Every scan summarizes what followed every match, across the full result set before paging. Compare that matched distribution with every other eligible bucket as a baseline, with counts and caveats attached. No win rates, causal claims or hidden significance score.

> Why outcomes never become filters
FROM A MOMENT

Point at a market and a minute instead of describing it: the panel reads every versioned feature as-of that bucket and proposes editable chips, marked INFERRED until you own them. Compare up to eight moments for what they honestly share.

> From a moment
FIXED-ANCHOR STRATIFICATION · COMING SOON

Define one population once, freeze its exact occurrence anchors, then classify those same anchors by a second setup-time condition as true, false or absent. Each closed group receives the same forward outcome summaries, so the split cannot move an anchor or quietly change the population.

> See the rollout status
LIVE ALERTS

Arm any verified result as a standing definition. The same frozen features and edge rules run on live data: every fire carries its observed values and a replay link.

> How live alerts work

Search the market. Keep the receipt.

33 FROZEN FEATURES · 660+ MARKETS · OUTCOME DISTRIBUTIONS
Run a query How research works BROWSER · PUBLIC API · READ-ONLY MCP

Occurrences describe only the recorded markets, dates and eligible buckets reported by the scan. They are observed examples, not a guarantee. Nothing here is trading advice.