Encyclopedia Ethereum · Entry 03
Ethereum accounts: keys, contract code and delegated accounts
In this article
At a glance
Key facts
An account is a state record, not a wallet application
Account state includes a native balance, a nonce and commitments to code and storage. A wallet is the interface and signing arrangement used to interact with that state; installing a second wallet does not create a second copy of the assets.
A contract can maintain token balances for many accounts inside its own storage. The native balance displayed for an address therefore does not summarize every token or position associated with it.
Compare an account balance with Bitcoin outputs
Bitcoin spends complete unspent transaction outputs and creates new outputs, commonly returning change. Ethereum instead updates an account’s native balance and nonce. In an illustrative fee-free comparison, spending a 5-unit Bitcoin-style output to pay 2 units creates a 2-unit payment and 3-unit change output; an account model debits 2 from a balance of 5, leaving 3.
Actual transactions also pay fees. Neither model turns an address into proof of a person’s identity. See Bitcoin’s UTXO model for the output-level explanation.
A key and a program authorize actions differently
A traditional externally owned account signs protocol transactions with its private key. A contract account executes programmed authorization rules when called, such as requiring signatures from two of three designated participants.
In an illustrative shared treasury, one person’s signature may be enough for an ordinary key-controlled account but insufficient for the contract’s two-signature rule. The contract’s actual code, rather than its label, determines the threshold.
Delegation changes the old two-box explanation
Pectra introduced EIP-7702, which lets an externally owned account authorize a pointer to code that runs in that account’s context. The account can still originate transactions; its behavior is no longer described by an empty-code assumption.
The authorization is consequential because delegation persists. It is not merely permission for one website visit. The delegate code can implement useful restrictions, but the protocol-level delegation itself grants broad execution capabilities.
An address does not explain the whole control arrangement
A familiar address format does not reveal whether keys are shared, a custodian controls them or delegated logic is present. Inspecting code and authorization matters more than inferring ownership from the way an address looks.
Account recovery also depends on that arrangement. A conventional lost key has no built-in reset desk; a programmed account may provide recovery, but only through the rules and parties its implementation actually supports.
Direct answers
Questions people ask
Can an externally owned account execute code?
Yes, with EIP-7702 delegation. Its delegated execution coexists with key-based transaction origination, so older statements that EOAs always lack code need qualification.
Does one account mean one human owner?
No. Keys can be held by services or groups, and contract authorization can involve several participants. An address alone does not establish a civil identity.
Is a wallet address stored inside my phone?
Wallet software keeps signing information or access to it. The account and asset records themselves are part of Ethereum’s shared state.
Inspect the evidence
The answer and key facts have stable claim links. These records retain the scope and qualification when reused.
An Ethereum account is a record in the network’s state, identified by an address. A traditional externally owned account uses a private key; a contract account runs code. EIP-7702 also allows a key-controlled account to delegate code execution, so the old rule that externally owned accounts never have code is incomplete.
Scope: Ethereum · data through 2026-10-02. Verification: verified · 2026-10-02T15:10:23.134Z.
Link to this claimIdentifier: An address identifies an account, not necessarily a person
Scope: Ethereum · data through 2026-10-02. Verification: verified · 2026-10-02T15:10:23.134Z.
Link to this claimWallet: Software that interacts with accounts
Scope: Ethereum · data through 2026-10-02. Verification: verified · 2026-10-02T15:10:23.134Z.
Link to this claimDelegation: EIP-7702 delegation persists until changed or cleared
Scope: Ethereum · data through 2026-10-02. Verification: verified · 2026-10-02T15:10:23.134Z.
Link to this claimRevision history
- — First publication after primary-source research and independent automated verification.
- — Added a primary-source comparison of account balances and Bitcoin UTXOs with explicit fee-free arithmetic assumptions.
On the Understand Ethereum path · Learn next: Ethereum transactions and nonces: how requests stay in order
On the Follow a transaction path · Learn next: ERC-20 tokens: balances, decimals and spending permissions
Source register
Sources and references
Retrieval dates and locators are recorded individually.- 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 - EIP-7702: Set Code for EOAsEthereum Improvement Proposals
Defines persistent EOA code delegation, continued transaction origination and the account-wide consequences of delegate code.
Locator: Abstract; persistence of code delegation; transaction origination; security considerations · Version / scope: ac912ca6a9685590345dd8e5736cda75976d0131 · Retrieved: 2026-10-02T14:35:51.249142+00:00Open source - Ethereum protocol upgrade historyethereum.org contributors
Records shipped Pectra changes including EIP-7702 and EIP-7251; supports dated historical upgrade context.
Locator: Prague-Electra (Pectra); Paris (The Merge); London · Version / scope: dcc900ff125891da5b6c723b905a7113cf1bd864 · Retrieved: 2026-10-02T14:42:49.753070+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 - Bitcoin developer guide: transactionsBitcoin developer documentation
Bitcoin spends entire unspent outputs and creates new outputs; change is a new output.
Locator: Introduction; inputs and outputs; UTXO · Retrieved: 2026-10-02Open source - 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
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. “Ethereum accounts: keys, contract code and delegated accounts.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-accounts/