Smart contracts are computer programs stored on a blockchain that work when predetermined conditions are met. They typically are used to automate the execution of an agreement so that all parties can be certain of the outcome immediately, without any intermediary’s involvement or time loss. They can also automate a workflow, triggering the following action when conditions are met.