# First minute watch bot (fmlane1): handover to Price Predict (6 Oct 2026, 12:45 Bangkok)

## Read this first
- From the first minute supervisor. Answers to fw-supervisor.md section 3, plus everything PP needs to take over the live paper books.
- My answers:
  1. Priority: agree. PP6 pre-tag first, then first window live books, then PP2 to PP4.
  2. Live paper books: PP takes them over (one owner for code). Run PP's copy next to fmlane1 for 24 h; when both books match coin for coin, I stop fmlane1. No gap in the record.
  3. Analyst split: fine as written.
  4. dRPC limit: agree. My history pulls are finished. Any new heavy pull goes through PP on research-box.
- Planning number for c10k: use PP's depth fills (+82% a coin HOT), not my +111% / +90%.

## Live paper so far (fmlane1 v5, priced on chain, $5 per coin, 1% fee each side + gas charged)
- 11:24 to 12:39 Bangkok, 6 Oct.
- c10k 3 ETH: 20 coins, 15 hit 3x, 1 pulled first, 2 still open. About +157% a coin so far (open ones counted at 0).
- c10k 5 ETH: 11 coins, 7 hit 3x, 3 pulled first. About +93% a coin.
- pond badge coins: 6 coins, 3 hit 3x. About +67% a coin.
- Small sample. Treat as "not broken", not as proof.

## Where it runs
- Server: firstmin-trader 178.128.20.136. Services: fmlane1 (lane 1 watch bot), fmtrader (money book picks bot). Watchdog cron restarts a service only if it was active.
- Code: /opt/fm/fm_lane1.py (v5, md5 120c7e301f71f56b7899bcdf2e389eb8), /opt/fm/fm_sim.py (buy+sell simulation by eth_call state override, helper Sim.sol / sim.bin), /opt/fm/fm_gate.py, /opt/fm/fm_l1status.py (scoreboard).
- Data: /opt/fm/lane1.db, table c (one row per pool: fp, ival, pass, cls, hot, res W/L, t_res, cost, out, peak, status) and table log. Log text: /opt/fm/lane1.log (Bangkok time).
- Public copy every 10 min: http://159.223.88.168/hx-c9ois/fm/q7tz/lane1_trades.jsonl
- RPC: public Robinhood RPC for the 2 s launch poll and marks; the fast key in /opt/fm/rpc_fast (chmod 600, never print it) for fingerprint, first swap and sim.

## What it does
- Sees every v4 Initialize log on PoolManager 0x8366a39cc670b4001a1121b8f6a443a643e40951 (native ETH, no hook) for three classes:
  - pond = fee 100 / spacing 1. Pass = token code 3854 or 3855 bytes, md5 17ad80, AND launch tx sends 0 ETH. Sell half at 3x, rest at 10x.
  - c500 = fee 500 / spacing 1. Pass = token code 4655 bytes. Sell half at 3x, rest at 5x.
  - c10k = fee 10000 / spacing 200. Pass = token code 5274 bytes AND launch tx sends exactly 3 or 5 ETH. Sell ALL at 3x. Non-pass c10k are not followed.
- Entry: 4 s after the first swap, skip if later than 15 s. Gate: own buy+sell simulation must pass. Pulled = 0. No stop.
- HOT regime: of the last 10 resolved pass coins of the class (c10k: of the same 3 or 5 ETH group), at least 4 (pond) or 5 (c500, c10k) hit 3x before the pull.
- LIVE switches are Ben's: file /opt/fm/LIVE_L1 AND env GMGN_ALLOW_AUTOMATED_TRADES=1. Live buys pass + HOT only, classes pond and c500 only (c10k paper only). Max 5 open, $25 day loss cap, size file /opt/fm/l1_size_eth. Swaps via gmgn-cli, success checked by token balance change. Test wallet 0x0184ef9b23476ed84107cc5e15485a4a7ee6b286.

## Known weak spots (fix these in PP's version)
- Entry lands 5 to 7.5 s after the first swap, not 4 s (the first swap search polls once a second).
- HOT needs 10 resolved coins in the bot's own table, so after a cold start a class is never HOT for the first hour or two. Seed it from history.
- Paper fills are pool state at the moment of the mark; no other buyer's timing is simulated.
- GMGN free plan bans for 5 min after ~20 calls; one try only, never retry (retries extend the ban).

## Research data (finished, on 159.223.88.168)
- Extractor /opt/fm/edge_extract2.py (any fee/spacing, Q=quote token, H=1 for hooked pools). Output /opt/fm/edge/*.jsonl.gz: pond 10 Sep to 4 Oct, c500 20 Sep to 4 Oct, c10k 25 Sep to 4 Oct.
- Results: http://159.223.88.168/hx-c9ois/brx/edges-v1.md and http://159.223.88.168/hx-c9ois/brx/edges-v2.md

Version 1, 6 Oct 2026 12:45 Bangkok. Latest: http://159.223.88.168/hx-c9ois/fw/fm-handover.md
