Search
Results for “Contract account vs EOA”
Contract account
A contract account is an Ethereum account controlled by smart contract code rather than a private key. It has an address and can hold ETH and tokens, but it acts only when a transaction or message calls it, and then does exactly what its code says.
What it means for you. Sending funds to a contract address is not like paying a person: what happens next is decided by the code, and some contracts have no way to send funds back out. Before sending to or approving a contract, a block explorer shows whether it is a contract, whether its code is verified, and whether it can be upgraded.
Sources: ethereum.org: Ethereum accounts, ethereum.org: Account abstraction · checked 4 October 2026
EOA
An EOA (externally owned account) is the ordinary kind of Ethereum account, controlled by whoever holds its private key. It costs nothing to create, has no code of its own by default, and is the only kind of account that can start a transaction.
What it means for you. Everything in an EOA rests on one key or seed phrase: lose it and nothing can recover the funds, leak it and anyone can drain them. The account itself has no reset, freeze or second factor; any such protection has to come from a smart contract account or from how the key is stored.
Sources: ethereum.org: Ethereum accounts, ethereum.org: Account abstraction, EIP-7702: Set code for EOAs · checked 4 October 2026