Smart contracts are simply programs stored on a blockchain that run when fixed conditions are met. They usually are used to automate the performance of an agreement.