Help me understand Balancer arbitrage

I scratch my head trying to understand how Balancer incentivise traders to arbitrage index funds - and paying a fee to LPs. I understand what index funds are and what are the benefits for LPs. However, when it comes to arbitragers I don’t get it.

This article gives a short description of the process but I must be dumb because I still don’t understand what incentivise traders to do arbitrage with fees that can range between 0.0001% and 10%.

Screenshot from 2021-04-25 20-54-26

Could you please give an example or ELI5 ?

The arbitrager would take the fee into account when deciding to arb the pool. For example, suppose a pool is in such a state that you can buy 1 ETH for 2200 DAI plus fees from it. If the pool’s fees are 10%, then you’d have to send (2200+220 = 2420) DAI to the pool to get that 1 ETH. If you can sell that ETH somewhere else for 2400 DAI, you’d be losing money, so you wouldn’t do the arbitrage. If the fee was 1%, 1 ETH would cost you (2200+22 = 2222) DAI, so you’d be inclined to buy 1 ETH from the pool and sell it for 2400 DAI, netting 178 DAI in the process.

Hi Markus,

Thanks for answering my question and giving an example.

What incitate arbitragers is they can buy an asset bellow the market price. In your example, a pool has an asset to sell, but what determine arbitragers can buy 1 ETH for 2200 DAI + fee from it ? I understand that arbitrage can occurs after there is a certain difference with the market price, but is it the configuration of the pool ?

Also, what happen when a pool has an asset to buy ?

Sorry for asking so much questions but I plan to distribute a token with Balancer and I would like to get more familiar with the protocol.


The price at which the pools sells tokens is defined by the current balances of the pool and the weights of the tokens. Check out this section of the whitepaper for the equations

Thanks Markus, I’ll have a look.