Contract Accounts

Published by Mario Oettler on

A contract account is controlled by its code. You can think of a contract like a script. The commands in this script are executed by the Ethereum Virtual Machine (EVM). Contract accounts don’t have a private key. They are either invoked by a transaction (from an EOA) or a message (from another contract account).

Contract accounts can:

  • receive, hold, and send ETH (to EOAs or other contract accounts)
  • interact with other contract accounts by sending messages (they are not signed)
  • write to and read from its storage

Creating a contract account costs gas since storage is occupied during the creation.

Contract accounts get only activated through a transaction or a message.

Categories: