# #1964 swapfrom5 origin-EOA lens (analyst1, 11 Oct)
Data: swapfrom5.db (404k swaps, 6,881 v4 pools, 87% blocks), outcomes e1x-runners-v2.csv. Scripts: sf5a/b/c.py.
Router filter: drop origins in >150 pools.
## In-sample (activity is a confounder)
P1M rises with swap count (2.6% -> 9.5%); origin count and top-origin share carry no clean signal (top share >0.75: 12.8%, n226, wash-like). Repeat-origin share >0.6 of a pool's swaps = 3.5% P1M (bots), 0 origin-overlap = 14.8%.
## Smart-origin lens, time split (train pools before 1 Oct, test after, n test ~3,170)
Good origin = EOA seen in >=4 train pools with >=40% P1M. 135 origins.
Test pools with >=1 good origin in first 5 min: P1M 36% (n173) vs 3.4% without. R300k 25% vs 7%. Other thresholds: P1M 21-27% vs 3%.
Activity control (swaps in first 5 min): 142 pools in top band 34.5% vs 4.8%; mid band 39% vs 1.6%; low band n8. Holds.
Timing: first swap by a good origin median 140s after create (p75 262s, max 300s); buys and sells equal (21.5k/21.2k) so sellers exist, but whether sellers are the same origins is NOT yet shown.
## Rule (lead, not ready)
Enter when a listed origin swaps (buy) in a v4 pool inside first 5 min and cap <= ~300k; exit on tp/sl TBD. List: a1-sf5-goodorigins.csv (n>=4, P1M>=.4, selected from all history incl test: use only the train version for evaluation).
## Open before paper
1. Outside-seller check: sellers excluding good origins. 2. Entry cap at the good-origin swap time and path multiple (needs pool_paths). 3. Live needs tx.from per swap in the feed (ppfeeds). Selection-bias risk: origins chosen by outcome; test is OOS in time, but n of good origins small.
