The replay

What if you could go back one year and place the same $10,000 twice: once inside a Uniswap v3 pool, once as an Aqua strategy on the same pair and the same price range? This guide replays exactly that on public on-chain data, under two competition states and with finite wallet balances, then splits the budget across six pools against one shared wallet, then scales both shapes from $10K to $1B.

12 min readUpdated July 2026

The experiment

Every figure below comes from one deterministic replay of the last full year on Ethereum: six Uniswap v3 pools, their daily swap volume, the liquidity that competed for it, the protocol fee switch from the exact day each pool activated it and each pool’s measured just-in-time share. The Aqua side answers the two questions that actually decide the outcome: how much flow would routing have sent to a strategy in your own wallet, and how much of it could your tokens have served once other strategies quote the same pair and a one-way day drains a balance?

Window
2025-07-01 to 2026-07-01 UTC, entry on day one, held for the whole year
Two venues, one deposit
Inside the Uniswap pool every swap pays the position automatically. As an Aqua strategy the deposit earns only the flow that routing steers to it, at the fee the strategy itself quotes
Price range
One range per pair, sized in hindsight to cover the weighted daily swap span on 95% of days (the pegged pair quotes four times its median daily span instead), identical on both venues so the comparison isolates the venue, not the range pick
The honest bracket
Every Aqua figure spans two flow ends. Lower: only the measured aggregator-routed share of each pool’s volume can see a wallet strategy (10% to 36% per pool). Upper: every order compares venues before it executes
Two competition states
Sole strategy: yours is the only Aqua book on the pair, the upper end. Fully contested: competing strategies quoting the same fee hold a book as deep as the pool’s own, the floor. Live competition sits between the two, and no live per-pair data exists yet to pin it closer
Everyone’s cut
Uniswap side: the protocol’s share of LP fees from each pool’s activation day (a quarter on the 0.05% and 0.01% pools, a sixth on the 0.30% pools) plus the measured just-in-time share. Aqua side: the DAO’s share of each strategy’s fee (a quarter below the 0.12% boundary, a sixth above it)
Not modeled
Gas, rebalancing, compounding and intraday sequencing. Each pool’s volume and competing pool liquidity stay as measured, so extra size never invents extra flow

Who collects the fees today

The pools’ own history shows who actually collects the fees. We counted every position ever opened in the ten Uniswap v3 pools on Ethereum with the most lifetime volume: 348,993 positions as of July 2026. Positions of $10,000 or less are the single largest group by count, and together they collected less than one percent of everything those pools ever paid out. The median small position collected $10.84 over its whole life. The rest of this page shows what the same deposit can do when the tokens stay in one wallet and quote everywhere they fit.

32.6%of the 348,993 positions ever opened are $10,000 or less at their peak
0.8%of all fees ever collected in those pools went to that $10,000-or-less group
$10.84median lifetime fees collected by one such small position

Six pools or one wallet

Now the same budget goes portfolio-shaped, exactly as a cautious LP would spread it. The Uniswap shape splits $10,000 into six isolated deposits of $1,667 each: ETH/USDC 0.05%, ETH/USDT 0.05%, USDC/USDT 0.01%, ETH/WBTC 0.30%, WBTC/USDT 0.30% and WBTC/USDC 0.30%. The Aqua shape holds the very same $10,000 as four token balances of $2,500 (ETH, USDC, USDT, WBTC) and quotes all six pairs from them. Each pair draws on its two token balances, so each stands behind a $5,000 quote: $30,000 of standing quotes from the same $10,000, because the tokens are shared rather than parceled out. Three times the standing quotes is what drives everything below.

The multiplier is standing quote size, not extra tokens: every fill still draws from the same four balances.

Does quoting more pairs from the same wallet collect more? The replay answers directly. Start with ETH/USDC alone, then add the next-biggest pair until the wallet quotes all six. A pair whose tokens already sit in the wallet splits nothing, so its flow is pure gain. A pair that brings a new token splits the budget across more balances, and here it still comes out ahead. At $10,000 the six-pair wallet collects 3.3 times what the single pair does on the upper end, and 4.1 times on the routers-only floor. The multiple barely cares who else quotes the pairs: fully contested, both endpoints halve and six pairs still collect 3.3 times one.

Same budget and pool-matched fees, pairs added in volume order. Every added pair lifted the whole curve in this window, and the one-to-six multiple holds in both competition states.
3.3xthe six-pair wallet’s fees vs quoting ETH/USDC alone, upper end at $10K, in either competition state
3 of 5added pairs reused tokens already in the wallet, splitting nothing
4.1xthe same six-vs-one comparison on the routers-only floor

Head to head: $10,000 on ETH/USDC

One year back, $10,000 goes into the ETH/USDC 0.05% pool and earns $456 to $464 in fees. ETH fell 34.7% over the window, and net of the position’s repricing the pool position kept $95 to $103. The same $10,000 as an Aqua strategy quoting the very same 5 bps: as the only Aqua strategy on the pair, $42 for the year if only aggregator-routed flow ever saw it and $410 if every order price-optimized. With competing strategies holding a book as deep as the pool’s, the all-flow end drops to $205, about 44% of the pool position. And the aggressive undercut many would reach for first, a 0.005% fee, earned less rather than more: $22 to $222 as the sole strategy.

The same deposit, the same ±93.3% range, the same year of flow. The pool position pays automatically. The wallet strategy earns what routing sends, bracketed by flow visibility and by how many strategies quote the pair.
$456 to $464the Uniswap pool position’s year of fees: the small spread is only how the handful of out-of-range days are credited
$42 to $410the same deposit as the only Aqua strategy on the pair, at the pool’s own 5 bps
$205the all-flow end once competing strategies match the pool’s book: about 44% of the pool position

Why does the deep undercut earn less? Because earning is fee times flow. Quoting 0.005% instead of 0.05% wins more than five times the routed volume in this replay, but each routed dollar pays ten times less. And why does competition halve the take? Because an order that reaches Aqua splits across every book quoting the pair, so your share is your size against the venue’s whole book. The two ends of the Aqua strip are a fact about visibility, the two competition states a fact about crowding. Reality sits between the corners, and moves toward the strong ones as more flow price-optimizes and while few strategies quote the pair.

One asymmetry is already priced into these numbers. The measured just-in-time share is subtracted from the pool side, and it has no Aqua equivalent: a quote lives in your own wallet, so there is nothing to wedge in front of a fill and no fee moment to dilute. Why JIT sniping cannot happen to an Aqua position.

The break-even fee window

Sweeping the strategy’s fee from 0.1 to 10 bps answers the natural next question: is there a fee at which the wallet strategy beats the pool position outright? As the only strategy on the pair, yes, and it is a window, not a point. On the all-flow end every fee between 1.2 and 4.82 bps earned at least the pool position’s $464, and 3 bps earned the most: $727, roughly 1.6 times the pool. On the routers-only end no fee catches the pool at this size, and once competing strategies match the pool’s book no fee does either: the contested curve tops out at $287. The window is an upper end that says the binding constraints are visibility and crowding, not pricing.

Same deposit, same range, same year of flow. Only the quoted fee moves. Too close to the pool tier wins no flow, too cheap gives the flow away, and a crowded book splits whatever the fee wins.
1.2 to 4.82 bpsthe fee window that beat the pool position on the all-flow end, as the sole strategy
3 bpsthe fee that earned the most, undercutting the pool’s 5 bps by 40%
$727 vs $464the best swept fee’s year against the pool position’s year

The winning window is not an accident of this pool. Every fee level where competing liquidity stands is a boundary: quote below a venue’s fee and its flow becomes reachable, quote above it and that flow stays home. ETH/USDC has tier pools at 0.01%, 0.05%, 0.30% and 1.00%, so for a small strategy the useful quotes live between the 0.01% floor and the 0.05% home tier, exactly where the sweep found its window. Undercutting below the cheapest standing tier makes no new venue’s flow reachable. It only gives the rate away.

The six-pair year, replayed

Pool-matched fees on every Aqua leg. The differences are who sees the flow, how many strategies quote each pair and how much stands behind each quote. The wallet’s balances are finite: on the worst one-way days the model lets a drained side stop filling until flow turns.
2.7xmore fees from the shared wallet than the six split deposits at the upper end, from the same $10,000 at the same fee rates, as the sole strategy ($174 to $1,360 vs $482 to $509)
1.3xfully contested, the shared wallet stays ahead on the all-flow end ($683 vs $509) and falls behind on the aggregator-routed floor ($87 vs $482)
$482 to $509year of fees for the six isolated pool deposits

Fees are half of the ledger. Repricing is the other half. This window was rough: ETH fell 34.7% and WBTC 44.6%, so two-sided liquidity on either venue repriced against simply holding the tokens. Net of that repricing the split ended -$28 to -$1 and the shared wallet -$26 to -$156. The shared side’s all-flow end is more negative for the same reason its fees are larger: $30,000 of standing quotes track three times the repricing of $10,000 of deposits. Standing size cuts both ways, and no venue choice removes market direction.

The same breakdown at the ladder’s top end shows what saturation does pair by pair. At $1B the shared wallet still collects more on five of the six pairs as the sole strategy, up to 1.6 times the pool deposit on ETH/USDC. The smallest pool flips: on the all-flow end the $166.7M USDC/USDT deposit collected $290,197 against the $500M standing quote’s $267,964, because a bigger quote cannot collect flow the pool never saw. Fully contested the totals stay about 5% ahead of the split while individual pairs go both ways. The routers-only floor sits far below the split book at this size on every pair. Visibility, not pricing, is the binding constraint at the top.

Same design as the $10,000 chart, one hundred thousand times the budget. The gray bar shows the split deposit’s lower end. Saturation is per pair: the big pools still reward the bigger quote, the smallest pool no longer does.

From $10K to $1B

The same two shapes replayed at sixteen budgets. As the sole strategy on every pair the shared wallet collects about 2.7 times the split book’s fees at $10K, still 2.6 times at $1M, compressing to roughly 1.4x at $1B as fee capture saturates against the flow that actually existed. Fully contested the wallet still collects about 1.3 times the split at $10K and stays about 5% ahead at $1B: sharing keeps its edge because the split book faces the same market. The break-even window tells the fee story. It stays put through roughly $25M, then narrows toward the pool tier as the strategy becomes most of the market.

Both axes logarithmic. Flattening is the honest part: a replay on fixed historical flow must not let a bigger budget invent volume that never happened. The dashed line is the six pools’ measured book, $204.6M. Rungs to its right illustrate saturation, they do not estimate fees at that size.
Small budgets can undercut hard because they fill a sliver of each order. A budget that rivals the pool’s own size cannot. The dashed line marks that measured book, $80.9M: past it the chart illustrates saturation, not a fee estimate.
$482 to $16.6Mthe split book’s year of fees from $10K to $1B, lower end
$1.4K to $23.3Mthe shared wallet’s year of fees on the all-flow end across the same budgets
1.2 to 4.82 bps at $10K, 3.74 to 4.88 bps at $1Bthe ETH/USDC break-even window drifting up as the budget becomes the market

Read the numbers with these limits

  • This is a historical simulation, not live results and not an offer of future performance: one year, one chain, six pools, entry on one day.
  • The Aqua side uses a routing model, not recorded Aqua fills: each order splits so the all-in marginal price equalizes across the pool and the strategy (the standard aggregator objective), with each day’s volume arriving as that day’s observed number of swaps at restored daily spot.
  • Competing Aqua strategies are modeled at two computable states: none, and a book as deep as the pool’s at the same fee, split pro-rata (the expectation of the winner-take-all auction under symmetric quotes). Live competition sits between the states and moves as other LPs come and go.
  • The lower flow end counts only volume a swap aggregator provably routed, a floor: solver and bot flow that self-optimizes across venues is not tagged by that measure. The upper end lets every order compare venues. Reality sits between the two.
  • Quotes below the cheapest standing tier are modeled like any other fee, but in live markets they mostly attract arbitrage flow, the kind the repricing side of the ledger already counts against. The corridor between the pair’s tier boundaries is where undercutting stays defensible.
  • Daily bars with the volume-weighted p05 to p95 span swaps touched each day, volume-weighted active liquidity and the day’s signed buy/sell volume split. Intraday sequencing and single-swap effects are averaged out.
  • The modeled strategy is a slow quote, static price, static fee, no repricing, and the cost such a quote pays for going stale against arbitrage flow (loss-versus-rebalancing, intraday adverse selection) is not charged: fills happen at restored daily spot, while on the Uniswap side this cost is already embedded in the measured history. The omission flatters the Aqua side, so read its figures toward the lower ends. The break-even window is most sensitive, since an undercut attracts the most arbitrage-heavy flow. Fast-repricing live strategies can cut this cost, and this replay does not model them.
  • The window is one strongly falling market (ETH -34.7%, WBTC -44.6%). A sideways or rising year rewrites every net figure. The venue comparison, not the market outcome, is the transferable part.
  • Static positions and static fees: no rebalancing, no compounding, no mid-window fee changes, no gas.
  • Wallet balances are finite and walked daily: fills exchange one token for the other at that day’s measured buy/sell mix, a day’s round-trip flow pays for itself and only the net one-way excess draws the paying balance down, capped at what the wallet holds. A drained side stops filling until flow turns, exactly like the product. Intraday sequencing inside a day is not observable at this grain.
  • USD accounting uses each pool’s own stable leg. The ETH/WBTC pool converts through the same-day volume-weighted ETH/USD of the largest pool. No external price feed enters the arithmetic.
  • Live Aqua mechanics (resolver competition, intent auctions) are richer than this flow model. The model here is deliberately the plainest defensible one, and both of its ends ship with the code.

Sources and reproducibility

Dune dashboard: every query behind this page The public dashboard bundling the scenario, just-in-time, fee-switch and aggregator-share queries with their exact SQL.https://dune.com/1inch/1inch-aqua-learn-lp-backtests-data Pool verification and year volume Factory metadata and last-full-year swap volume for the six scenario pools.https://dune.com/queries/8056904 Daily bars for the six pools Per day and pool: swap count, stable-leg USD volume, close and weighted percentile ticks, volume-weighted active liquidity.https://dune.com/queries/8056942 Signed daily flow per pool Each day’s USD volume split by direction, the inventory walk’s input: which token swaps brought into the pool and which they took out.https://dune.com/queries/8074657 Measured just-in-time share per pool Same-block mint, swap, burn detection and the resulting diverted fee share per pool over the window.https://dune.com/queries/8057014 Uniswap protocol fee activation history SetFeeProtocol events for the six pools. The Uniswap side’s LP share changes on each pool’s exact activation day.https://dune.com/queries/8057019 Aggregator-routed volume share The share of each pool’s volume executed inside a transaction a swap aggregator routed: the replay’s lower flow end.https://dune.com/queries/8057211 The LP census Every position in the ten pools, reconstructed and bucketed by peak size on Dune. The page quotes this query directly.https://dune.com/queries/8066181 The venue slices Every Uniswap v3 fee tier of the six pairs with its year of volume and its book size. The corridor boundaries on the sweep chart come from this query.https://dune.com/queries/8068821 Aqua LP-positioning study, frozen source The methodology study whose replay semantics (daily bars, in-range credit, two bracket ends) this backtest follows.https://dune.com/queries/7772881 Divergence-loss methodology The peer-reviewed formulation of divergence loss behind the repricing accounting.https://arxiv.org/abs/2111.09192 Loss-versus-rebalancing (arXiv:2208.06046) Formalizes the steady cost that better-informed arbitrage flow extracts from resting AMM liquidity.https://arxiv.org/abs/2208.06046
Shared liquidity The mechanics behind the shared wallet in this backtest: one balance standing behind many strategies. Aqua vs AMMs & RFQ How Aqua’s model differs from AMM pools and RFQ beyond the numbers: custody, pricing, flow. Risks, compared What can go wrong in live conditions that a historical replay cannot show.