MEV capturing AMM (McAMM)

I want to share another idea for distributing the LVR to LPs. It should be much more practicable compared to the upper one:

First, we introduce the concept of surplus-charging AMMs:

AMMs charging surplus:

  • A regular trade against an AMM generates an effective trading price and a new marginal price (see picture)
  • The difference in the receiving output between the trade with the effective price and the trade with the marginal price is called the surplus of trade. It’s described by the blue area in the picture.
  • An AMM charging surplus forces a trade to be executed at the new marginal price and gives the surplus to the LPs
  • Note that one can calculate the surplus that each tick contributed and distribute the surplus fairly between the ticks

In the following, we combine the idea of surplus charging AMMs with McAMMs.

Surplus charging McAMMs:

The overall idea is:

If lead searchers are incentivized to trade against the AMMs at the marginal price, then they will increase the surplus fee for LPs, and thereby will automatically distribute the LVR to the LPs.

We define AMM intervals of n blocks. Everyone can buy the right of the first transaction per pool for the AMM intervals in an auction.

Then, we define the following meta-game for lead searchers:

  • One becomes the leadsearcher by winning an auction for a pool
  • Lead searchers are bonded by the bidding amount
  • With each trade of the leadsearcher, the AMM measure the fees paid for the pool
  • If lead searchers have reached the threshold of bid surplus fee for the interval they were bidding with, they are allowed to trade for free against the McAMM and capture all the remaining LVR as their profit.
  • If lead searchers are not reaching the promised surplus fee, their bond will be slashed by the difference. This difference is put into the LVR buffer.
  • If leadsearcher made the threshold of the estimated LVR - their auction bid - and continue trading for free, the LVR buffers can be to still pay fees to LPs.

With these game rules, lead searchers are expected to estimate the real LVR and then bid this value minus expected transaction costs and minus service margin. After a leadsearcher has won the auction for the next n blocks, they will try to generate the surplus fee by capturing the LVR of the AMM and doing their best in arbitraging between the AMM’s CEXs. Once leadsearchers have reached their bidding-limit, the AMM will no longer charge the surplus and the lead searchers can pocket the arbitrage.

Probably, it’s only worth becoming a lead searcher during volatile periods. But this is not a weakness of the protocol, since MEV capturing is mostly needed during times of high volatility.

Details about a possible auction:
The auction for the n-block interval [x, x+1, … x+n-1] could be running over the n blocks [x-n, …, x-1]. If there was no bid in the blocks [x-n, …, x-1], then one can still become the lead searcher for the interval [y,y+1, …,x+n-1] by providing the winning bid in block y-1. With one transaction, one can bid for many pools simultaneously. The most rational strategy for lead searchers might be to bid in the block x-1 sealed via an API like flashbots protect.


  • Gas efficiency: One leadsearcher could bid on many pools with their expected LVR and then be the selected leadsearcher for many pools at the same time to have the gas savings. Combinatorial auctions would be the best to hedge the bidders costs. But they also introduce a lot of complexity.
  • Wash trading is still a small concern as the leadserchers can provide deep liquidity within one block, and then trade against themselves and hence pay themselves the fees. But one could introduce some new rule that fee-surplus is only distributed to “old/longer existing” LP positions, to hinder wash trading
  • Some LPs might not get their fair share of surplus fees, as the buffering of LVR is not perfect. This creates suboptimal meta-games

This might be of interest

I think linking to twitter is not ideal without also including in the post a summary or explanation. The tweet mentions this paper: " Diamonds are Forever, Loss-Versus-Rebalancing is Not." Conor McMenamin, Vanesa Daza, Bruno Mazorra.


Great thanks for providing such an enlightening subject. I have questions regarding “If leadsearcher misses 3 blocks without execution, the leadsearcher will lose the right to execute the first transaction”.

  1. What will be the consequence of losing the right? Because the three blocks are already delayed, then the second winner will take the right? or just normal user’s trades will be included in those blocks?
  2. Will there be any penalties for not executing the transaction for 3 blocks? If there is not, why would the leadsearcher send signal to the contract by spending gas fee?

Thank you in advance!

Just wanted to say I greatly enjoyed and was inspired by this thread. I wrote up some thoughts here.

In brief, my idea is to use an onchain continuous rolling auction of the exclusive right to exercise the liquidity in a certain tick (not the first swap, but the only swap in a block). The winner of this auction could fill user orders through a system like Cowswap.