A smart Contract is a virtual contract that is encoded in Blockchain. Traditionally, the terms and conditions of a contract between two parties have been written down on paper and a legal system acts as the third party in ensuring that both the parties abide by these terms. A smart contract eliminates the need for such a party by its self-executing nature. .