SENTINEL • RESEARCH LOG • 2026-08-23

Findings: the full arc, fail included.

Every number on this page is computed from committed, hash-receipted artifacts in the repository — the pre-registration, the published failure, the rebuild, and the holdout verdict. Nothing here was chosen after the fact. Try the fee engine →

2,536,933
trades labeled (validation)
1,243,673
trades labeled (holdout)
233
day-windows ingested, 0 failures
100,000
stateful fuzz steps, 0 violations

1 · The problem: LPs pay every single day

Native ETH/USDC pool, Unichain mainnet. Adverse-selection cost per sampled day across the calendar-2025 validation window.

02-11 12-29 peak $0.26M

Pooled cohort: 126 of 126 active pool-days negative for LPs · this pool: $4.5M net adverse selection ($8.1M gross losses, sampled days)

2 · The pain is concentrated

worst 10% of windows = 80% of all losses 32,604 five-minute windows, ranked worst first

3 · The honest failure

The v1 signal could not predict individual toxic trades. Published exactly as pre-registered — which is why the later pass is credible.

Trailing loss → next-window |loss|0.61Last window's loss → next loss0.49Trailing vol → next-window |loss|0.36Per-dollar loss-rate persistence0.30Gate 1 pass bar0.15v1 trade-level signals (failed)0.02pre-registered pass bar |ρ| ≥ 0.15

4 · The diagnosis → the rebuild

Toxic flow clusters in time. A fee that rises with realized volatility collects while it lasts. The deployable signal — EMA of the pool's own 60-second realized move, no oracle — recovered the volatility component at ρ = 0.36, and the calibrated policy beat static fees in 18 of 18 out-of-sample configurations.

5 · It runs on-chain

SentinelHookV1, live on Unichain Sepolia — the demo's 72 fee updates, from committed broadcast receipts (each verifiable on Uniscan):

fee (bps) — peak 8797 on-chain demo: calm 5bps → sustained trend → quiet decay · every point is a FeeUpdated event on Unichain Sepolia

14k gas overhead per swap (budget: 40k) · 100,000-step stateful fuzz campaign, zero invariant violations · manipulation suite: split-trade dodge not cheaper, poisoning costs the attacker 3.29 units per 3 minutes with zero revenue.

6 · The holdout verdict — PASS

Jan–Jul 2026, evaluated exactly once under a protocol frozen before ingestion. 1,243,673 labeled trades, 161 pool-day clusters, zero parameter changes.

BarRequirementMeasuredVerdict
P1ΔNet > 0, bootstrap CI excludes 0+$366,054 pooled · CI [7.74, 12.61] bpsPASS
P2positive in ≥60% of pool-months8/8 months · both pools positivePASS
P3burden ≤ 12 bps9.54 bpsPASS
+$365kM2 ETH/USDC+$1kM1 USDC/HYPE

ΔNet vs static 5bps by pool · M2 precision 0.65, coverage 2.76× · M1 precision 0.56, coverage 4.41×

7 · Artifacts

ClaimReceipt
Gate 1 protocol (frozen)GATE1_PREREG.md
Gate 1 report (failure published)FINDINGS.md
v2 holdout protocol (frozen)V2_PREREG.md
Holdout resultsgate2-evaluation-results.json
Calibration sweep (18/18)calibration-vol-fee.json
The contractSentinelHookV1.sol · 0x290d…3080

Final performance claims are bounded by the replay methodology: trade sizes are held fixed, so volume elasticity is measured only in the pilot. The failure of Gate 1 is part of the record on purpose.