Skip to main content
Glama

MarketTrace agent-feed

get_footprint_events

Read-only

Order-book wall events from the 1-minute footprint of a symbol, built on the consolidated book and trade tape of Binance, Bybit, OKX and Hyperliquid. Answers: "Did a large resting order get absorbed on BTC in the last hour?", "Were bid walls pulled before this drop?", "How thin was the book this hour?". A wall = a resting price row far larger than the book's typical row (above median + 5 MAD of row sizes). kind=absorbed: trades hit the wall for at least 5% of its peak size, it still held at least 85% of that peak at the minute's close, and price did not break through it. kind=pulled: the wall fell below half of its peak while trades covered less than 30% of the drop, it did not refill within 2 seconds, and price had come within reach of it (cancelled, not filled). Scope: only price rows that traded in that minute and lie within the nearest 60 rows per side of mid are examined, so distant or untouched walls are not reported. wall_side: bid = resting buy orders, ask = resting sell orders. Per event: t = minute open, epoch ms; price = USD, lower edge of a bucket-wide row; peak_usd = largest resting size seen in the minute; executed_usd = volume traded against the wall; close_usd = resting size at the minute's close (whole dollars). At most 4 events of each kind are kept per minute, the largest peaks. thin_minutes = minutes whose resting depth near mid (within 25 bps, capped at the nearest 60 rows per side) was below the 20th percentile of the previous 2 hours, per side (bid, ask, both); classified = minutes of the window classified so far (the newest 2-3 minutes are still pending). Window: from/to as RFC3339, YYYY-MM-DD or epoch ms; default the last hour; at most 24 h per call, longer is an error, not a clamp. kinds = absorbed and/or pulled (default both); min_usd filters by peak_usd; limit 1..=150 (default 50) keeps the NEWEST events, counts cover the whole window and truncated=true says the list was cut. coverage.archive_from is when recording began; the archive only grows forward, so a window before it is honestly empty. Descriptive: an event states what the book did, not what price will do. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoWindow end (exclusive), same formats. Default: now. At most 24 h after `from` — longer is an error, not a clamp.
fromNoWindow start: RFC3339 (`2026-10-12T09:10:00Z`), `YYYY-MM-DD` (UTC midnight) or epoch milliseconds. Default: `to` minus one hour.
kindsNoEvent kinds to return: `absorbed` and/or `pulled` (default both).
limitNoEvents returned, 1..=150 (default 50). When the window holds more, the NEWEST are kept and `truncated` is true; `counts` still cover the window.
symbolYesAsset symbol: BTC, ETH, SOL, BNB, XRP, DOGE, HYPE, ZEC or ENA (case-insensitive; a `USDT` suffix is accepted).
min_usdNoSmallest `peak_usd` that counts, USD, >= 0 (default 0 = every event).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesWindow end (exclusive), RFC3339 UTC.
fromYesWindow start (inclusive, on the minute open), RFC3339 UTC.
bucketYesPrice-row width of the symbol, USD.
countsYes
eventsYesOrdered by `t`, then `kind`, then `price`; at most `limit`, the newest.
symbolYesUppercase asset symbol, e.g. `BTC`.
coverageYes
truncatedYes`true` when the window held more events than `limit`.
thin_minutesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.