Smart contracts are self-executing contracts with the terms of the agreement directly written into code. On Ethereum, these contracts are programmed in languages such as Solidity or Vyper and are automatically executed by the Ethereum Virtual Machine (EVM) when predetermined conditions are met. This automation reduces the need for intermediaries and can streamline all kinds of transactions and applications.