edgedepth EARLY ACCESS

Search the recorded market

A search engine across 847 Binance USDT-M crypto and TradFi perpetuals. Describe a setup in plain words, or point at a minute that already happened, and get every time it occurred in the record: how many, out of how many chances, what followed each one, and a one-click replay of the exact market. Typical scans return in seconds.

Hyperliquid history is still being backfilled; it becomes searchable and replayable once it passes the same completeness checks as the Binance record. Cross-exchange research is in the works, and results will always say which venue they came from before any Binance-to-Hyperliquid comparison is allowed.

Results describe what happened in the scanned markets and dates, and every count says how many chances it had. They are observed examples, not a guarantee. Nothing here is trading advice.

An EdgeDepth research result showing a VPIN condition, nine matches, the number of chances scanned, a daily distribution and the ID that re-runs it
A REAL RESULT Every headline count stays attached to how many chances it had, the exact dates scanned, and the ID that re-runs the same search.
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
WHY BOTHER

Count it before you trade it

KNOW THE BASE RATE FIRST

A setup you remember from three screenshots is not a sample. Research gives you the count and the denominator: how often the condition actually occurred, out of how many chances it had, and the spread of what followed. It never tells you what to do with that. It is simply cheaper to count a setup than to trade it and find out.

SKIP THE INFRASTRUCTURE

Answering "how often did this happen" yourself means recording every market, storing the ticks, computing features without accidentally reading the future, and keeping all of it reproducible. That is weeks of work before the first question. Here it is a sentence and a few seconds, and standing alerts watch for the next one so you do not have to.

ONE ENGINE, THREE WAYS IN

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

BROWSER

Ask in plain words. The exact query appears as editable values you confirm before anything runs, so nothing executes on a guess. Then explore what the matches share, compare them against every other eligible minute, 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
BUILT TO BE CHECKED

Same question, same answer, every time

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 is different: run the same search over the same recorded history and you get exactly the same answer, on any account, any day, any number of times. Run it again next week: same answer. Send the link to a friend: same answer.

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 an ID that pins exactly how it was produced: which question ran, which frozen code measured every value, and which state of the recorded history was scanned. Anyone with the ID re-runs the exact same search and can check the answer against us. Change any part and the ID changes with it.

> How research works

A CLOSED, VERSIONED FEATURE LIBRARY

What you can ask

You describe the setup in your own words; it maps onto one of 39 fixed measurements: order flow, liquidations, funding, open interest, positioning, candle shapes and more. No free-form formulas and no hand-tuned fields, so nobody can bend a measurement to flatter a result. Today you can search:

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"
Descending resistance in force feature.desc_resistance_active "sitting under a descending resistance line on both timeframes"
Support slope under that line feature.desc_resistance_support "rising support into descending resistance"
Coil tightness feature.desc_resistance_compression "price compressing hard between the line and its support"
Age of the line feature.desc_resistance_span_days "a descending line at least three weeks old"
Distance to the line, in ATR feature.desc_resistance_dist_atr "pressed within half an ATR of the line"
Touches on the line feature.desc_resistance_touches "a line touched at least four times"

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

WHAT FOLLOWED, OVER EVERY MATCH

Every search summarizes what followed every match, not just the flattering ones, and lets you compare that against the market's normal behavior. No win rates, causal claims or hidden significance score.

> Why you can't filter on what happened next
FROM A MOMENT

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

> From a moment
SPLIT BY A SECOND CONDITION · COMING SOON

Take one set of matches and ask how they differed when a second condition was also true, false, or unknown at the same moment: the split can never quietly change which matches you're looking at.

> 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

Test your setup against everything that happened.

39 THINGS YOU CAN SEARCH · 847 BINANCE MARKETS · EVERY MATCH REPLAYABLE
Run a search How research works FREE TO START · BROWSER · API · MCP

Results describe what happened in the scanned markets and dates, not a guarantee it happens again. Nothing here is trading advice.