A SmartContract is a code that is implemented in the block chain. Each smart contract contains code that can have a predefined set of inputs/outputs. Smart contracts can also store data.
Smartcontracts are used to decentralize, automate and secure processes / agreements that involve two or more parties (people or organizations), since they facilitate, secure, enforce and execute agreements registered between them. Therefore, they assist in the negotiation and definition of such agreements, since they cause certain actions to happen as a result of a series of specific conditions being met. They aim to provide greater security than traditional contract law and reduce transaction costs associated with contracting. The transfer of digital value through a system that does not require trust (e.g. bitcoins) opens the door to new applications that can make use of smart contracts.
They can be implemented in any transaction that requires a registered agreement between the parties, such as, for example, the contracting of financial or insurance products, guarantee deposits, purchase and sale operations of financial instruments in the stock markets, syndicated loans, purchase and sale or rental of real estate, etc. Smartcontracts are usually composed by a user interface and sometimes emulate the logic of contractual clauses.