A smart contract is a computer protocol with a purpose to digitally verify the negotiation of a contract. They not only define the rules and penalties related to an agreement in the same way that a traditional contract does, but it can also automatically enforce those obligations. If and when the pre-defined rules are met, the agreement is automatically enforced. The smart contract code facilitates, verifies, and enforces the negotiation or performance of an agreement or transaction. It is the simplest form of decentralized automation.