Skip to article
Degrees of SatoshiFollow the connections.
Degrees of Satoshi/ Encyclopedia

Encyclopedia Ethereum · Entry 07

Smart contracts: programmed rules, examples and outside promises

Theme
Ethereum
Sources
11 cited records
Reading time
About 3 minutes
Automated verification
Substantive update
In this article

At a glance

Key facts

Key facts for Smart contracts: programmed rules, examples and outside promises
FactDetailSource
ComponentsCode plus persistent state[1]
InvocationTransactions or calls trigger execution[3][1]
Outside informationNeeds an external input mechanism such as an oracle[1]
01

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.

02

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.

03

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.

04

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 claim
Components: Code plus persistent state

Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.

Link to this claim
Invocation: Transactions or calls trigger execution

Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.

Link to this claim
Outside information: Needs an external input mechanism such as an oracle

Scope: Ethereum. Verification: verified · 2026-10-02T18:16:35.976Z.

Link to this claim
Revision history
  1. — First publication after primary-source research and independent automated verification.
  2. — 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.
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
How this article was made

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 corrections

Degrees 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/