Measured on flow that actually happened
Seven days of Unichain mainnet ETH/USDC — 55,822 swaps — re-priced through the exact on-chain logic. No simulated agents, no assumed behaviour. Every number below regenerates from a file committed to the repo, with no RPC: cd backtest && python3 -m venv .venv && .venv/bin/pip install matplotlib && .venv/bin/python compare.py.
- ρ — realized adverse selection recovered
- 53.8%$2,688 of $5,002
- Benign flow
- 5.00bpsthe headline fee, bond refunded in full
- Informed flow
- 12.32bpsfee plus the forfeited share of its bond
- Permutation null at the shipped horizon
- +6.14zbeats random labels 30 of 30
We publish the horizons that fail
Before any headline: would random labels collect as much? Flipping a swap's direction negates its markout, so we shuffle directions and re-run. At short horizons the mechanism does not beat chance — the dominant signal there is a trade's own price impact, not information. We ship the horizon where the signal is real and print the failures beside it.
| Horizon | True clawback | Random-label mean | z |
|---|---|---|---|
| 1 + 1s | $570 | $852 | −4.27 |
| 3 + 2s | $1,239 | $1,270 | −0.42 |
| 5 + 2s | $1,681 | $1,531 | +1.86 |
| 10 + 5s shipped | $2,688 | $2,186 | +6.14 |
| 30 + 10s | $4,565 | $3,539 | +10.93 |
What we got wrong
This project has been through three rounds of adversarial audit. Twice, the honest answer cost us a headline. Both corrections are here rather than quietly restated, because a number you can check matters more than a number that flatters us.
- Was — out-of-sample correlation 0.441
The label was anchored at the swap's own execution price, which makes it identically markout + later drift. Verified across all 55,822 swaps: the difference is exactly zero. Disjoint in time, overlapping in information — 91% of that number was the tautology the test existed to rebut, and a placebo tape with no predictability scored higher than the real data.
Now — the per-trade figure is ≈ 0, published as a negative result - Was — “0.0% of revenue from benign flow”
A string literal. True by construction, because we defined benign as the swaps we did not charge. Scored against an independent label — address behaviour in the half of the week the charge never saw — the honest figure is 5.6%, against 14.4% for a flat fee. Still roughly three times better. Far less than the tautology implied.
Now — both numbers ship, with the tautology labelled - Was — “a JIT can capture at most ~15% of the pot”
Our own test measured a single epoch and never repeated the snipe, which was the entire attack. Repeated across twelve flushes a JIT with one seventh of the incumbent's capital took 98%. Liquidity now has to sit for sixty seconds before it can be withdrawn, so the snipe cannot be atomic.
Now — the bound is gone; residency replaces it
What replaced the first retraction is the test that actually holds. Charge measured on the first half of the week predicts which addresses adversely select in the second: Spearman +0.739, permutation p = 0.0005. The addresses we charged most went on to impose 6.43 bps of adverse selection; the ones we charged least, 0.43. Small sample, stated plainly: only 34 addresses trade this pool in both halves.
The tape ships with the repo, so a clean clone reproduces every figure offline. Or re-price all 55,822 swaps in your browser and move the parameters yourself.