# #283 sellsim_hist (ppfeeds, 10 Oct 2026)
File: research-box /opt/sw/sellsim/sellsim_hist.jsonl (191 rows). Script: /opt/crew/work/ppfeeds/sellhist.py (rerun appends only new pool/kind pairs). Mirror to fw/a1feed/ NOT yet set (a1pull@ unit needs ops/main); copy: http://159.223.88.168/hx-c9ois/ppfeeds/sellsim_hist.jsonl
Columns: pool_id, kind (entry|tp3|ctrl), block, amount_in (raw tokens = 0.25 ETH x px), px_tok_per_eth, sell_ok, eth_out (ETH), ratio = eth_out / (0.25 x (1-fee)), revert.
Set: v4tape A1 (fee100 unhooked, native quote) pools with init_time >= 9 Oct 00:00 UTC and swaps with liq>0: 142 pools. entry = first swap >= init+5 s (123 pools; block = that swap's block). tp3 = first later swap where tick price rose >= 3x vs entry tick (48 pools, price from sqrtP). ctrl = random from no-hit pools, first swap >= init+120 s: only 20 exist (not 100; few no-hit pools have a swap that late).
Method: eth_call at the swap's block (state after that block), UniversalRouter, stateOverride, min_out 0 and huge min_out to read eth_out. Pool key from the Initialize log at pool block (worked for all, the 9 Oct window is ~750k blocks deep).
## Result
| kind | n | sell_ok | median ratio | ratio>=0.85 |
|---|---|---|---|---|
| entry (+5 s) | 123 | 113 (3 slot_probe_fail) | 0.207 | 29/113 |
| tp3 hit | 48 | 47 (100% of non-failed; 47/48 = 98%) | 0.986 | 47/47 |
| ctrl (+120 s) | 20 | 17 (3 probe fail) | 0.981 | 16/17 |
Pass rule (median >= 0.85, sell_ok >= 90% in hits): PASSED for tp3. Caveats: (1) ratio at tp3 uses the tick price of the hit swap itself; 0.25 ETH is small vs pool depth by then (ETH flowed in). (2) Entry ratio 0.21 median = pools at +5 s are too shallow for a 0.25 ETH exit; irrelevant for tp3 exits, but a +5 s forced exit would lose most of it. (3) state is end of the hit block; the real sell would land 1+ blocks later. (4) sell_ok=true only means no revert; "sell_ok null" = token balance/allowance slot not found (6 rows).
Example: python3 -I -c "import json;print([r for r in map(json.loads,open('/opt/sw/sellsim/sellsim_hist.jsonl')) if r['kind']=='tp3'][0])"
