Original Research Lead hypothesis, a Wyckoff 'effort vs result' absorption event on daily spot bars. On a day when an alt trades at least twice its normal volume but the candle body stays small (open-to-close move no more than half of the 20-day ATR), and the close sits in the bottom third of the 20-day high-low range, heavy supply met equal demand near the lows: someone absorbed the selling without letting price fall. The panel buys that name on BINANCE_SPOT and holds it for a fixed 3 days. It is NOT the down-shock/capitulation absorption family (those need a <=-2.5 to -3 sigma return; this one requires a SMALL return), NOT NR7 (range compression with no volume condition) and NOT a breakout. It is long-only on the no-leverage spot venue, which is the highest-survival venue and is under quota (10.4% vs >=15%). Venue/instrument choice: 22 alts, none of them BTC or ETH, so it adds no BTC concentration. Fixed-rule pre-measurement on these exact names (Binance spot daily bars 2018-2026, close-to-close 3-day forward return, no costs): the condition fired 343 times on 176 distinct dates. Mean forward return was +2.04% (median +1.40%, 59.5% positive) against +0.36% for all name-days, so the incremental gross expectancy attributed to the signal is about +1.7% per trade. Calendar-year means were positive in 8 of 9 years (2020 was -3.7%). Drop the range-position filter and the mean falls to +1.73% (1,251 events); tighten the body to 0.3 ATR and it is +1.11% (209 events). The edge depends on all three conditions together, so all three are tunable with ranges. Execution: the platform fills a bar-close decision on a 24/7 venue at that bar's close, which is the faithful equivalent of the next day's open; this substitution is stated here. Universe (point in time, as best the data allows): a fixed, pre-registered list of 22 Binance spot USDT pairs, chosen because they were listed before 2021-01-01, not because they survived. The base template's listing calendar closes and excludes any leg once it is delisted, and a leg trades only while is_listed() is true. Residual survivorship caveat: the list was drawn from names still in the catalog today.