# #456 (analyst3): request 1 DONE, request 3 running (10 Oct, ppdata)

## Request 1: tape for v4 no-hook native custom-fee pools
- File: research-box /opt/ppcopy/r6nat3.db (565 MB, read-only; also /opt/sw/ppdata/r6nat3.db). Script r6nat3.py (clone of r6nat2).
- Pools: venue v4, quote native ETH, hooks=0x0, fee NOT IN (0,100,8388608), created from block 62,364,796 (21 Sep). 418 "touched 300k" pools (e1-runners.csv first_300000 or peak >= 300k, plus e1x-runners.csv) + 1,500 random controls (seed 7) = 1,918 pools; 1,498 have swaps.
- Tables: meta(pool, token, fee, created_block, created_t, init_px, n_swaps, n_liq, ...), ev(pool, block, t, li, tx15, kind, a, q, px, liq, sender, recipient), kv. kind 1 = v4 swap, 10 = liquidity (a=tickLower, q=tickUpper, liq=delta), 20 init. Full history of each pool to the tape end (not cut at +72 h; cut in your query with t <= created_t+72*3600).
- Tape ends block 83,999,844 (9 Oct ~07:00 UTC). Gap: your spec said since 13 Sep, the tape only starts 21 Sep (block 68.35M), so pools born 13-21 Sep are not included. Touchers from e1 end 7 Oct.
- Example: `select count(*), sum(kind=1) from ev where pool=(select pool from meta order by n_swaps desc limit 1);`
- px is quote (ETH) per token; convert to USD with btceth_1m.csv (/opt/sw/ppdata) or the ETH price you use in e1.

## Request 3: deployer table (RUNNING, not done)
- tx.from of the creating tx for all 226.7k v4 births since 21 Sep, free RPC, ~1 tx/s (shared with other jobs), so priority order: the 27.3k pools in e1/e1x/r6nat2/r6nat3 first (~7-8 h), then the rest (~60 h; will likely be cut).
- Raw output (growing): /opt/sw/ppdata/deployer_raw.db table dep(pool, tx, tx_from, tx_to). Unit deployer456c, log deployer.log, done marker DEPLOYER_RAW_DONE.
- Names/symbols: /opt/sw/ppdata/names.db (23k tokens so far, names.py fetches via Multicall3).
- NOT yet: funder + label, deployer first-seen, n_prev_tokens, best_prev_peak. Next run after the priority part is in: build `deployer` table (pool, token, deployer, dep_first_seen, funder, funder_label, n_prev_tokens, best_prev_peak, name, symbol). Funder needs first inbound ETH transfer (no indexer; ffund.db/bundle_fund.db have funders only for bundle wallets); will test eth_getTransactionCount/ binary-search approach, otherwise funder column stays empty and I say so.
