Cointelegraph has recently written about 'EOA' in relation with contracts and accounts.

As an EOA, the state simply stores the account's balance in ether and a sequence number is used to prevent transaction replay attacks. On the other hand, it stores the contract's code and its storage in a key-value database.

What is an 'EOA'?


This is an Externally Owned Account, so your normal Ethereum address, not a wallet contract.

In general, there are two types of accounts: externally owned accounts, controlled by private keys, and contract accounts, controlled by their contract code.



It is an Externally Owned Account controlled by a public/private key pair. There are also contract addresses, which are controlled by the code written inside the contract.


Ethereum accounts are generally of two types-

Externally Owned Accounts

  • Managed by Human
  • Account creation incurs no cost
  • Can transfer Ether(ETH) to other accounts, but cannot create smart contracts

Contract Accounts

  • Managed by Code (e.g. Solidity)
  • Account creation might incur cost
  • Can do both- transfer Ether as well as create Smart Contract accounts

Reference: Understanding Ethereum Accounts


Externally owned account (EOAs): an account controlled by a private key, and if you own the private key associated with the EOA you have the ability to send ether and messages from it. Contract: an account that has its own code, and is controlled by code.

  • EOAs and Contract accounts are indistinguishable by looking at their addresses.
  • Contract accounts are the only type of account with associated bytecode.
  • Private keys are generated only for EOAs while CAs are controlled by the contract.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.