  We suggest a framework to determine optimal trading fees for constant
function market makers (CFMMs) in order to maximize liquidity provider returns.
In a setting of multiple competing liquidity pools, we show that no race to the
bottom occurs, but instead pure Nash equilibria of optimal fees exist. We
theoretically prove the existence of these equilibria for pools using the
constant product trade function used in popular CFMMs like Uniswap. We also
numerically compute the equilibria for a number of examples and discuss the
effects the equilibrium fees have on capital allocation among pools. Finally,
we use our framework to compute optimal fees for real world pools using past
trade data.
