liqsiren

would-have-alerted audit

this page is the receipt. every cluster the model calls is written down before the outcome exists, then resolved 24 hours later against the liquidation tape this site records itself — by a fixed rule, hits and misses in one table. nothing here is typed by hand and nothing is re-scored afterwards.

what is being predicted

a prediction is one price level, on one coin, on one side. every five minutes the model rebuilds the liquidation map for every coin binance publishes margin brackets for: open interest per venue, split across the leverage brackets, each slice converted to the price it would be force-closed at, then bucketed at 0.25% of mark. buckets under $1m of modeled notional are dropped; the largest three per coin go into the trail with a timestamp, the side, the price and the modeled size — before price does anything. those four numbers are the shipped defaults, each an environment knob rather than a law.

"would have alerted" is literal: these are the levels the alert leg fires on. a level already sitting in the trail unresolved is not written twice, so a magnet that prints for six hours is one prediction, not seventy-two. cluster alerts that actually dispatched to a subscriber's rule are logged in the same table, tagged as alerts rather than model samples; the scorecard counts both and does not split them.

the open interest is real — read from each venue's own endpoint. how it distributes across leverage is an assumption, and a blunt one: equal weight per bracket, doubled on the two highest-leverage brackets because retail crowds the top, longs and shorts split down the middle. it sits in the source as a comment, and it is not tuned to flatter this page.

how a prediction is resolved

twenty-four hours after a prediction is written, the resolver sums every liquidation in our tape for that coin and that side whose print price landed inside the level's bucket, over the 24 hours following the call. reach half the modeled size and it resolves hit; anything else is a miss. no third outcome, no partial credit, no discretion — the half is a constant in the resolver, the window runs from the row's own timestamp, and the row is updated once.

that fixes what can be fixed: the level was recorded before the move, the threshold before the outcome, and the flow is scored against the tape this site publishes elsewhere — not a vendor's aggregate, not the venue's internal ledger. what it cannot fix is that the tape sees less than the market does. every print a feed dropped is size the resolver never counts, and that only pushes one way: true hits land in the miss column, never the reverse. the gaps below are the dated version of that sentence.

the scorecard

predictions logged
403,538
resolved within 24h
376,136
hit rate
0.0% of 376,136 resolved calls

generated 2026-10-07 04:17 utc

hit rate is hits over resolved calls, and it never appears here without the count it was divided by. the table is the twenty most recent resolved calls in time order — the export sorts by timestamp and takes the top of that list, so it is a window, not a selection.

time (utc)coinsidecluster priceest. sizeoutcome
2026-10-06 04:16 utcUNIlong$8.835$24Mmiss
2026-10-06 04:16 utcUNIshort$8.835$24Mmiss
2026-10-06 04:16 utcXMRlong$560.04$8.2Mmiss
2026-10-06 04:16 utcXMRshort$565.66$8.2Mmiss
2026-10-06 04:16 utcXMRlong$561.44$5.5Mmiss
2026-10-06 04:16 utcXRPlong$1.4928$92Mmiss
2026-10-06 04:16 utcXRPshort$1.5078$92Mmiss
2026-10-06 04:16 utcXRPlong$1.4253$78Mmiss
2026-10-06 04:16 utcZEClong$1,210$171Mmiss
2026-10-06 04:16 utcZEClong$1,345$171Mmiss
2026-10-06 04:16 utcZECshort$1,345$171Mmiss
2026-10-06 04:16 utcPUMPlong$0.0063$86Mmiss
2026-10-06 04:16 utcPUMPshort$0.0063$86Mmiss
2026-10-06 04:16 utcSOLlong$119.58$203Mmiss
2026-10-06 04:16 utcSOLshort$120.78$203Mmiss
2026-10-06 04:16 utcSOLlong$114.17$168Mmiss
2026-10-06 04:16 utcPUMPlong$0.0057$86Mmiss
2026-10-06 04:16 utcOPlong$0.1325$2.7Mmiss
2026-10-06 04:16 utcOPshort$0.1335$4Mmiss
2026-10-06 04:16 utcOPlong$0.1322$4Mmiss

the misses

0 hits · 376,136 misses · 376,136 resolved

misses are the point. a scorecard that publishes only its hits is an advertisement with a table in it. the outcome column carries both, the counts carry both, and rows are ordered by time rather than by outcome, so a bad week has nowhere to hide.

reading them honestly: a miss means the tape did not show half the modeled size at that level inside 24 hours. it cannot tell you which reason applies — the cluster was not a magnet, or the cascade happened and the feed did not record it.

known gaps in the data

the tape is a recording, and recordings have holes. these are the ones we know about.

binance thins its own liquidation feed

the all-market force-order stream publishes at most one message per symbol per second. during exactly the conditions this page is about — a cascade — the venue batches and drops. totals from it are a lower bound, no per-row flag says what was lost, and the distortion runs one way: real hits move into the miss column.

coin-margined prints were stored far too large until 2026-09-21

that stream also carries coin-margined contracts — btcusd_perp and its dated siblings — whose quantity is a contract count, not a coin amount: $100 of btc per contract, $10 for every other coin. until commit e739fc2 on 2026-09-21 those rows were stored as price × contracts, which overstates the notional by roughly price ÷ face value. in that fix's own live example, 1,875 btcusd_perp contracts were recorded as $156m instead of $187.5k — about 830× — and coin-margined rows made up $1.04b of a $1.6b 24-hour total that day. the collector was fixed; the rows already in the database were not rewritten.

two consequences worth separating. any figure on this site that sums the tape across that window is too big. the scorecard is not: those prints were stored under their raw contract symbols and the resolver matches on the base coin, so they never entered a resolution — if anything they left those coins less tape to hit against.

four venues record liquidations here, not six

liquidation prints come from binance, hyperliquid, okx and bybit. bybit prints start on 2026-09-23: until then the collector read bybit's allLiquidation frames against the wrong schema, so every earlier frame was dropped and there is no bybit history before that date to backfill. its feed is the unthrottled one, but it is also subscribed per symbol and capped at fifty bases — a liquidation on the fifty-first coin will not be in the tape either. hyperliquid publishes no liquidation stream at all, so those rows are reconstructed from the public trades feed by a heuristic — a large print during a fast move — and carry an estimate flag in the database; the resolver does not exclude them.

okx does publish forced liquidations on a public endpoint — probed 2026-09-23, answering, and carrying a bankruptcy price on every print. an earlier version of this page said it had been withdrawn; that was wrong. the collector against it was deployed on 2026-09-23 and is recording, so okx prints are in the tape from that date and from no earlier one — nothing was backfilled behind it, so a window opening before 2026-09-23 holds none at all. those rows are bankruptcy-priced: the okx feed publishes no fill price at all, so an okx dollar figure is bankruptcy price × size.

predictions are binance-shaped; resolution is not

a level is built from binance margin brackets against the binance mark, for coins binance tiers. resolution then sums every venue in the tape for that coin and side — there is no venue clause in the query. a level derived from binance positioning can be resolved hit by flow another venue printed.

the live tape keeps 90 days

liquidations age out of the hot database after 90 days; the nightly parquet archive keeps the rest. resolution happens inside 24 hours, so no outcome changes, but a resolved call from last quarter can no longer be re-derived from the live database alone.

what this is for

the alarm does one thing: it watches the distance between price and your liquidation and screams before the wick gets there — telegram, push or email, free, no signup.

this page is not a signal service and the hit rate is not an edge. a cluster is where other people's margin runs out, not where price has to go, and a model of it is still a model. read the scorecard as a record of whether the level was called before the move, and size as though the next call is a miss.

arm one on the calculator · the live cluster map