A smart contract that allows users to buy or sell a token using a fixed mathematical model. For example, consider a simple linear function in which the token equals supply: In this case, the first token would cost 1 ETH and the second token 2 ETH, thereby rewarding early participants. It is possible to have different bonding curves for buying and selling. A common functional form is a logistic curve.