---
name: coin-brain
description: The Robinhood Chain coin brain built 5 Oct 2026 on the kookwatch droplet (/opt/brain): what runs where, the walk-forward results, every mistake the audits found, and the open unknowns. Read before touching /opt/brain or judging its alerts.
sources: [cowork]
---
- [stated] 5 Oct 2026: Ben asked to build it from the Claude API plan in [[claude-api-brain]]; Robinhood Chain only, already-trading coins, alert only (he decides every buy), reuse what is on the droplet.
- [stated] Chain peak/reheat brain is a separate Cowork session; brief at http://159.223.88.168/hx-c9ois/brx/chain-brain-brief.md; it writes /opt/brain/chain.json (risk on/off) which the coin brain obeys.
- Claude API key stored at /opt/common/anthropic.json (key + workspace id wrkspc_0123yYZdXiVB47WbSgpijY9U, user-scoped key needs the anthropic-workspace-id header). Credit was $15 on 5 Oct; key was pasted in chat, rotate it.
## What runs (/opt/brain)
- live.py (brain-live.service): live 1 min bars of every alive RH pool from PoolManager Swap/Initialize logs, seeded from /opt/hist/rh day DBs, gap filled, same bar convention as the rebuild.
- train.py (daily 09:30 BKK, timer + cron): hourly bars from day DBs, features bfeat.py, sklearn HistGradientBoosting, 3 lanes (big 2x before minus 50%, mid +50% before minus 30%, small +20% before minus 20%, all 3 days, hourly closes), alert line = top 1% of held-out newest 24 h. Writes model.pkl and wf.json.
- score.py (hourly :03, timer + cron): scores coins 1 to 11 days old; only the mid lane sends Telegram (pricepredicter bot), blocked when chain.json says risk off; Claude Haiku writes the one sentence; warns Ben at about $10 spent. Paper ledger paper.db, scorecard http://159.223.88.168/hx-c9ois/brx/brain.json
- guard.py (every 5 min, timer + cron): restarts, reruns, rolls code back to lkg/, alertgate only when fixes fail.
## Results (walk forward, strict, 3% costs)
- Server run 5 Oct (16 days of data): big +5.5% per pick (37), mid +3.7% (43), small minus 0.8% (45); buying every coin lost 6 to 9%. AUC about 0.61. Research run after dedupe: mid +13% (41 picks, 90% range +4 to +22%), big and small no edge. Edge vs random is consistent, its size is not.
## Audit findings (mistakes caught before shipping)
- "Top 5 of the day" picking peeked at later hours: inflated big lane to +34%. Fixed: fixed line from held-out rows, picks in time order.
- Label windows were filled flat past each day DB's last bar: fixed per day.
- Same coin in several pools = 24% duplicate rows: fixed, one pool per coin per hour (killed most of big/small edge).
- Wicks from thin pools fake 2x hits: labels use hourly closes.
- 1 hour late entry kills the big lane; mid survives (+10%). So only mid alerts.
- In-sample threshold gave zero picks; market 24 h change used rows not hours; sklearn crashes on all-empty columns: all fixed.
- Rebuild bar trap: price is currency1 per currency0, a0 is trader delta of currency0 (a0 < 0 = paid). Verified: rank corr price move vs net buy 0.8.
## Unknowns / next
- Data is the bottleneck: only mid Sep onward; hist-rh backfill to 3 Jul will multiply rows about 5x, retrain weekly.
- Holder growth and wallet features are not in the model (transfers only first 30 min in day DBs).
- fomo router 0x039ec98a76f111092d4751365ff09dd2aec301e8 emitted zero logs in a 5 min sample on 5 Oct: fomo share signal needs the current router found.
- Creator history tested quickly: weak lift (mid label 25.3% vs 23.5%), not added.
## 2x-only refocus (5 Oct 2026, ~10:30 BKK)
- [stated] Ben: only 100%+ moves matter; put all resources into what creates them. Live scorer now alerts only the big (2x) lane, and only when train.py writes big_ok (walk forward 30+ picks, +10%+ per pick). Mid/small lanes log only.
- Study: 1,032 doubles (2x before minus 50%, 3 days, coins 1 to 11 days old, 16 Sep to 1 Oct, about 74 a day) vs 2 look-alikes each (same hour, same volatility, same last-hour move, same activity).
- Before the move nothing separates them: wallets in the 12 h before (fresh buyers, buyer growth, smart wallets that bought before earlier doubles, top buyer share, wallet-to-wallet shuffles) all AUC 0.49 to 0.55 (634 doubles, 683 look-alikes, 403 tokens of Transfer logs). X posts with the contract in the 24 h before: AUC 0.53 (320 vs 345). Any X post 51% vs 46%.
- During the first 3 h of the move X mentions double (0.73 vs 0.37 posts) but most doubles have zero posts: X follows, it does not lead.
- Doubles start after a drop (last hour minus 10% median) in volatile active coins; every last-hour bucket loses 1 to 10% per trade after 3% costs because halving odds rise with doubling odds. Conclusion: for already-trading RH coins a double is close to a fair coin flip with the data we have.
- Where predictable 100%+ moves are: launch minute 0 to 1 (launch pickers, top 1% about 32 to 37% hit 10x out of sample per launch-winners-study / edge-results-round10).
- Files: container /root/brain (pairs.csv, wallet_feats.py, pull_tr.py, pull_x.py, wallet_pairs.csv, xpairs*.csv).
## Launch review (5 Oct 2026, read-only role)
- [stated] Ben: focus on new launches; this session only READS the other launch process and proposes improvements, never edits it. Targets: a 10x lane, and separately a 100x lane for real projects with builders who prepared weeks or months ("a money printer, but not every day").
- Review doc: http://159.223.88.168/hx-c9ois/brx/launch-review-coinbrain.md (project copy claude/launch-review-coinbrain-2026-10-05.md).
- Findings: 18 of 50 open v5_top5 picks older than 6 h are 777-address coins with entry 3.0e-39 and peak 1.0 (never settle; family had 0 of 1,880 winners); live stats on closed trades only are biased to winners (v5_top5: 7 target, 10 stop, 56 open); after 40 s only 7.4% of 26,239 ETH-pair launches ever trade below launch price, so loss of a failed pick is the premium over launch price.
- 100x by price from 40 s: 7 in 20 days (hourly close, 1+ ETH hour), 2 to 3 are artifacts of near-zero starts; proposal: define 100x by held market cap ($2M to $3M through a daily close).
## RETIRED 5 Oct 2026 (~11:00 BKK)
- [stated] Ben lost interest in the coin brain and asked to stop it completely; full focus on new launches.
- Stopped and removed: brain-live.service, brain-score/train/guard timers and services, all /opt/brain cron lines. Files and data kept in /opt/brain. /opt/brain/chain.json is the chain brain's output and stays.
- [stated] 100x rule correction: Ben does not need a coin to hold 100x for a day; a 100x counts if it can be sold there ($10k to $20k), so judge by real money traded at or above 100x, not time held.
- Launch runners round 2 (5 Oct 2026): doc http://159.223.88.168/hx-c9ois/brx/launch-runners-round2.md (project copy claude/launch-runners-round2-2026-10-05.md); headline: the 10 ETH, 0.01% fee native ETH launch type holds 72% of $500k+ 10x runners (rate 7.25%); details in [[trading-edge-hub-4]].
