Refused buys

Every proven-wallet buy Gold v2 refused on Sunday, what each token did afterwards, and which refusal classes saved or cost money.

Refused buys report · REPORT-refused-buys.md · updated 06/09/2026 20:14:42

Refused-buys lane of analysis-2026-09-06/. Window 2026-09-06 08:00Z to 17:00Z (11:00 to 20:00 Beirut), pinned so the table is reproducible while the feed keeps growing. Data: analysis-2026-09-06/data/refused/refused.json, built by refused.mjs, tabulated by ledger.mjs into ledger-out.md. Read-only on live systems.

TLDR

  1. 122 refusals, 60 distinct tokens, zero live buys. The feed and the log agree exactly: 122 and 122, no gap, no unmatched row.
  2. Almost nothing here is tunable. 101 of the 122 rows fail two or more gates at once; only 21 rows fail exactly one, and they are 17 age rows, 2 heat rows and 2 liquidity rows.
  3. The liquidity floor looks like it cost the most (+852 replayed points across 15 tokens) but +707 of those points sit on 10 tokens that the rug-ratio gate refuses independently, and 10 of the 15 are dead or delisted tonight. Moving the liquidity floor alone reaches two tokens and +55 points.
  4. The band and liquidity-ceiling refusals were pure money saved: the Mid paper book took the same four fresh $1.2M pools we refused (DORAE, AURA, ROB, ZDOG) and closed all four at liquidity_pulled, -$50 each.
  5. The best single-knob candidate is the 60 min age ceiling: 17 rows, 13 tokens, +104 points (+$52 at a $50 ticket) with no rug in the set. Median +60 min is -0.3%, so it is a thin, two-name edge, not a rule.
  6. Two of the day's biggest movers would have been throttled by the ladder, not by the filter: Investor peaked +1439% and the live ladder gives +39.5 points; PAIRCAT peaked +680% and gives +106.5. That is a positions-lane finding, not a filter one.
  7. The rug gate did fire today, on 40 rows across 17 tokens, and 14 of those 17 are dead or gone tonight. It refused nothing that was already live, so no lot was lost to it.

1. The population, and the two sources reconciled

data/watchtower/feed.jsonl, rows with ts in the window: 122, every one live.state == "skipped". /var/tmp/crypto-watchtower.log, lines V2 Gold v2 skip <SYM>: <reason> in the same window: 122. Joined on symbol plus second, 0 unmatched on either side. The 121 Thomas saw at 19:35 Beirut is the same series one row earlier.

The two sources carry different refusal phrases for the same row, and that is by design, not a bug. watchtower/shadow.mjs:1148 logs verdicts[set.name], which comes from walletSkip() (the paper set in watchtower/rules-v2.json, order: liquidity, mcap, wallet spend, cohort, then band/age/heat/rug). live.reason comes from tagLive() and is the live follower's own filterSignal() in executor/follower.mjs:251 (order: band, age, liquidity, heat, cohort, rug, handle, wallet rug rate). Both refuse the same 122 rows; each names the first gate it happened to reach.

class (log, watchtower first-fail) rows class (feed, follower first-fail) rows
liquidity under the $25k floor 49 liquidity under the $25k floor 40
mcap over the $1M cap 36 band not in [under 250k, 250k to 1M] 45
age over the 60m ceiling 18 age over the 60m ceiling 27
band not in [under 250k, 250k to 1M] 8 age under the 2m floor 3
wallet paid under the $100 floor 5 liquidity over the $400k ceiling 5
liquidity over the $400k ceiling 3 heat over the +500%/1h ceiling 2
heat over the +500%/1h ceiling 2
cohort wallets over the ceiling 1

The honest picture is neither column. Recomputing every gate from each row's own fields against executor/follower.json (refused.mjs allFails()):

gates a row fails rows
exactly one 21
two or more 101
none 0

Rows failing exactly one gate, which is the entire reach of any single-knob change: age ceiling 17 rows / 13 tokens (OOF, GASOLINU, Titties, BUDDY, PERPSHOOD, PEN, CHROME, VERITY, STOX, POINTFARMCAP, INCEL, hoodrat, DEMOTHREE), heat 2 rows / 2 tokens (NODAL, WORTHLESS), liquidity floor 2 rows / 2 tokens (Investor, INVEST).

The rug gate refused nothing on its own, but it is not idle: it flags 40 of the 122 rows across 17 tokens, always alongside another gate. The claim in the brief that "the rug gate refused nothing today" is true for the follower's first-fail string and false for the underlying test.

2. What happened after each refused buy

Method: GeckoTerminal minute candles for each token's pool, honest entry = the close of the minute containing the signal (refused.mjs, cache research/reviews/candle-cache/). The live Gold v2 ladder from executor/follower.json .exit is replayed on 60 s bars, adverse extreme first, with the same simulate() the positions lane uses (analysis-2026-09-06/data/positions/lib.mjs). Current pool state from DexScreener, one batched read.

58 of 60 tokens have a candle path (BLACKMARKET and AUREN have no GeckoTerminal pool). Across those 58: median +60 min -0.2% (n=43 with a full hour), median +240 min -6.2% (n=24), 15 tokens peaked at or over +60% inside 240 min, 13 inside 60 min, 7 are provably pulled or drained, and 12 more have no DexScreener pair at all tonight.

The full 60-row table is in analysis-2026-09-06/data/refused/ledger-out.md under "Per token". The movers:

sym rows first class mcap liq age m +15 +60 peak240 (min) dd from peak liq now v2 pts
HOOKED 7 14:28 liq-floor 2,507 4,988 1 +504 +712 +875 (98) -17 -100% +327
JBI 4 14:31 liq-floor 2,620 4,579 5 - - +414 (9) -51 -100% +186
BILL 6 12:51 liq-floor 6,372 5,672 6 +1412 +1409 +1412 (14) -100 no pair +115
PAIRCAT 5 10:55 liq-floor 7,590 6,700 4 +36 +148 +680 (183) -43 +227% +107
sue 6 10:22 liq-floor 3,818 4,385 7 +2191 - +2226 (54) -100 no pair +80
HSTR 1 12:50 liq-floor 40,003 20,521 793 +57 +91 +97 (58) -64 +1% +57
DEMOTHREE 1 16:28 age-ceiling 720,533 247,210 8211 +95 - +95 (15) -0 +7% +52
RSRV 1 15:09 mcap-cap 2,457,733 159,879 1238 +34 +47 +105 (35) -51 +8% +46
Investor 1 12:46 liq-floor 33,291 14,835 16 +45 -41 +1439 (170) -89 +153% +40
POINTFARMCAP 1 14:04 age-ceiling 160,621 39,594 62 -17 -22 +50 (3) -78 -14% +24
Titties 2 09:26 age-ceiling 534,121 27,211 2259 -3 -14 +290 (224) -44 +17% +23
BEN 6 11:27 liq-floor 13,039 8,127 5 +612 +612 +613 (63) -100 -100% +22
WOLF 6 12:29 liq-floor 9,769 8,150 4 +19 -61 +85 (6) -81 -39% -55
Y 2 09:31 liq-floor 7,254 6,483 4 -32 -30 +22 (4) -61 -37% -48
hoodrat 1 14:45 age-ceiling 426,326 53,035 1139 -24 -56 +29 (129) -15 +47% -24

The five biggest replayed winners are all sub-$10k-liquidity pools minutes old. Four of the five are worth $0 to $5 of liquidity tonight or have no pair at all; the fifth, PAIRCAT, is the one survivor. The runners and the rugs are the same population.

Followed-wallet sells, from data/watchtower/shadow-state.json .walletSells: 12 of 60 tokens saw the wallet that triggered the call sell it again inside the window. The fast ones were right (INVEST sold at 1 min, token -95% by +60; Nan sold at 2 min, -65%; POINTFARMCAP sold at 12 min, -22%) and the slow ones sat through the whole move (PAIRCAT sold at 167 min after +680%, Investor at 173 min after +1439%). walletExit is off in the live ladder and nothing today argues to turn it back on: n=12, split.

3. The ledger by reason class

Points are the live Gold v2 ladder replayed on 60 s bars, one $50 ticket per distinct token, 100 points = the ticket doubled. "Dead" = pulled, drained, delisted from DexScreener, or under -80% at +240.

class (watchtower first-fail) rows tokens with a path made +60% inside 60m dead or -50 by +240 median +60m pts $ at $50
liquidity floor 49 15 14 10 10 +51.9 +852.4 +426
mcap cap 36 20 20 1 0 +0.0 +81.4 +41
age ceiling 18 14 14 1 2 -0.4 +115.6 +58
band 8 5 5 0 4 -0.9 -1.0 -1
wallet spend floor 5 5 4 0 3 -30.7 -7.7 -4
liquidity ceiling 3 3 3 0 3 - -2.3 -1
heat ceiling 2 2 2 0 1 -37.7 -6.8 -3
cohort 1 1 1 1 1 - +16.0 +8
all 122 60 58 13 24 -0.2 +1032.8 +516

Which class saved money. Band, liquidity ceiling, wallet spend and heat, together 18 rows, 15 tokens, -18 points. Eleven of those 15 tokens are dead tonight. The clean proof is the Mid paper book in data/watchtower/paper-ledger-v2.jsonl: it opened the four fresh $1.2M pools Gold v2 refused on band and closed every one at liquidity_pulled, -$50 each, -$200 for the day.

set token opened mcap liq liq/mcap age closed pnl
Mid DORAE 09:02 1,234,203 1,221,891 0.99 2m 09:02 liquidity_pulled -$50.00
Mid AURA 10:55 1,237,206 1,224,865 0.99 3m 10:56 liquidity_pulled -$50.00
Mid ROB 13:01 1,327,640 1,254,952 0.95 3m 13:01 liquidity_pulled -$50.00
Mid ZDOG 16:29 1,304,019 1,284,524 0.99 7m 16:32 liquidity_pulled -$50.00
Hot NODAL 10:42 763,663 81,583 0.11 46m 10:50 wallet_exit -$35.40
Hot WORTHLESS 13:53 405,418 52,836 0.13 27m 14:14 time_stop +$43.38
Gold OOF 08:42 101,966 75,217 0.74 55211m 09:13 no_progress -$5.85
Gold RYDER 12:39 68,493 27,213 0.40 58587m 12:54 breakeven_stop +$27.51

DexScreener still prints $1.22M of liquidity on DORAE and AURA right now. The paper book's PoolManager read is the one that is right. That is the CYBERDOG lesson holding a second time, and it is why the DexScreener "liquidity now" column above is a floor on the damage, not the damage.

Which class cost money. On paper the liquidity floor, +852 points. Split it by whether the same row also fails the rug ratio (liq/mcap at or over 0.82 under 60 min):

liquidity-floor tokens n pts dead tonight
also refused by the rug ratio 10 (HOOKED, JBI, BILL, PAIRCAT, sue, HFROG, AUREN, TSMGO, Y, WOLF) +706.6 7 of 10
pass the rug ratio 5 (HSTR, Investor, BEN, INVEST, fomocat) +145.8 3 of 5
reachable by moving the liquidity floor and nothing else 2 (Investor, INVEST) +54.6 1 of 2

So the liquidity floor's headline cost is a double lock: 83% of it is money the rug gate refuses anyway. The rug gate was installed this morning against ZEP, PEZZED and PEZ; today it flagged 17 tokens and 14 are dead or gone. It is doing its job, and it is also standing in front of the day's only real runners. That tension is the finding, and it is not resolved by moving either number.

4. Behaviour, and what Sunday actually was

Repeat wallets. 33 handles, 33 wallets, 122 rows. frankdegods alone is 14 rows on 13 tokens and is on the follower's handlesDeny list, so it can never buy; Quanterty 10 rows on 10 tokens, AvgJoesCrypto 7, kyle 7, change 6. The same six to eight handles hit the same micro-launch inside minutes of each other: sue drew 6 wallets in 11 minutes, BEN 6 in 6 minutes, BILL 6 in 5 minutes, HOOKED 7 in 38 minutes, JBI 4 in 7 minutes. This is a cohort that sprays every sub-$10k launch, not a set of independent calls.

Tokens refused repeatedly while running. HOOKED 7 rows over 38 min while liquidity went $4,988 to $13,716 and mcap $2,507 to $7,616 (peak +875%, liquidity $4 now). sue 6 rows over 11 min, liquidity $4,385 to $16,754, mcap $3,818 to $55,854 (peak +2226%, no pair now). PAIRCAT 5 rows over 150 min, liquidity $6,700 to $16,091 (peak +680%, and the one survivor, liquidity +227% tonight). AI 10 rows over 413 minutes on a $208M token whose best minute all day was +0.8%.

Liquidity crossing the floor. None of the repeatedly-refused tokens crossed $25,000 while we were still seeing rows on them; the closest were sue at $16.8k and PAIRCAT at $16.1k. PAIRCAT is at $21.9k now, still under the floor. So a "re-check the floor on the second call" rule would have admitted nothing today.

The mcap-cap names. PONS ($653M, "Pons"), CASHCAT ($230M, "Cash Cat"), AI ($208M, "Artificial Inu"), MEME ($35M), SHROOM ($29M, "MUSHROOM"), BONER ($27M), microduck ($24M), NUDES ($19M), MOO ($18M), UBIK ($16M) are old established Robinhood Chain memecoins, 4.5 to 80 days old, not new launches over $1M. One genuine tokenised stock is in the set: SPCX, "Space Exploration Technologies Corp. Class A Common Stock, Robinhood Token", $8.9M mcap, $2.6M liquidity, 66 days old, 4 rows, and it moved +2.2% all day. As a class these 20 tokens made 1 token over +60% and returned +81 points on 20 tickets, which is a rounding error for $1,000 of capital.

The age-ceiling names. Old and mid-cap: median age 5,257 minutes (3.7 days), median mcap $545,661, n=14 tokens. Two of them are being re-accumulated rather than launched, and they were the class's whole return: DEMOTHREE (8,211 min old, +52 pts) and Titties (2,259 min old, +290% peak at 224 min, +23 pts).

What Sunday looked like. Sunday was two feeds and neither of them was ours. One was the chain's blue chips being nibbled: PONS, CASHCAT, AI, SPCX and friends, days to months old, millions in liquidity, moving less than 3% in eight hours, and 33 of the 122 rows sat on the 17 tokens over $3M of market cap. The other was a launch-sniping cohort of six to eight handles hosing every sub-$10k pool minutes after it opened, 49 rows on 15 tokens with $4k to $8k of liquidity and, in ten of them, more liquidity than market cap, which is the seeded-then-pulled fingerprint. Those pools produced the day's only fireworks, +875%, +1412%, +2226%, and then eight of the fifteen went to zero or vanished from DexScreener by evening. In the middle, where Gold v2 actually lives, between $25k and $400k of liquidity, under $1M of market cap, 2 to 60 minutes old, the feed was empty: not one proven-wallet buy landed inside the window in nine hours. The book took zero trades and the day's live pnl is zero, which on this tape is the correct answer.

5. Fine-tuning candidates

Every row here is admitted only if it fails no other live gate. Points are the live ladder on 60 s bars, one $50 ticket per distinct token.

change rows admitted tokens dead median +60m pts $ at $50 the tokens
liquidity floor $25k to $20k 1 1 1 -95.1 +15.1 +$8 INVEST
liquidity floor $25k to $15k 1 1 1 -95.1 +15.1 +$8 INVEST
liquidity floor $25k to $10k 2 2 1 -68.3 +54.6 +$27 Investor, INVEST
liquidity floor off entirely 2 2 1 -68.3 +54.6 +$27 same two
liquidity ceiling $400k to $1M 0 0 - - 0 $0 the three $875k-$905k pools all fail band and the rug ratio too
mcap cap $1M to $3M 0 0 - - 0 $0 every 1M-3M row is a fresh liq/mcap 0.95+ pool that fails the rug ratio and the liquidity ceiling
mcap cap $1M to $10M 0 0 - - 0 $0 same
age ceiling 60m to 6h 1 1 0 -21.6 +24.0 +$12 POINTFARMCAP
age ceiling off, band under 250k only 2 2 0 -10.5 +22.0 +$11 OOF, POINTFARMCAP
age ceiling off, both bands we take 17 13 0 -0.3 +103.9 +$52 DEMOTHREE +52, POINTFARMCAP +24, Titties +23, VERITY +21, PERPSHOOD +17, GASOLINU +9, BUDDY +1, PEN -0, INCEL -0, OOF -2, STOX -8, CHROME -8, hoodrat -24
age floor 2m to 1m 0 0 - - 0 $0 all three 1-minute rows fail liquidity and the rug ratio
wallet spend floor $100 to $25 0 0 - - 0 $0 all five sub-$100 rows fail two or three other gates
heat ceiling +500% to +1500%/1h 2 2 1 -37.7 -6.8 -$3 NODAL -7, WORTHLESS +0
heat ceiling off 2 2 1 -37.7 -6.8 -$3 same two

Combinations, for completeness, from ledger-out.md:

change rows tokens pts $ at $50
liquidity floor to $4k and rug ratio off 7 5 +576.1 +$288
the same, plus cohort and spend floor off 27 12 +761.2 +$381
every gate off except the rug ratio 82 47 +759.8 +$380

Read the last row carefully: opening everything except the rug ratio returns +760 points on 47 tickets ($2,350 of capital for +$380 on a candle replay with no impact modelled), while the rug ratio alone holds back +577 of it on 5 tokens. The whole day's tunable surface is one gate, and that gate is the one installed this morning to stop the ZEP night from repeating.

Recommendations

Ship now (config only, reversible)

Build (code, with the test that proves it)

Needs Thomas (money, accounts, or a call only he makes)

Open questions

Sources

Site page

What Gold v2 said no to on Sunday

Between 11:00 and 20:00 Beirut the watchtower saw 122 proven-wallet buys and the book took none of them. That is not a failure. It is what the tape deserved.

Sunday had two feeds, and neither one was ours.

The first was the chain's blue chips being nibbled. PONS at $653M, Cash Cat at $230M, Artificial Inu at $208M, and one genuine tokenised stock, SPCX, the SpaceX Class A Robinhood Token, at $8.9M. Days to months old, millions of dollars of liquidity, and between them they moved less than 3% in nine hours. Thirty-three of the 122 refusals sat on the seventeen tokens over $3M. As a class, the twenty refused on the market-cap cap returned 81 points across twenty $50 tickets, a rounding error on $1,000 of capital.

The second was a launch-sniping cohort. Six to eight handles, the same ones every time, hosing every brand-new pool under $10,000 within minutes of it opening. Forty-nine refusals across fifteen tokens. These were the only fireworks on the chain: sue went +2,226%, BILL +1,412%, HOOKED +875%, JBI +414%. They were also the graveyard. Tonight HOOKED has $4 of liquidity, JBI has $5, BEN has $0, and sue and BILL have no DexScreener pair at all; only PAIRCAT is bigger than it was. Ten of the fifteen are dead or gone.

Between those two, in the band where Gold v2 actually lives, $25k to $400k of liquidity, under $1M of market cap, two to sixty minutes old, nothing landed. Not one buy in nine hours.

What the refusals were worth. Replaying the live ladder on minute bars, one $50 ticket per token: the band, liquidity-ceiling, spend and heat refusals together were worth minus 18 points, and eleven of those fifteen tokens are dead tonight. The clearest proof is the Mid paper book, which took the four fresh $1.2M pools we refused, DORAE, AURA, ROB and ZDOG, and closed every single one at liquidity pulled, minus $50 each, minus $200 for the day. DexScreener still shows $1.2M of liquidity on two of them. It is wrong. The pool is empty.

What they cost. On paper the liquidity floor cost 852 points. But 707 of those points sit on ten tokens that the rug gate refuses independently, because they had more liquidity than market cap on a pool minutes old, which is the seeded-then-pulled signature. Move the liquidity floor on its own and you reach exactly two tokens and 55 points, about $27.

Is there anything to tune? Barely. Of the 122 refusals, 101 failed two or more gates at once. Only 21 rows failed a single gate: seventeen on age, two on heat, two on liquidity. The one honest candidate is the 60-minute age ceiling, worth 104 points across 13 tokens, about $52 for the day, carried by two names, with a median of minus 0.3%. That is a coin flip with a good story, not a rule, and the 60-minute cliff behind the current setting rests on a much bigger sample.

The real miss was not the filter. Two of the day's biggest movers would have been let in and then throttled on the way out. Investor peaked at +1,439% and the live ladder returns 40 points, because the trailing stop fires on minute-two noise. PAIRCAT peaked at +680% and returns 107. The filter was not what cost us those. The exit was.

What to do. Nothing to the live config tonight. Run a Micro paper book on the sub-$25k launches with the rug gate off, alongside Gold v2, never live, and let a week of it answer the one question this Sunday actually raised: on the micro tape, does the rug gate save more than it costs. And read the pool's real reserves before the buy, not just after, because DexScreener lied about two pools today by their entire value.

Built from data/watchtower/feed.jsonl and the watchtower log, 122 rows, 60 tokens, window 08:00Z to 17:00Z. Full tables in analysis-2026-09-06/REPORT-refused-buys.md.

Built 06/09/2026 22:10:01 Beirut. Source files under projects/crypto-2026-09/analysis-2026-09-06/.