Contract Account

A blockchain account that holds crypto and runs smart contract code, executing automatically when called by transactions or messages.

A contract account is a blockchain account that contains executable smart contract code and can hold a cryptocurrency balance. On networks like Ethereum, it is the on-chain “home” of a deployed smart contract, combining an address, stored state, and logic that runs when the account is invoked.

How a contract account works

Unlike an externally owned account (EOA), which is controlled by a user’s private key, a contract account is controlled by its code. It does not have a private key and cannot independently initiate a transaction. Instead, its code executes when it receives a transaction from an EOA or a message call from another smart contract. During execution, it can read and write its internal state, enforce rules, emit events for apps to track, and transfer value from its balance according to its programmed conditions.

Contract accounts are typically created when a deployment transaction publishes contract bytecode to the blockchain. From that point onward, the contract account persists as long as the chain exists, with its state evolving as users interact with it.

Practical examples and why it matters

Many familiar crypto applications are powered by contract accounts. An ERC-20 token contract account maintains balances and rules for transfers. A decentralized exchange contract account can hold pooled assets and perform swaps based on programmed formulas. A multisig wallet contract account can require multiple approvals before releasing funds, replacing trust in a single key with transparent, enforceable logic.
Understanding contract accounts matters because they are the main building block for programmable finance and on-chain applications, but they also introduce different trust and security assumptions than user-controlled accounts, since behavior is determined by code and its vulnerabilities, not by a private key holder.