A smart contract is a computerized program that is reserved on the Blockchain. Each smart contract has code that specifies a set of inputs. Smart contracts may be used to store data as well. Under this technology, smart contracts run on every node, and the data from each contract is kept on every node, following the distributed paradigm of the Blockchain. This information is available at all times. Smart Contracts may also be used to call other smart contracts, enforce permissions, run workflow logic, and do calculations. Because smart contract code is executed within a transaction, the data recorded as a result of running the smart contract becomes part of the Blockchain's immutable ledger.