< One-sided tape: buyersBTCUSDT · historical base rate

One-sided tape: buyers on BTCUSDT

Taker buy ratio over the last 15 minutes has run at 0.62 or more: a persistently buyer-heavy tape.

What has happened on BTCUSDT when it held

Historically, when One-sided tape: buyers on BTCUSDT held (333 occurrences in the scanned window, 323 with a computable 24h horizon), the market reached +5% within 24h in 1 of 323 (0.3) and drew down 10%+ in 0 of 323 (0.0). Maximum favorable (MFE) and maximum adverse (MAE) excursions, both computed forward.

Outcome distribution

WHAT FOLLOWED - ALL 333 MATCHES, FROM THE PER-SCAN SUMMARY

0 OF 331 (0.0%) REACHED +5% WITHIN 1H

METRIC MFE_1H · CHIPS RE-READ THE SUMMARY, NEVER RE-QUERY

🔒 COMPUTED FORWARD, NEVER A FILTER · DENOMINATOR 331 = MATCHES WITH A COMPLETE 1H HORIZON (2 ABSENT: TOO CLOSE TO THE RECORD EDGE FOR 1H - NEVER TRUNCATED, NEVER AN IMPLIED ZERO)

OCCURRENCES PER DAY · UTC · SUM 333 - ALL 333, NOT THE PAGE
MAX 15 · 2026-07-2607-0607-1307-2007-272026-07-01 TO 2026-07-31 · 31 UTC DAYS · ZERO DAYS KEEP THEIR SLOT

About 11 a day, on 29 of 31 days: spread through the record rather than one event.

FWD_RET_30M DISTRIBUTION · 332 PRESENT · 1 ABSENT
≥ +5: 0 OF 332000000167164100000≤-20-20..-15-15..-10-10..-5-5..-2-2..-1-1..00..+1+1..+2+2..+5+5..+10+10..+15+15..+20≥+20

Forward 30-minute returns across 332 matches: close to an even split, which is what a coin flip looks like.

Upside reached (MFE, 24h)Drawdown (MAE, 24h)

Versus baseline

Historically, when any eligible BTCUSDT minute in the window (baseline) held (37,800 occurrences in the scanned window, 36,410 with a computable 24h horizon), the market reached +5% within 24h in 184 of 36,410 (0.5) and drew down 10%+ in 0 of 36,410 (0.0). Maximum favorable (MFE) and maximum adverse (MAE) excursions, both computed forward.

The full record

The same setup counted over every recorded day on BTCUSDT (2026-05-15 to 2026-07-31), growing daily.

Historically, when One-sided tape: buyers on BTCUSDT over the full record held (809 occurrences in the scanned window, 799 with a computable 24h horizon), the market reached +5% within 24h in 5 of 799 (0.6) and drew down 10%+ in 0 of 799 (0.0). Maximum favorable (MFE) and maximum adverse (MAE) excursions, both computed forward.

WHAT FOLLOWED - ALL 809 MATCHES, FROM THE PER-SCAN SUMMARY

0 OF 807 (0.0%) REACHED +5% WITHIN 1H

METRIC MFE_1H · CHIPS RE-READ THE SUMMARY, NEVER RE-QUERY

🔒 COMPUTED FORWARD, NEVER A FILTER · DENOMINATOR 807 = MATCHES WITH A COMPLETE 1H HORIZON (2 ABSENT: TOO CLOSE TO THE RECORD EDGE FOR 1H - NEVER TRUNCATED, NEVER AN IMPLIED ZERO)

OCCURRENCES PER DAY · UTC · SUM 809 - ALL 809, NOT THE PAGE
MAX 16 · 2026-05-17MAY 15JUN 01JUL 012026-05-15 TO 2026-07-31 · 78 UTC DAYS · ZERO DAYS KEEP THEIR SLOT

About 10 a day, on 76 of 78 days: spread through the record rather than one event.

FWD_RET_30M DISTRIBUTION · 808 PRESENT · 1 ABSENT
≥ +5: 0 OF 808000002406396400000≤-20-20..-15-15..-10-10..-5-5..-2-2..-1-1..00..+1+1..+2+2..+5+5..+10+10..+15+15..+20≥+20

Forward 30-minute returns across 808 matches: close to an even split, which is what a coin flip looks like.

Reproducibility key (q#da3357ae)
grammar
research_query.v2
normalization
archive_normalization.v1
feature library
feature_defs.v1
dataset revision
52a43a418a97fbe3a324f7c372fa4d53967163acaa0ed33c56b78ddd897331a4
query hash
da3357ae21d41c2b96c647aadce1fe49bb6fe4b12e81cb5e1ce11e920a936cbc
scanned window
2026-07-01T00:00:00.000Z to 2026-07-31T00:00:00.000Z (UTC)

Same key, same bytes. This receipt reruns; it does not retell. When the record grows, the dataset revision changes and says so.

Re-run this over the API or MCP

This is the exact research_query.v2 definition behind the receipt. Send it to the key-authed research API (or the MCP research tool) and diff the bytes: a cached rerun is free.

{
  "schema_version": "research_query.v2",
  "normalization_version": "archive_normalization.v1",
  "feature_version": "feature_defs.v1",
  "target": "record_occurrences",
  "where": {
    "all": [
      [
        "feature.taker_buy_ratio_15m",
        "gte",
        0.62
      ],
      [
        "identity.symbol",
        "eq",
        "btcusdt"
      ],
      [
        "times.anchor_time",
        "between",
        [
          "2026-07-01T00:00:00.000Z",
          "2026-07-31T00:00:00.000Z"
        ]
      ]
    ]
  },
  "sort": [
    "times.anchor_time",
    "desc"
  ],
  "page": {
    "limit": 50,
    "cursor": null
  }
}
curl -s https://app.edgedepth.com/api/v1/research/query \
  -H 'authorization: Bearer $EDGEDEPTH_API_KEY' \
  -H 'content-type: application/json' \
  -d '{"schema_version":"research_query.v2","normalization_version":"archive_normalization.v1","feature_version":"feature_defs.v1","target":"record_occurrences","where":{"all":[["feature.taker_buy_ratio_15m","gte",0.62],["identity.symbol","eq","btcusdt"],["times.anchor_time","between",["2026-07-01T00:00:00.000Z","2026-07-31T00:00:00.000Z"]]]},"sort":["times.anchor_time","desc"],"page":{"limit":50,"cursor":null}}'

How to read this

  • Counts ship with denominators: occurrences across the eligible symbol-buckets scanned. A rate is over the occurrences with a computable horizon (present), never the total.
  • Absent is absent. When a feature was not warm at a minute, that bucket leaves the denominator and is reported; it is never coerced to zero.
  • This selects a setup, never its outcome. The grammar forbids filtering on what followed (OUTCOME_IN_PREDICATE), so the distribution below is over every occurrence, not a survivorship-picked subset.

Occurrences are observed examples in a selected archive, not a guarantee. Outcomes are computed forward from each anchor and are descriptive, never a filter and never a prediction. Nothing here is trading advice.

Everything measured on BTCUSDT right now: the BTCUSDT research page