A Smart Contract is a program that directly controls digital assets. Whereas a traditional legal contract defines the rules of an agreement between several parties, a Smart Contract goes further and freezes these rules in a Blockchain while ensuring the transfer of an asset, whatever it is, when the conditions of the contractual agreements are verified. With this approach, an asset is linked in a program which is stored in a blockchain. If ever a condition is validated, the program launches the code at a given time and determines whether the asset should be sent to or returned to another person, or should be refunded immediately to the person who issued, or a combination of all this.