Loading prices…

All guides
Guide· · By 0xBurakcan· 2 min read·

What is a smart contract, and who controls it?

A smart contract is a program that lives at an address on chain and runs as it was programmed. In Ethereum's own words it is not controlled by a user, its code is public, and interactions with it are irreversible. We set out what it is and what that means.

Share on X

In short

Ethereum's documentation defines it without decoration:

"A 'smart contract' is simply a program that runs on the Ethereum . It's a collection of code (its functions) and data (its state) that resides at a specific address on the Ethereum blockchain."

Both words in the name mislead: it is not a contract in the legal sense, and it is not smart. It is a program at an address.

Nobody runs it, it runs

Behind an ordinary application there is a company operating it. Here there is not:

"they're not controlled by a user"

Once deployed, the contract runs as programmed. That is a guarantee and a limit at once: what the code says is what happens, and what anyone intended does not enter into it.

Interactions do not reverse

The most useful sentence in the documentation:

"Smart contracts cannot be deleted by default, and interactions with them are irreversible."

It says two separate things. First, a contract cannot be deleted by default. Second, and more consequential in practice: what you do with it cannot be undone. Approving the wrong address, calling the wrong function, or getting an unexpected result are all situations with no undo button.

Public code is not audited code

The documentation notes that contracts are public and likens them to open APIs:

"Smart contracts are public on Ethereum and can be thought of as open APIs."

That is a good property and a frequently misread one. Code being visible does not mean anyone has read it, audited it, or judged it safe. Openness is an opportunity, not a certificate.

There is a further nuance: an address showing "verified" source tells you the published source matches the compiled bytecode. It does not tell you what that code does.

Risks

Biggest uncertainty The upgradeability and permission structure of particular contracts were not examined here.

  1. Code enforces itself, not intent. A faulty contract runs faithfully, fault included; "that is not what we meant" is not a repair path.
  2. Transactions do not reverse. A permission granted or an asset sent does not come back unless the contract was designed to return it (token approval).
  3. Open code is not audited code. Visibility produces no assurance.
  4. A contract may be upgradeable. The code you read today may not be the code tomorrow; permissions are granted to an address, not to code.

What was not examined is listed in the data status above.

Sources

This article rests on the sources below. Whether each has a permanent copy is stated next to it.

  1. #1

    Primary source for the definition, for not being user controlled, for irreversibility and for openness: the ethereum.org documentation.

    ethereum.org· no permanent copy· no screenshot

    open sourceopen evidence

Evidence chain: 1 sources

Tweets get deleted, sites go down. Below is whether a durable copy exists for each source.

Sources (1)

  1. #1

    Primary source for the definition, for not being user controlled, for irreversibility and for openness: the ethereum.org documentation.

    Smart contracts cannot be deleted by default, and interactions with them are irreversible.

    ethereum.org/developers/docs/smart-contracts/
    • no durable copy: if the source disappears, this claim loses its basis
    • no screenshot captured
Back to the article

Correction history

Articles are never deleted, only corrected. Every change appears here.

  1. Version 1 ·

    Section