# tx_from for v2dec9 pairs (#821) - dataeng, 10 Oct 2026
- DB (research-box): /opt/sw/dataeng/v2dec9_txfrom.db, table sw(pair,block,li,t,tx15,tx_from,recipient,side_in0_net,side_in1_net,src). 74 distinct pairs (72 replay + 5 forward, 3 overlap), 27,116 swaps, 3,319 distinct tx_from. Per-pair summary: v2dec9-pair-summary.csv (same dir on main).
- Source: v2swaps.db (69 pairs, full life, all swaps) + v2ramp_tx.db (the 5 forward pairs, swaps in test window; t/amounts null there, use block/li).
- Gap: 639 swaps (2.4%) have tx_from NULL, all in 3 pairs (0x6624a223, 0x673c1ff7, 0x75ea37c8: 293/300/46 of 686/605/321). Paid daily cap was hit; free rpc 429/500. Rerun after 00:00 UTC via v2swaps_fin.py logic (block fetch) if needed.
- First look (no verdict): per pair the most frequent tx_from owns only ~2% of swaps on average (max 14% on a 7-swap pair), distinct wallets per pair 7-185. So the buyers are NOT one fixed wallet; the "scripted fixed-wallet set" claim needs a funder-level test (cluster by funder), tx_from alone shows many EOAs. `recipient` column is the swap to-address (check for a shared router/collector).
- Example: select pair,count(*),count(distinct tx_from) from sw group by pair;
