# Paper test brief: the 10-second flip (FW Analyst 2, 8 Oct 2026)

## What it is
Buy a brand-new Robinhood Chain coin 10 seconds after its pool's first swap, sell all of it 60 seconds after our buy. Launch crews run buy bots that push the price up for the first minutes and pull liquidity around minute 5; we get in and out before the pull.

## Backtest it must reproduce (Sep 20 to Oct 7, priced from real trades, total loss whenever no real sell existed near the exit)
- 1% fee tier: 7,709 trades, mean 1.44x, median 1.51x, 84% profitable, 14% total losses.
- Standard launchpad tokens only: 5,709 trades, mean 1.50x, 90% profitable.
- Without the top 5 crews: 1.36x. 28 of the 37 biggest crews profitable.
- Bad stretch: Sep 16 to 20 lost (0.46x to 0.94x a day). The test must show which regime we are in.
- Full evidence: http://159.223.88.168/hx-c9ois/fw/a2-flip-edge.md

## Universe (decided at the first swap, all known at that moment)
- Uniswap v4 pool on Robinhood Chain, currency0 = native ETH (0x0000000000000000000000000000000000000000), hooks = 0x0000000000000000000000000000000000000000 (no hook).
- Fee 10000 (1%) or 500 (0.05%). Skip fee 100 (pond), fee 2500, everything else. Log skipped coins with reason.
- Tag (do not filter) the token factory: 0x58daec3116aae6d93017baaea7749052e8a04fa7 = standard launchpad; anything else = "custom".
- T0 = block time of the pool's first Swap on chain (not PoolCreated, not first seen by a feed).

## Entry
- Target: buy at T0 + 10 s. Allowed window: T0 + 8 s to T0 + 14 s. If our buy cannot be priced by T0 + 15 s: skip, log "late" with the seconds.
- Size: $100 paper. Also log twins at $10 and $500 (same moment, same quote method).
- Max 4 open positions; if full, skip and log "full".
- No other filter. Do not add score, crew, wallet or buyer-count filters in this test.

## Exit
- Sell 100% at our fill time + 60 s. No take profit, no stop.
- Shadow exits (log only, same position): +30 s and +120 s.
- If the pool's liquidity is pulled (ModifyLiquidity removing 50%+ of the running liquidity) before our exit, the trade is a 0.

## Honest paper pricing (most important)
- Buy: an on-chain quote of the exact $100 ETH-in swap against the pool state at the decision block (V4 quoter or /opt/fm/fm_sim.py on firstmin 178.128.20.136, which does buy + sell in about 1 s). Record tokens out.
- Sell: an on-chain quote of selling exactly those tokens at the exit block. If the sell simulation reverts or returns 0, the trade is a 0 and is logged "unsellable" with the revert reason.
- Costs: GMGN 1% each way plus $0.05 gas each way, on top of the quotes.
- Also log the backtest-style price: the average price real buyers paid in the 4 s after entry and real sellers got +/-10 s around the exit (so we can compare paper to backtest coin by coin).

## Log one row per coin seen
pool, token, factory tag, fee, T0, time we first saw the pool, decision time, entry quote time, seconds from T0 to quote, ETH/USD, quote tokens, exit time, exit quote ETH, x at 30/60/120 s, pulled yes/no, unsellable yes/no, skip reason, real-trade buy and sell prices.

## Feeds and machines
- Launch detection: rhfast on main (chain logs, decisions in seconds). If it lags, read PoolManager Initialize + Swap logs directly with the paid dRPC key (fallback chain in /opt/common/rpcpool.py).
- Run the paper book on firstmin or picker-box, not on main (server rules: http://159.223.88.168/hx-c9ois/server-rules.md). No research jobs on main.
- Publish a status page every 10 minutes to the public folder.

## Duration
24 hours from start, and at least 200 closed paper trades. Extend to 48 h if under 200.

## Pass bar (pre-registered, all must hold at $100)
1. Mean x at 60 s of 1.15x or more after all costs, and median above 1.0x.
2. Still above 1.0x without the 5 best trades.
3. Unsellable + pulled + no-quote together at 25% of trades or less.
4. Median time from T0 to entry quote 14 s or less, and at least 70% of eligible coins actually entered (not late, not full).
5. Paper vs backtest-style price on the same coins: median gap within 10%.
Pass on all five: recommend $10 live (self-signed wallet, one position at a time, stop for the day after 5 total losses in a row or minus $50). Fail on 1 or 2: report the per-tier and per-factory split, then stop. Fail on 3 or 4: report the cause (feed speed, routing, honeypots) before anything else.

## Do not
- Do not tune the 10 s / 60 s numbers during the test.
- Do not count a trade the sell simulation could not price.
- Do not use GMGN quotes for pricing (gmgn-cli quote has no Robinhood chain); use on-chain quotes.

Questions on the method: FW Analyst 2. Code for the backtest: research-box /root/fwa2/edge/flip.py.
