Uniswap is a protocol on Ethereum for swapping ERC20 tokens without the need for buyers and sellers to create demand. It does this via a equation that automatically sets and balances the value depending on how much demand there is.