# #599 bundle scan, every v3 WETH pool since 13 Sep (dataeng3, 10 Oct 2026)
**Coverage was already full; the 'gold' src is only a label.** bundle_fund.db `seen` held 7,336 of 7,358 pools (all fees, 13 Sep-now). Bundled = 6+ wallets receive the token in the launch tx, so 94% of pools are legitimately "not bundled" and never appear in bundle_launch. A2's "unbundled set not covered" is wrong for those.
**Real gap found and fixed:** the newest 22 bundled launches (8-10 Oct, incl. a 23-wallet one) were stuck for 2 days: the funder walk crashed ("historical state not available", 429/500), so they were never written. Hence no bundle after 8 Oct 09:50. Fix in /opt/sw/bundle/bundle.py: a failed walk keeps the launch and wallets (tokens, usd, sells) and marks `bundle_wallet.stop='walk_failed'` (funder/root NULL; 326 wallets in 22 pools). Backup bundle.py.bak-599. Now 182 bundled launches (latest 10 Oct 05:15).
**New table `pool_early`** (/opt/ppcopy/bundle_fund.db, refreshed every 10 min by the existing cron via /opt/sw/bundle/early.py): one row per pool, all v3 WETH fees (filter `fee=100`: 5,717 pools, 177 bundled).
Columns: pool, fee, launch_b, launch_t, bundled, n_wallets, bundle_usd, sold60, sold300 (cumulative % of bundle tokens sold by bundle wallets <=60/300 s after launch; NULL when not bundled), sold_ok (1 = sell scan covers +300 s; 11 pools still 0, fills in), outside_buyers_300 (distinct buy recipients in first 300 s minus bundle wallets and creator; gold tape rcp; 8 NULL = pools only in v3live).
Example: `select pool,bundled,sold300,outside_buyers_300 from pool_early where fee=100 and launch_t>1791000000;` join your band list on pool.
Caveats: sold% counts only token sells by the bundle wallets (not transfers to other wallets); wallets not walked in a budget-limited run are walk_failed and not retried (funder fields only, not needed for your test).
