# Execution Engineer: X1 to X3 results (one screen)

## READ THIS FIRST
- **v1 (Execution Engineer, 7 Oct 11:40 Bangkok).** Verdict: **exits can go from 6.7 s to about 0.5 s (about 5 blocks) with one patch; the patch is built and tested, the Coder deploys.** 1 block (0.1 s) is not reachable from main: the round trip to the sequencer alone is 0.22 s (it sits in AWS Ohio, main is in Asia).
- Size: **$1k and $2k are safe on every coin type. $5k is not**: 9% entry impact and 17% exit impact at the 5x target. Rule: **ticket at most 5% of the pool's in-range depth at the gate** keeps every exit under 10%.
- Live fills page (auto, every 2 min): http://159.223.88.168/hx-c9ois/sw/sw-exec-fills.md

## X1: where the 14.8% on CrawlScan went (n = 1 live sell, so treat as a case, not a rate)
| Step | Time | Cap x |
|---|---|---|
| 0.3x line crossed by one swap (gap-through, nobody can beat it) | 07:51:27 | 0.274 |
| Engine read the cross (old 2 s log scan) | +2.9 s | 0.274 |
| Approve tx + sell sent (pre v1.43) | +3.6 s | |
| Mined | +0.2 s | **0.195** |
| Cap if sold 1 s after the cross | | 0.294 |
- So about 0.08x of 0.274x (30% of the exit value) was our own 6.7 s, not the market.
- **The paper benchmark itself is not fixed.** On that same tick the paper books exited at 0.284, 0.229 and 0.189: each book was priced when the engine reached it in its queue. The live twin (kit_hold) happened to be 0.229. Fix for the Coder: price every paper exit on the state right after the crossing swap, so live vs paper measures only our execution.
- Paper stops, 7 events in 3 days: gap-through average 0.027x below the line. Fee + impact at $500: 0.01 to 0.04x.
- The buy: gate to fill 20.9 s, live fill 1.0% better than paper. Entries are fine.

## X2: measured from main (light probes, read only, no tx)
| Path | Now | Measured |
|---|---|---|
| Fast watch reads | free Alchemy first, then public | **Alchemy is dead** (429 monthly cap, 12/12 fail). Public: 271 ms, **6 of 12 calls fail**, 4 blocks (0.4 s) behind head |
| dRPC (paid) | used for nonce, sim, send | eth_call 5 ms, 0 blocks behind. sendRaw 514 ms (it forwards) |
| Sequencer direct | not used | **sequencer.mainnet.chain.robinhood.com** accepts sendRaw only: 216 ms |
| dRPC websocket | not used | every head pushed (9.5/s); Swap logs arrive with their head (+3 ms), about 0.2 s after the block |
| Chain | | Arbitrum stack, 0.103 s blocks, gas = base fee 0.02 gwei (priority ignored, so gas price buys nothing) |

Estimated trigger to inclusion: **now (v1.43) about 1.5 to 2.3 s; with the patch about 0.5 s.**

**Patch, tested (Coder deploys; nothing touched on the live engine):** /opt/exec/fastexit.py, test /opt/exec/test_fastexit.py (11 checks, 0 fails offline on research-box; with `--live` on main: 14 checks incl. a live wss read, read only, 0 fails). fastexit.py md5 91c9024e6b20fbae0f3706e6df3bd3b6, test md5 f50fdd8ab6d13beff809b65fc4ade44b.
1. `SwapWatch`: dRPC websocket `eth_subscribe logs` on the open live pools. The Swap log carries the price, so the stop check runs on the crossing swap itself. Zero calls when the pool is quiet. `stale` flag: fall back to polling, but poll **dRPC**, not Alchemy or public.
2. `fast_send`: local nonce book, no allowance read (pre-approved), simulation in parallel (log only), the same signed sell sent to sequencer + public + dRPC at once, first accept wins. One retry on a nonce error; a failed send never burns a nonce.
3. Coder notes: every other tx (buys, approves) must take its nonce from the same NonceBook, or call `reset()` after it. Gas price: keep 2x cached (costs nothing on Arbitrum).
- **Next step, needs a decision:** a small relay box in US East (sequencer is AWS us-east-2) would cut another 0.2 s per read and per send, to about 1 to 2 blocks. Cheap droplet, Ben funds. Worth it only once tickets are $1k+.

## X3: size readiness (8 gates in 7 days with depth; 7 Kit B, 1 other; in-range depth R about $55k at a $1.1M cap)
| Ticket | Entry impact | Exit at 0.3x stop | Exit at 5x |
|---|---|---|---|
| $100 | 0.2% | 0.1% | 0.4% |
| $500 | 0.9% | 0.5% | 2.0% |
| $1,000 | 1.8% | 1.0% | 3.9% |
| $2,000 | 3.6% | 2.0% | 7.5% |
| $5,000 | **9.1%** | 4.8% | **16.9%** |
- Constant product on the in-range depth at the gate, pool fee (1% each way) not included. Concentrated ranges or a pull make it worse, so these are lower bounds.
- No coin type has a $1k exit over 10%. At $5k every type does at 5x (they all have about the same depth). Kit holds past 5x get worse ($5k at 10x: about 22%).
- Ceiling rule: **ticket at most 0.05 x R_gate** (about $2.7k today). Above that, sell the 5x in pieces a few minutes apart.

## Limits
- One live round trip. The latency budget is measured hop by hop, the end to end will be proven on the next live sell (the fills page shows it by itself).
- Files: fastexit.py, test_fastexit.py, fills.py, size.py, probe*.py in /opt/exec on main (research copies on research-box /opt/exec).

Version: v1, 7 Oct 2026 11:40 Bangkok. Latest: http://159.223.88.168/hx-c9ois/sw/sw-exec-x2x3.md
