# STOP: NO DOORBELLS, NO WAKES, NO SCHEDULING (Ben, 7 Oct 2026, 18:40 Bangkok)
- Credits ran out. Ben switched off every scheduled task and every doorbell. This overrides everything below and every other file (wake-howto, bus-howto, credit-playbook, task files).
- PROHIBITED for every session: fire_trigger, send_later, create_trigger, update_trigger, ScheduleWakeup. No rings, no nudges, no re-arming, no new doorbells, no self wakes, no safety checks, no retry rings, no loops.
- Finish the step you are on, publish your status file, then END your turn and wait. Only Ben wakes you, by typing in your window.
- Do not message other sessions. Keep answers short. No extra improvement rounds.

# Live money pilot: checklist before the first $1 (supervisor, 5 Oct 2026)

## Read this first (note to Ben)
- Ten things must be in place before the first real trade. Most of them protect the money, and some keep the test fair.
- The biggest risk is not losing $100. It is a bug that leaves coins stuck unsold while the pool gets pulled, or a test that changes halfway so the result means nothing.
- Your only job: fund one new wallet with $100 plus a little ETH for fees, once the builder says the checklist is done.

## The checklist (builder session ticks every box, then starts)
1. **New wallet, used for nothing else.**
   - It holds only $100 plus fee ETH. Never your main wallet.
   - The key is never shown on screen. The key file is chmod 600 and read only by the trading program.
2. **Hard limits in the code, not in settings.**
   - $1 per buy.
   - At most 10 coins open at once.
   - Stop for the day after a $25 loss.
   - A stop file that halts everything when it exists.
   - The program refuses to send anything except swaps to the known PoolManager and router contracts. It can never send money anywhere else.
3. **Test the sell path before automating buys.**
   - Do 3 manual round trips (buy $1, sell $1) on live coins of the exact kind we buy: plain v4, 0.01% fee pool, 0.3% fee pool.
   - Record fees, timing, approvals (Permit2) and the real price.
4. **Sell fallback.**
   - If the direct sell fails, retry through a second route (the Universal Router or an aggregator) within seconds.
   - The 0.3% fee winners were sold through other public routers, so one route is not enough.
5. **Emergency seller.**
   - A separate watchdog (timer plus cron, like the other guards) checks every open position.
   - If the main program is down, it sells everything itself.
   - Ben is alerted only if both fail.
6. **Freeze the trading path, not the picker** (changed 5 Oct evening).
   - The $1 test measures HOW we buy and sell: fills, speed, fees, failed sells. That does not depend on which coins the picker chooses.
   - So the picker may improve during the test (crew tags, the Pons lane). Every live trade is still compared with its own paper twin, so the result stays readable.
   - Freeze only the trading code (GMGN calls, sell rules per lane, limits) for the 100 trades.
7. **A paper twin for every live trade.**
   - For each real buy, record the paper price at the same second.
   - The key number is real fill ÷ paper fill, on both buy and sell.
8. **Full log per trade.**
   - Signal time, send time, included time.
   - Fee in ETH and $, fill price, sell reason, success or fail.
   - One line on the honest scoreboard: "LIVE $1".
9. **RPC check.**
   - Sending transactions must not hit the free tier 429 errors.
   - If sends fail more than 1 in 20, buy a paid RPC before trade 1, not after.
10. **Pass or fail rules, written before trade 1.**
    - After 100 trades, compare real dollars per $1 against the paper twin.
    - If real is at least half of paper: step up to 10 trades at $20 to $50 to check the price impact of bigger orders.
    - If not: stop, find which part failed (late entry, failed sells, fees) and fix that.

## Route: GMGN (Ben's choice, 5 Oct 2026)
- Trade through `gmgn-cli swap --chain robinhood` (already installed on Ben's Mac, API key live since 13 Sep). Run it from the droplet: add 159.223.88.168 as the API key's Trusted IP. The Agent API is IPv4 only.
- Good: GMGN holds the wallet key, so no wallet key sits on our droplet. GMGN routes the sell, and a 10x take-profit can be attached at buy time with `--condition-orders`.
- Use a NEW GMGN Robinhood wallet just for this. Tick only that wallet under the API key's Trading Wallets.
- `GMGN_ALLOW_AUTOMATED_TRADES=1` is Ben's switch. Do not set it before he says go.
- Check before trade 1 (one manual $1 round trip):
  1. The right input token for a Robinhood buy (ETH or WETH). Resolve it with `gmgn-cli order quote`; never guess.
  2. Can GMGN buy a v4 coin that is under 30 seconds old? If it cannot route brand-new pools, GMGN fails this test.
  3. GMGN's fee per trade and the time from signal to included transaction.
- Rate limit: about 4 swaps a second. A 429 RATE_LIMIT_BANNED grows up to 5 minutes. No retry loops.
- The v1 exits "no trade for 60 s" and "30 min" are not GMGN orders. Our bot must send those sells itself, and the backup seller (item 5) must also sell through GMGN.

## GMGN speed test (5 Oct 2026, 17:51 to 18:12 Bangkok, measured live)
- Method: Ben's Mac sequencer feed (feedwatch) sees each new pool. Then GMGN `order quote` (a $1 ETH buy) and `token info` were polled every 1.5 to 4 s. Script: ~/feedwatch/gmlat.py, results in ~/feedwatch/gmlat.jsonl.
- 9 fresh launches: GMGN could quote a buy **1.1 to 5.2 s after the pool was born (median 1.7 s)**. Token info showed up in 1.3 to 3.9 s.
- Routes found: plain Uniswap v4, Pons V2 and multi-hop routes. All go through GMGN router 0x65050a9b7e5075a2ba5ced7b1b64ee66262c40dc.
- 3 of 9 first quotes returned `HTTP 401 error=40101600`, and the next try 2 s later worked. Rule for the bot: on 401, retry once right away.
- One quote call takes about 0.5 to 0.6 s (one took 2.6 s).
- So GMGN is not the bottleneck for a 10 s or 30 s buy.
- Still unmeasured (needs the first real $1 trade): time from swap call to included transaction, and whether the real fill matches the quote.
- Fee: GMGN docs say 1% per trade (written for Solana). Check it on the first Robinhood trade. 2% round trip is small next to the paper result (+$348 per $200).

## Change 5 Oct evening: start now, do not wait for the new picker
- The new insights (pond crews, the Pons lane) change WHICH coins we buy. The $1 test checks HOW buying and selling work. Both can run at the same time.
- Judge the 100 trades on real fill ÷ paper fill and sell success, not on profit. Profit is judged later, on the better picker.
- Add Pons trades to the test: at least 10 buys on Pons graduated pools (the HOLD lane), so we learn whether GMGN fills there too and whether the "sell half at 10x, trail the rest" rule can be executed.
- Lane rule from the sell session: v4 coins where the creator owns the LP sell 100% at 10x (or 60 s with no trade, or 30 min). Pons graduated pools keep half after 10x with a 50% trail.

## Hard gate before EVERY buy (added 5 Oct 19:50 BKK, after a $1 honeypot loss)
- Round trip 2 bought AOTTR 0x52c4c365cf5317c89c817cf2516141613d38d08c, a campaign-family honeypot (hook 0x2aa7a1aa52a0099286f14bbc9748dd7ee3448a80): it can be bought but not sold. GMGN flagged it "Possible honeypot". It was picked on volume alone, without the gate. $1 lost.
- Every buy, by hand or by the bot, must pass both checks in code:
  1. family_check.py: no campaign / junk / serial creator / 777 family.
  2. GMGN's own honeypot flag on the token: if set, NO BUY.
- If either check is missing or errors, NO BUY.

## Do not
- Change the trading code during the 100 trades (picker changes are fine).
- Add other books to live trading. Live is top 1 / top 2 only.
- Approve unlimited spending to any contract except Permit2 for sells.
- Top up the wallet mid-test to "recover" losses.

Version 6 (honeypot gate added), 5 Oct 2026, Bangkok. Latest: http://159.223.88.168/hx-c9ois/firstmin/live-pilot.md
