A program on a blockchain
A smart contract is code deployed to a blockchain network that can execute functions according to programmed rules.
What it can do
Contracts can create tokens, manage permissions, record states, coordinate applications and automate digital processes.
Determinism
On many blockchains, nodes must obtain consistent results when running the same contract, which limits certain kinds of external operations.
Software risk
A smart contract follows the code that was deployed. Programming, permission or design errors can affect how it works, which is why audits and technical documentation are important concepts.