Smart contracts are blockchain programs in which specific inputs trigger corresponding outputs. This makes them self-executing, meaning they allow agreements to be made between anonymous parties without the need for intermediaries.
Smart contracts use simple “if / then” logic. For example, a smart contract could be made to process home loan applications: IF an application meets certain conditions THEN the home loan is automatically approved or denied. The entire process can be carried out without the need for anyone to process paperwork, which can be expensive and prone to human error.
Sign up to our weekly MoonPay Minute newsletter
Think of them as vending machines
The popular vending machine analogy offers a clear understanding of smart contract mechanics. Both vending machines and smart contracts are:
Transparent
- Smart contracts are stored on a public ledger (blockchain)
- Vending machines are often found in public spaces (like airports and bus terminals)
Secure
- Smart contracts are secured using public-key cryptography
- Vending machines are secured using locking mechanisms (and payment systems that reject counterfeit money)
Pre-programmed
- Smart contracts have rules and conditions coded in programming language
- Vending machines also have rules and conditions coded in programming language
Self-executing
- Smart contracts automatically deploy an output (e.g. student ID) if the correct input (student enrollment info) is supplied
- Vending machines automatically deploy an output (e.g. soda can) if the correct input ($1.00) is supplied
Fun fact: The earliest known vending machine, which dates back to first-century Egypt, was used to dispense holy water.
Real-world applications
According to smart contract platform Hedera, a smart contract is “a straightforward concept with huge implications”.
Here are some areas where smart contracts could have a big impact:

Subscribe to our newsletter!
Did you like this article? Sign up to our weekly MoonPay Minute newsletter to get similar content delivered directly to your inbox.
