A Smart Contract is simply a self-executing program stored on the blockchain that controls, documents or executes actions or events taking place between a buyer and seller or two different entities.
The Smart Contract contains various codes and agreements which span across the blockchain and allows any user to facilitate transactions in a decentralised manner, without any centralised authorities.