Encyclopedia Ethereum · Entry 07
Smart contracts: programmed rules, examples and outside promises
In this article
At a glance
Key facts
Code supplies the rule; state records the current position
A contract can contain a rule that a particular signer may release funds, while storage records how much is deposited and whether release has already occurred. Nodes re-execute the rule when evaluating a transaction.
The familiar phrase self-executing can mislead. A contract does not wake itself because a calendar date arrived; a transaction or another execution path must trigger the action, and somebody supplies the required fee.
Example: an escrow can check a signature but not a delivery van
Imagine a contract holding 0.05 ETH until a designated buyer approves release. It can verify the buyer’s authorization and transfer the funds when its conditions hold. Repeated release can be blocked by stored state.
It cannot inspect a parcel on its own. If release depends on delivery, the design needs a trusted signer, an oracle or some dispute arrangement. That external dependency is part of the product even though the transfer is onchain.
A preview and an included failed call have different effects
An eth_call runs against a selected state without publishing a transaction. It can show a return value or failure under those inputs, but does not establish that a later signed transaction will see the same state.
An included transaction that reverts rolls back its execution’s state changes while still paying for consumed gas. REVERT can preserve unused gas; it does not refund all work already done. A caught nested failure can coexist with a successful top-level receipt, so inspect the actual application result.
A fixed address can still sit inside a changeable application
Some applications use proxy patterns or configuration controls that let authorized parties change behavior. The address remaining the same does not establish that the rules or implementation remain the same.
Conversely, fixed code can preserve a bug as effectively as a useful rule. To understand a contract, identify both its executable conditions and its control structure, rather than treating smart as a quality guarantee.
Direct answers
Questions people ask
Is a smart contract necessarily a legal contract?
The technical term describes a program. Its name does not by itself establish a legal agreement, enforceable rights or a real-world counterparty.
Can a smart contract fetch a website by itself?
Ordinary contract execution cannot independently retrieve arbitrary offchain information. An oracle or another submitted input must bring that information into the system.
Does a contract always need a website?
No. A website is one interface. The contract can remain callable through other compatible software if its code, network and access conditions permit it.
Inspect the evidence
The answer and key facts have stable claim links. These records retain the scope and qualification when reused.
A smart contract is code and stored data at a blockchain address. A transaction can invoke its functions, and nodes check the resulting execution. The contract enforces its programmed conditions; it cannot independently know whether an outside event happened, and correct execution does not prove that its rules are safe or fair.
Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.
Link to this claimComponents: Code plus persistent state
Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.
Link to this claimInvocation: Transactions or calls trigger execution
Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.
Link to this claimOutside information: Needs an external input mechanism such as an oracle
Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.
Link to this claimRevision history
- — First publication after primary-source research and independent automated verification.
- — Expanded explanation: A preview and an included failed call have different effects. Worked examples are illustrative; source checks and independent verification are recorded separately.
On the Understand Ethereum path · Learn next: Ethereum proof of stake: blocks, votes and checkpoint finality
Source register
Sources and references
Retrieval dates and locators are recorded individually.- Introduction to smart contractsethereum.org contributors
Supports contract code/state, deterministic rules, illustrative vending logic, external-data limits and multisignature access.
Locator: What is a smart contract; a digital vending machine; limitations; multisig · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:35:40.398357+00:00Open source - Ethereum Virtual Machineethereum.org contributors
Supports deterministic execution, opcodes and the distinction between temporary execution memory and persistent state.
Locator: State transition function; EVM instructions; storage · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:35:40.399163+00:00Open source - Ethereum transactionsethereum.org contributors
Supports nonce ordering, value versus calldata, signed transaction fields, receipts and transaction inclusion.
Locator: What is a transaction; the data field; transaction lifecycle · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:35:40.399251+00:00Open source - Ethereum accountsethereum.org contributors
Supports accounts versus wallet software and account state fields. The older empty-code EOA description is qualified using EIP-7702.
Locator: Account types; an account examined; a note on wallets · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:35:40.369782+00:00Open source - Interacting with smart contractsethereum.org contributors
Supports read-only calls, state-changing transactions, ABI decoding and limits of simulation.
Locator: Reading; writing; understanding contract ABIs; events and logs; simulating · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:35:40.398262+00:00Open source - Upgrading smart contractsethereum.org contributors
Supports separation of deployed code from changeable application behavior and upgrade authority.
Locator: What is a smart contract upgrade; proxy patterns; limitations · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:35:43.712296+00:00Open source - Ethereum JSON-RPCethereum.org contributors
RPC response fields, transaction receipts, call simulation and log filtering.
Locator: eth_getTransactionByHash; eth_getTransactionReceipt; eth_call; eth_getLogs; eth_getCode; eth_estimateGas; eth_getBalance; eth_getStorageAt; eth_getTransactionCount; default block parameter · Retrieved: 2026-10-02T17:03:42.060ZOpen source - REVERT instructionEthereum Improvement Proposals
State rollback and remaining gas behavior for a REVERT instruction.
Locator: Specification · Version / scope: EIP/ERC-140; retrieved document hash recorded · Retrieved: 2026-10-02T17:03:42.150ZOpen source - Embedding transaction status code in receiptsEthereum Improvement Proposals
Receipts report top-level execution success or failure.
Locator: Specification · Version / scope: EIP/ERC-658; retrieved document hash recorded · Retrieved: 2026-10-02T17:03:42.150ZOpen source - Gas and feesethereum.org contributors
Execution resource units, fee components and gas expenditure.
Locator: What is gas?; Base fee; Priority fee · Retrieved: 2026-10-02T17:03:41.688ZOpen source - Solidity: Delegatecall and LibrariesSolidity contributors
Execution uses another contract’s code in the caller’s context and storage.
Locator: Delegatecall and Libraries; Storage, Memory and the Stack; Logs; Message Calls · Version / scope: Solidity 0.8.30 documentation · Retrieved: 2026-10-02T17:03:42.822ZOpen source
Research and drafting use AI assistance. A separate automated review checks claims against primary sources; no external expert or named human review is implied. Publication, substantive editing, source retrieval and verification are recorded separately. This version was independently checked by an automated reviewer on 2 October 2026.
Editorial method and correctionsDegrees of Satoshi editorial project. “Smart contracts: programmed rules, examples and outside promises.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-smart-contracts/