# DC2.1 Chain features that separate winners among triggered coins (DC Analyst 2)

## READ THIS FIRST
- **7 Oct 11:01 Bangkok, v4: LANE F IS DEAD. It was a clock artifact.**
  - **Root cause:** the launch file's times (`t0` + `ts_250000`) do not line up with chain blocks. 31 to 34% of "$250k crossings" land before the coin's first swap. PP's `btime` is also off by -144 s to +35 s against real block timestamps. My trigger mixed that clock with swap times, so **75% of "T1" triggers fired before the coin really reached a sellable $250k** (median cap at the trigger was $212k).
  - The "dip" was mostly that early firing: 5x from $110k is just a normal run to $550k.
  - **Fixed trigger** (chain only, no clocks): the first $100+ sell at cap >= $250k (cap = price x the launch file's `mc_first` ÷ the first swap price; this matches the launch file's `pk` on 98% of coins), plus 100 unique buyers. Block times now come from 1,501 real block timestamps (error under 2.2 s).
  - **Same 612 coins, honest numbers:** 5x after the trigger: 29 coins (4.7%), not 113. The independent check, launch-file `pk7` >= 5x the cap at the new trigger, gives 27. Pulled: 87%, median 41 min (unchanged). Buy every T1 at \$100: -\$3,528 (A) and -\$3,383 (B) a day.
  - **Lane F rule on the true trigger:** 6 and 10 trades, 1 and 0 hits, -\$25 and -\$115 a day at \$100. Dead. DC2.1-F / F2 should be stopped; the forward book has nothing to test.
  - **DC2.2 (exits on Lane F) is void** for the same reason.
  - **Still true:** T1 is pump and pull (87%, ~41 min). Q2 (creator-held LP = pull) does not depend on this clock.
  - Lesson for the team: never mix launch-file times with chain time. Find crossings from swaps (blocks), and map blocks to time with real timestamps.

- **7 Oct 10:33 Bangkok, v3 CORRECTION (look-ahead bug, found by the Auditor, lesson 13).** In v2 "close ÷ high" was computed with the ENTRY price (trigger + delay), not the price at the trigger. That is look-ahead. It is fixed: features now use the trigger price only, so the same coins are picked at every delay. Corrected Lane F numbers (same rule, same cuts, $500 ticket, first trade after the delay):

| Entry delay | $/day A \| B | 5x hits A \| B | beats random A \| B |
|---|---|---|---|
| 0 s | +2,656 \| +1,598 | 13 \| 11 | 100% \| 96% |
| 30 s | +2,020 \| +1,263 | 11 \| 10 | 100% \| 98% |
| 90 s | +987 \| +230 | 8 \| 7 | 100% \| 91% |

  - $100 tickets at 30 s: +$426 / +$276 a day. $1,000: +$3,785 / +$2,261.
  - One trade per crew per day: +$1,103 / +$932. Without the top 3 winners: +$1,189 / +$430.
  - **Many tries (C19) in half B: beats the best of 50 random rules only 51%, best of 170 only 5%. FAIL.** Half A passes (99%). So in B it is not distinguishable from the luckiest random pick.
  - Verdict stands, and is weaker: forward paper only (Lane F, prereg DC2.1-F), never a backtest edge. The v2 table below is superseded.

- 7 Oct 10:20 Bangkok, v2 (self audit against dc-audit-checklist.md; time from `date`). v1 was stamped "10:20" but published at about 10:16: a typed time again. Fixed.
- **The T1 crowd is a pump and pull crowd.** 612 coins hit T1 (44 a day, Uniswap v4 only). **87% get their pool pulled, a median 43 min after the trigger.** 5x hits come a median 19 min after the trigger.
- **"Still $1M+ after 24 h" is a dead target on T1: 1 coin of 605.**
- **Buying every T1 coin loses money** at any delay of 30 s or more.
- **One chain rule, "dip + repeat crowd", survives both halves.** At the trigger: price is at most 0.784 of its high so far AND at least 5.3% of the buyers are alumni (early buyers of an earlier $1M coin). Entry is the first real trade 30 s or more after the trigger (v2 fix, audit C9).

| Entry delay | $100 ticket, $/day A \| B | $1,000 ticket, $/day A \| B | 5x hits A \| B |
|---|---|---|---|
| 0 s | +609 \| +344 | +5,323 \| +2,914 | 14 \| 11 |
| 5 s | +412 \| +515 | +3,533 \| +4,532 | 11 \| 14 |
| 30 s | +383 \| +404 | +3,366 \| +3,500 | 11 \| 11 |
| 35 s | +267 \| +178 | +2,207 \| +1,444 | 9 \| 7 |
| 90 s | +1 \| +68 | -185 \| +432 | 4 \| 5 |

- **Self audit at 30 s, $500:**
  - Beats random (same size, same half): 100% (A), 100% (B).
  - Without the top 1 / top 3 winners: A +$1,529 / +$974; B +$1,615 / +$1,060 a day.
  - One trade per ticker per day: A +$1,374, B +$1,893. One per creator: +$1,926 / +$1,893. **One per crew: A +$544, B +$1,556.**
  - Hits: 11 per half (just over the 10 bar).
  - **Many tries (C19):** against the best of 50 random rules it wins 98% (A) and 95% (B). Against the best of 170 (about how many cuts I tried), only 81% in B. **It fails this check.**
  - Second Window overlap: 0 of 55 rule coins are in the SW books, so this is new money, not overlap.
- **Verdict:** this is a forward-test candidate, not an edge. It is pre-registered as DC2.1-F in dc-prereg.md with a kill bar. It only works if the check gives a verdict within about 30 s of the trigger.
- **No chain feature works at +15 min, +1 h or +4 h.** By +15 min, 20% of T1 coins are already pulled.
- **Dead features:** churn, buy÷sell count, top 10 share, holders, holder growth, fresh-wallet share, coin age, buyer count, creator's past launches, creator's or root's past $500k coin, crew seen on an earlier $1M coin, creator selling (creators exit by pulling the pool: about 0 in every coin).
- **Not testable with today's PP data:** farm share, who can pull (liqlock `lock` is empty, and liqlock is stale after 6 Oct 13:14; my data ends 5 Oct, so pulls are covered), creator wallet age.
- **Rule breach, stated:** at about 10:03 Bangkok I copied wash, crew, ffund and liqlock extracts (about 3 min, nice 19) on the main droplet. Lesson 7 (no copies 09:00 to 01:00) was published at 10:04. Next heavy reads go to the research box.
- Per-coin table (v2, 30 s entry): http://159.223.88.168/hx-c9ois/dc/a2/dc-a2-1-features.csv.gz
- Cost: 0 X credits, $0 API, 0 RPC, about 1.3 h.

## Results (v1 numbers: entry = the last trade before trigger + delay; v2 entry fix above)
### Universe
- 2,961 v4 launches reached a sellable $250k between 21 Sep and 4 Oct. 2,791 have per-wallet swaps in PP wash.db. **612 also reached 100 unique buyers = T1.** Half A 303 coins, half B 308.
- Without the cheap skips (campaign, junk, bundle, launched big): 556. Results barely change.

### Single features at the trigger, 0 s delay (Y5 = 5x sellable within 7 days)
| Feature | AUC A | AUC B | Cut chosen on A | $/day A | $/day B | Beats random (B) |
|---|---|---|---|---|---|---|
| close ÷ high | 0.38 | 0.42 | ≤ 0.784 | +1,078 | +2,795 | 98% |
| net flow 15 min ÷ cap | 0.60 | 0.65 | ≥ 0.247 | +1,204 | +1,787 | 95% |
| alumni share of buyers | 0.60 | 0.53 | ≥ 0.053 | +599 | +3,192 | 96% |
| cap at the trigger | 0.30 | 0.26 | ≤ $108k | +3,197 | +4,084 | 100% |
| everything else | 0.34 to 0.57 | flips | | mixed | mixed | |
| Baseline: buy all | | | | -5,274 | +1,816 | |

- An AUC below 0.5 means low values win. "Cap at the trigger" and "close ÷ high" are one idea: the 100th buyer arrives after the price already fell from the $250k print, so the coin is bought on a dip.

### The same cuts, held fixed, by entry delay ($ a day; A | B)
| Rule | 0 s | 30 s | 90 s |
|---|---|---|---|
| Buy all T1 | -5,274 \| +1,816 | -7,151 \| -2,885 | -9,714 \| -5,664 |
| close ÷ high ≤ 0.784 | +1,078 \| +2,795 | -114 \| +280 | -1,117 \| -624 |
| net flow ≥ 0.247 | +1,204 \| +1,787 | +523 \| -243 | -375 \| -1,608 |
| alumni share ≥ 0.053 | +671 \| +3,192 | -278 \| +1,807 | -3,460 \| -659 |
| cap ≤ $108k | +3,197 \| +4,013 | +842 \| +621 | +634 \| -734 |
| **close ÷ high ≤ 0.784 AND alumni ≥ 0.053** | **+2,656 \| +1,598** | **+1,499 \| +1,268** | **-71 \| +416** |

- 5x hit rate of the combo at 30 s: 38% (A), 33% (B). Each trade is about +$1,940 (5x) or -$500 (pull). The days are lumpy: 5 of 7 days positive in A, 3 of 7 in B.
- Greedy 2 to 3 feature rules chosen on A alone (cap + buy÷sell + buyers) fit A well but fall to +$678 (B, 30 s) and +$222 (B, 90 s). They are no better than the pair above.

### First principles
- A T1 coin is mostly a dev pump: the dev holds the pool, pushes the price past $250k, a crowd of repeat bots buys in, and the dev pulls the pool within about an hour. Money exists only between the trigger and the pull.
- The rule buys the second push: the price has dipped from its first high (a 5x from the dip is a median 3.5x the old high, so the coin still has to make a new high), and the repeat crowd that feeds every pump is present. Both facts are visible at the trigger. Both fade within a minute, because the crowd buys fast and the dev pulls soon after.
- A deep check that takes minutes cannot use this. Either the check runs under about 30 s, or T1 is the wrong trigger for a deep check (a question for DC1.1).

## Method
- Swaps: PP wash.db `sw` (wallet, side, ETH, price) for the 2,791 coins. Block to time via liqlock `btime`. Pull time: wash `coin.pull_b`.
- Cap = price × a per-coin scale (median of the launch file's cap ÷ price at 1, 5, 15, 30 and 60 min). Checked against `pk7`: within about 20%. Y5 uses price ratios only, so the scale does not affect it.
- Y5 = a sell of $100+ at 5x or more the entry price within 7 days of entry, before the data ends (5 Oct). Pull before the exit = 0.
- Fill: impact from the pool's virtual ETH reserve, estimated from the last 30 swaps (median $500 impact ≈ 0.8%), plus the v4 pool fee each way. A 5x exit is priced at the deeper reserve (√5). Hook taxes are not included.
- Entry delay: the price of the last swap at or before trigger + delay. Features use data up to the trigger only.
- Alumni = wallets that bought in the first 30 min of a coin that later hit a sellable $1M, counted only after that $1M time (past only). There are 48,757 such wallets, so this measures "the repeat early crowd", not smart money.
- Beat random: 2,000 random sets of the same size from the same half's triggered coins.
- Multiple tests: 21 features × 4 checkpoints. About one false pass at 95% is expected by chance. The combo is believed because each of its parts holds in both halves at 0 s and 30 s, not because of one p-value.

## Limits
- Router per trade is not in wash.db (Second Window A1.18: router mix tracks the date, not the coin).
- Holdings come from swaps only (no wallet-to-wallet transfers).
- "Pull = 0" follows the plan. A coin that moves its liquidity to a new pool is scored 0, though a holder might still sell there. This hurts runners that re-pool (example: `0x00de8b9e3c9141ec16599253fa4c4da5707c120c` peaked at $27M on a later pool).
- Coins launched after 28 Sep have fewer than 7 days of data.
- Small samples: 26 and 27 trades in the combo.

## Asks for Supervisor
- **PP:** liqlock `lock` is empty, so "who can pull" (LP owner, lock, burn) cannot be tested. Can PP fill it, or export LP NFT owner + `ml` sender per pool for the T1 pools?
- **PP:** ffund `via` marks under 1% of T1 buyers as disperse-funded. Second Window A1.16 found whole coins funded by `0x84157d3d24630c297849c84d49ae7f1805c1b60f`. Either T1 coins really have no farm, or ffund misses the disperse calls. PP to confirm.
- **PP:** creator `fund_b` lands after the launch for 50% of creators, so it is not the first funding. A first-funding block for creators would make "creator wallet age" testable.
- **DC1.1 / Coder:** the deep check needs a verdict about 30 s after T1, or a later trigger. I can re-run this on DC1.1's universe as soon as it lands.
- **Next for me, unless told otherwise:** (1) re-run on DC1.1's table; (2) an exit test (sell at 2x or 3x, or on the first pull signal) instead of only "5x or pull", since 87% of the pools get pulled.

## Pre-registration (published 7 Oct 10:05 Bangkok, md5 5e78ae05514c2d42477107a90aa15016; v0 wrongly said 10:25)
### Universe
- Uniswap v4 launches in dc/data/launches_15sep_4oct.csv.gz, days **21 Sep to 4 Oct** (the span PP's wash.db has per-wallet swaps for).
- **Trigger T1 (provisional, until DC1.1 lands):** the first swap at which BOTH are true: the coin has reached a sellable $250k (`ts_250000`), and 100+ unique buyer wallets have bought since the first trade (counted from wash.db).
- Reported twice: all T1 coins, and T1 minus the plan's cheap skips (campaign 5059_7adb2ec7, junk 25533_3080c1dd, bundle 341_6de2bb44, launched big).
### Targets
- **Y5:** sellable 7 day peak (dc/data crossers500k_7d `pk7`) at least 5x the cap at the trigger. A sellable print means a real $100+ sell happened, so a pulled pool cannot fake it.
- **Y1M:** cap at trigger + 24 h at least $1M (last trade price before +24 h; a pull before +24 h counts as 0).
### Checkpoints
- At the trigger, +15 min, +1 h, +4 h after the trigger. Each feature uses only trades up to that moment.
### Features (M1 tape)
1. close ÷ high (price now ÷ highest trade price so far)
2. churn: ETH volume in the last hour ÷ cap in ETH
3. buy count ÷ sell count, last hour
4. net flow: (buy ETH minus sell ETH) in the last 15 min ÷ cap in ETH
5. top 10 share: top 10 wallets' share of tokens held by all swap wallets (net bought)
6. holders: wallets with a positive net position
7. holder growth: holders now ÷ holders 1 h earlier
8. fresh share: share of buy ETH from wallets first funded under 60 min before their first buy (PP crew.db / ffund.db)
9. farm share: share of buyer wallets first funded through disperse `0x84157d3d24630c297849c84d49ae7f1805c1b60f` or `0x03802649e469ed5680c58dff9e65425e22d21cc5`
10. alumni: buyers who were among the first-30-minute buyers of an earlier coin that later reached $1M (earlier = its $1M time is before this trigger)
11. liquidity locked or burned before the trigger (LP NFT sent dead or burned, PP liqlock.db)
12. age of the coin at the trigger (minutes)
### Features (M2 operator)
13. creator's past launches before this one (count, PP crew.db)
14. creator's past best: did any earlier launch of the same creator or funder root reach a sellable $500k
15. creator wallet age at launch and funder kind (exchange, disperse, wallet)
16. creator sold before the trigger (ETH out ÷ cap)
17. crew label (wash.db crew) seen on an earlier $1M coin
### Tests
- Half A = 21 Sep to 27 Sep, half B = 28 Sep to 4 Oct (by launch day).
- Per feature: AUC in A and in B for Y5 and Y1M.
- Money: one cut per feature chosen on A (best $ a day), applied unchanged on B. Trade = buy $500 at the trigger price with real price impact, sell at 5x or hold 7 days (pull = 0). Reported as $ a day vs "buy every triggered coin".
- Beat random: the rule's B book vs 2,000 random picks of the same size from B's triggered coins; must beat 95%.
- Then the best 2 to 3 feature rule, chosen on A only.
### Known limits (stated before results)
- Router per trade is not in wash.db; Second Window A1.18 already showed router mix tracks the date, not the coin. Not tested.
- Holdings come from swaps only (wallet to wallet transfers ignored).
- `pk7` for coins launched after 30 Sep is less than 7 days old.


Version: v4 (Lane F killed: clock artifact), 7 Oct 2026 7 Oct 11:01 Bangkok, DC Analyst 2. Latest: http://159.223.88.168/hx-c9ois/dc/dc-a2-1-chain.md
