---
name: bottom-timing
description: Study (2 Oct 2026) of how to catch bottoms earlier than the MOO "SELLERS ARE DONE" 3-day pool-flow alert; 22 price/volume signals tested on 341 coins with out-of-sample check, plus the MOO wallet-level read. Read before building or trusting any bottom / "sellers done" alert.
sources: [cowork]
aliases: [catch bottoms earlier, sellers are done alert, 3 day flow alert, bottom signal test, moo bottom]
---
- [stated] 2 Oct 2026: Ben said the MOO "SELLERS ARE DONE / BUY WATCH" alert (02 Oct 07:52 Bangkok, $8.1M) came after a 30-50% pump off the bottom; asked to test approaches to catch bottoms earlier.

## MOO timeline (0xD9dB30BB0D2b8d2eae3826A1372117E058791e18, GeckoTerminal MU pool 0xc3cc877a8a7d28efdb5dbec9ae71724652431e6411aa1a9fc8928028da554aa1)
- Wick low ~$4.1M 01 Oct 23:15-23:30 Bangkok, then base $5.0-5.9M for 7h, vertical candle 02 Oct 07:30 to $8.75M, alert 07:52 at $8.1M.
- Why late: in a constant-product pool, net tokens leaving the pool IS price going up. So "3-day net flow negative" = "price above 3 days ago" (LP adds blur it). MOO was ~$10M 3 days before, so only a pump could flip it. Rebuilt from chain: 3d flow +33M MOO at 02 Oct 06:00, flipped only by the 07:00 hour buy of +32.5M MOO.
- Wallet read (Transfer logs, RH RPC): 01 Oct 23:00 hour, 18 big sellers dumped 13.6M MOO into the wick, buyers took 36.7M (net +5.6M buy). Next 7 hours big-seller selling 0 to 2.2M/h while price held $5.0-5.9M. That was the real "sellers done", visible about 02 Oct 01:00-02:00 at $5.6-5.8M. n=1.
- Same wallet test on WALLET, CLIPPY, DARK found no big sellers at all (dumps were many small sellers or thin books), so it is not a general detector.

## 22-signal backtest (1h candles, GeckoTerminal, 341 coins RH/Sol/Base/BSC/ETH, only bars 50%+ off 7d high, last 6 days excluded, 2% costs)
- Signals: +10/15/20/30/45% off fresh low, on volume, hold-then-extend, capitulation wick, absorbed capitulation, hammer, RSI exit, bull divergence, volume dry-up, structure break, tight range, deep green volume bar, 3d-flow proxy (price crosses above 72h ago) vs random entry in the same coins.
- In-sample (151 coins) "bounce held 3h above +10%, then +20%" looked best (+0.08 vs random +0.035). OUT OF SAMPLE (186 new coins) it was the WORST (-0.09). Killed.
- Out of sample nothing beat random entry in a dump; all within about +-0.05 of random, 4 exit rules (15/30, 20/50, 25/100, 30/100).
- 3d-flow proxy (current alert): at or below random in every full-sample run (-0.028 vs +0.003 at 20/50, n=162).
- Conclusion: 1h price/volume cannot time a memecoin bottom; confirmation costs the move, early picks catch knives. Only candidate edge left is wallet-level seller exhaustion, n=1.

## v2, 2 Oct 2026, Ben: "test on all coins, go deep and wide". EVERY Robinhood Chain token (Dune dex.trades, 100 days, 2,427 tokens with $300k+ volume and 200+ active hours, no survivor bias), hourly price plus wallet flows (tx_from; 0x4337 bundlers excluded; "big seller" = wallet net selling $5k+ in the prior 72h, causal)
- WINNER, W1 "big sellers went quiet": coin 50%+ off 7d high; in the last 3 to 12h one hour had big-seller selling >= $3k and >= 20% of that hour's volume; since then big-seller selling <= 10% of that hour (W1c: <= 25%); no new low (3% slack); price within 35% of the 72h low. Buy next hour.
- W1 receipts: n=224, 121 coins; stop 20 / target 50: +6.9% per trade vs random +1.6% (coin-balanced +6.3% [+2.7,+10.1] vs 0.0%); stop 30 / target 100: +14.2% vs +5.2%; liquid coins ($100k+ 24h vol) +15.2% vs +3.8%; beats random in 4 of 4 token-half x time-half cells (recent half weaker). Entry median 20% above the true low vs 80 to 124% for "+30% off low". 37% hit +50% in 3 days, 29% fell 30%.
- W1c (quiet <= 25%) n=304: +5.9% vs +1.6%, 3 of 4 cells; it caught MOO 02 Oct 04:00 Bangkok at $5.53M (alert $8.1M); W1 strict missed it (a $7.4k big-seller sell at 02:00). On MOO W1c also fired 16 Sep $16.3M, 17 Sep $17.7M, 22 Sep $13.0M, all failed.
- Losers: every "+X% off the low" confirmation (negative in all cuts), the price version of the 3-day alert (worst), the real 3-day flow flip (= random). Price-only S4/S5/S7 small edges vanish on liquid coins; bull divergence S8 small plus on liquid coins at wide exits.
- MOO exact pattern (W6: capitulation hour with buys >= sells, then 3h+ quiet): n=28, +20% at 30/100 but CI wide. TESTING.
- Not done: wallet test on Solana, Base, BSC (cost), live alert (needs Mac or droplet access; Dune lags ~7h on RH, so live needs RPC Transfer logs).
## v3, 2 Oct 2026: Ben's two other rules tested on all coins (2,427 RH via Dune + ~150 other-chain GT coins), plus the seller watch made a process
- [stated] Ben: establish the seller watch for every coin he is interested in and waiting to bottom; also believes in waiting for 50 to 61/66% pullbacks, and in the "W in the golden pocket" (low, big bounce, slightly lower or higher low, break of the bounce high, inside the 0.618 to 0.66 retracement) that solid traders use.
- Pullback depth (first touch limit buy at each fib retracement 0.30 to 0.95 of a 2x to 100x pump, and at 30 to 90% under the high; stops 15/20/30): smooth curve, no bump at 0.5, 0.618, 0.66 or 50 to 66%. RH 0.618 touch +0.4% per trade at 20/50 (n=16,372), 0.5 +0.2%, 0.786 +0.9%; random entry about +0.3%. Depth is a waiting zone, not an edge. Status: KILLED as an edge, OK as context.
- W pattern (1h with 10% or 20% bounce, and 4h with 15%; break of bounce high, second low 0.95 to 1.08x the first): in the golden pocket it is the WORST zone: 1h -4.5% per trade vs random in the same zone -0.2% (n=118); 20% bounce -8.2% (n=78); 4h -10.0% (n=40). All W overall at or below random. Only W after a shallow pullback (under 0.382) was positive (n=103/29/11). Mechanism: the W entry sits about 30% above its own stop and the GP bounce high is usually a lower high under trapped supply. KILLED.
- Combo: seller-quiet fires inside a 50 to 66% retracement: +10.5 to +10.9% per trade (n=19 W1, 30 W1c) vs random in that zone -1.1%. Small n, TESTING. Process: let the pullback reach 50 to 66%, then buy only when big sellers go quiet.
- Live SELLER WATCH v1 built: RPC Transfer logs + transaction sender lookups (matches the backtest's tx_from) + GeckoTerminal hourly price; rule W1c; BUY message only on a new fire, daily book 09:00 Bangkok, state.json last_ok for the watchdog, dead coins (95%+ down) skipped. Replay on MOO fired BUY at the 02 Oct 03:00 Bangkok hour (entry 04:00, about $5.4M), same as the backtest. First run per coin is slow (100h of logs, about 5 to 12 min), then hourly increments.
- Code https://paste.rs/Wgu1X (md5 ff9eb87cae61999f2c7e81312a311a7f), watchlist https://paste.rs/erclv (md5 be3659cdb9aab3203feb389127b5cf07, 25 coins: MOO, HOOKR, DELTA, SCHIFFY, INU, AI, PIPEDOG, then RH coins 50 to 95% down with $400k+ daily volume), installer https://paste.rs/f1m3r (md5 c66268e9b8b21a88615906124df8a01a) installs /opt/sellerwatch with an hourly timer at :12. NOT INSTALLED YET: the Mac was offline; needs tg.json (bot_token, chat_id) from an existing fleet bot and a watchdog line.
- Live read 2 Oct 14:00 Bangkok (Dune): MOO, HOOKR, DELTA, SCHIFFY, AI not in a dump any more (25 to 48% under 7d high); INU wait (88% down, sellers not quiet); BUY signal on PIPEDOG 0x5cb6f181081301b44905f3ae15419112ecabd8a6 (59% under 7d high, $76k big-seller flush 02 Oct 02:00 Bangkok, $0 since, cap about $19.5M); rotation word BUY TRENCHES.
- Stop width decides the pullback answer. Same data, first touch after a NEW ATH of a 3x+ pump, stop at minus 80% from the top, sell at minus 38.2% from the top, 14 days: 45% dip +15.3% per trade (win 79%), 50% +19.4% (74%), 61.8% +28.4% (59%, n=4,165, 2,090 coins), 70% +32.4% (46%), 75% +31.6% (36%); random entries with the same exits about minus 2%. Holds in both time halves, both token halves and with only coins that had $300k volume before the touch. No bump at 0.618: deeper = bigger payoff, lower win rate. With tight stops (15 to 30% under entry) the same touches are about 0. Confirms the chat "Ben 61.8 dip buy" line (275 coins, +16%). PROVEN on RH.
- DEPLOYED 2 Oct 2026 16:16 Bangkok on kookwatch: /opt/sellerwatch (sellerwatch.py, watchlist.txt, tg.json copied from MOO WATCH's telegram config, chmod 600, so alerts land in the MOO WATCH chat), sellerwatch.timer hourly at :12, TimeoutStartSec=0 (first run fills 100h of logs per coin, hours), cron :40 stale.py (one message on break after 3h without a good run, one on recovery; a fresh sellerwatch.db counts as alive). Bundle md5 0bd1f12840dc3c7cebf6c647d10017d6. paste.rs refused new uploads (400) that day; the Wgu1X/f1m3r links above are the older version.
- DUNE BURN, 2 Oct 2026 15:44 to 15:56 Bangkok: an untested live seller-watch SQL (cross join of an hourly grid with a "now" CTE, 260h window, all RH tokens) ran 11 minutes and billed 2,603 credits before hitting the resource cap. Monthly 4,000 credits gone until 2 Nov 2026. Rule: never send a new Dune query shape without first running it on 1 token and a 24h window, reading execution_cost_credits, and setting a hard per-query cap.
- Dune RH lag on 2 Oct 2026 was about 30 minutes (max block_time 08:12 UTC at 08:43 UTC), not 7 hours.
- DUNE COST TRAP: compute is cheap (all RH, 100 days = ~15 credits) but API RESULTS are billed by size: 114MB packed result = 1,195 credits; 525k datapoints = 114 credits. Aggregate in SQL and return small results.
- Data (temporary, this Cowork container): rh_all.json / rh_all.pkl (Dune pack), wsig.py, rhrun.py, deep.py, deep2.py, q_rh_pack.sql, fires2.pkl, plus: /home/claude/bt/ c1h/ (candles), logs/ (RH transfer logs MOO, WALLET, CLIPPY, DARK), bt.py, run.py, early.py, grid.py, wx.py, sellers.py, flow.py.


