How it works
- Rebuild the market. The state of every Ethereum DEX pool in scope was rebuilt for every block of 10 October 2025 from Tycho's public historical data.
- Replay it through Fynd. Fynd, the open-source DEX router, was served that market one block at a time and asked for quotes: 100 trade sizes per side, from $50 to $50M, at every block of the crash window (20:30–22:30 UTC) and once a minute across the day. "Aperture" is the routing algorithm behind hosted Fynd, run on the same market.
- Compare. Against Binance's ETH/USDC price, and against the aggregator and solver trades that actually settled in the crash window, re-quoted with Fynd on the same state.
How it was checked
- The rebuilt pool state matches the chain at every block checked, pool by pool.
- The routes Fynd quoted match the pools' own on-chain quotes, to the wei.
What is not included
- Only native AMM pools between ETH, WETH, USDC, USDT, DAI and WBTC: Uniswap v2, v3 and v4 (without hooks), SushiSwap and PancakeSwap.
- No Curve, Balancer, Fluid or Ekubo, no hooked Uniswap v4 pools, and no RFQ, private market makers or centralised exchanges. On-chain liquidity totals are therefore a floor.
- A trade's position within its block is not modelled: quotes use the state at the start or end of the block.
- Gas is each block's base fee plus a 0.5 gwei tip. Router fees are not included.
- The full day is sampled once a minute; the crash window uses every block.
Definitions
- Mid: halfway between the best buy and sell prices across all pools, for trades of $2,500 and up. "Robust mid": the median of such midpoints for $2,500–$10,000 trades.
- Cost to trade: a trade's average price against the mid, in basis points; gross excludes gas, net includes it. Negative means the book was crossed.
- Depth at x%: the largest trade whose price moves less than x%.
- Liquidity moves: each pool's liquidity within ±2% of its own price, with each block's change split into LPs adding or removing positions and the price moving through unchanged ones.