How it works

Akronswap was created in order to reduce MEV that previously hurt passive LPs and uninformed swappers.

Assumptions of Akronswap

Akronswap assumes:

  1. EVERY swap on Akronswap is an arbitrage swap from an informed arbitrageur.

  2. EVERY swap on Akronswap is either a front run, back run, or sandwich attack from an informed trader.

That's about it.

Functionalities of Akronswap

What does Akronswap exactly do to achieve the ultimate goal?

  1. Swap in the same direction is not allowed after the first swap in the same block (or in the same second if blocks' timestamps are less than one second apart). In other words, there can only be one swap per block per swap direction, thereby eliminating front runs, back runs and sandwich attacks.

  2. The dynamic swap fee must be greater than or equal to a value that makes the execution price be less or equal to the quote after a swap for swapping token0 for token1, or greater or equal to the quote after a swap for swapping token1 for token0. Otherwise, the transaction reverts.

    • For example, if the price of ETH/USDC before the swap is 2000 USDC, and the swapper swaps USDC(currency1) for 1ETH(currency0), thereby pushing the price after the swap to 2100USDC, and thereby executing at a price of 2030 USDC, then the swapper must pay a dynamic swap fee amount of at least 70 USDC to make the his final execution price 2100 USDC.

    • The dynamic swap fee can be implemented by replacing the previous Uniswap V2's requirement of adjBalance0 * adjBalance1 >= reserve0 * reserve1 with a new requirement: (balance0 in excess of _reserve0) * balance1 >= (_reserve1 in excess of balance1) * balance0 and (balance1 in excess of _reserve1) * balance0 >= (_reserve0 in excess of balance0) * balance1. Here,balance0,1 refers to balance after swap and _reserve0,1 refers to balance before swap.

    • Note that with the new requirement, change in output balance per swap is asymtotic at -50% and +100%. Thus, the trader needs to swap a few times to rebalance the pool if there is a sudden price change that is less than -50% or greater than 100%.

What's in it for LPs?

  • LPs can earn higher return per unit of risk by capturing a signifiant percentage of arbitrage profits through dynamic swap fees when arbitrageurs arbitrage between an Akronswap pool and other pools. In effect, LPs can also be thought of as "passive arbitrageurs" on Akronswap.

  • If your swap amount is small, your dynamic swap fee will also be small. In some cases the fee could be close zero, as shown below.

    • For example, suppose you are swapping 1000 USDC for ETH and the price impact is very small, moving the price from 2000.00 to 2000.20, and suppose your execution price is 2000.12. Then you will only pay a swap fee amount of 0.08 USDC or a swap fee of about 0.004%. This swap fee is close to zero and significantly lower than that on another exchange.

  • If the swap amount is large, you can arbitrage between an Akronswap pool and other pools when there exists a price differential greater than the sum of swap fees on the involved pools.

    • Note that 'one swap per block per swap direction' implementation creates a positive MEV that helps passive LPs capture the highest expected arbitrage value of each block through dynamic fees. Here's why. Among all the competitors, arbitrageurs who pay the highest fee to miners will get their swap included as the one and only swap of the block. The arbitrageur who pays the highest fees is most likely the one with the highest expected arbitrage profits and therefore the highest dynamic swap fees.

Last updated