Automated market makers (AMMs) are smart contracts that allow users to trade assets following a predetermined algorithm. It is enabled by tapping into capital provided by liquidity providers who are rewarded with transaction fees charged on all trades. The fundamental problem decentralized protocols try to address is to obtain reliable and smooth functioning, with low-price slippage while at the same time enabling efficient price discovery. Protocols like UniswapV2, Balancer, and Curve adopted different invariant curves appropriate for various asset classes. The curve, which is fixed by the protocol, constraints trading and liquidity provisioning in the contract.