EOA vs Contract Account: Crypto Account Types Explained (2026)
— By Whatsertrade in Tutorials

Externally owned accounts vs contract accounts explained simply: what each is, how to spot them on an explorer, and why only an EOA can start a transaction.
Intent check: This is the plain-English guide to the two kinds of account that exist on a blockchain, the one you control with keys and the one that is a smart contract. For the everyday-use comparison of a normal wallet versus a smart wallet instead, read EOA Wallets vs Smart Wallets.
Every address you have ever sent funds to is one of two things, and they behave very differently. Some addresses are wallets that a person controls with a private key. Others are smart contracts that run on code and have no owner holding a key at all. These are the two account types, the externally owned account and the contract account, and understanding the split clears up a surprising amount of confusion about how the on-chain world actually works.
This guide explains what an externally owned account is, what a contract account is, how they differ, how to tell them apart on an explorer, and why only one of them can ever start a transaction.
Two Kinds of Account
On networks like Ethereum, every account is either an externally owned account, usually shortened to EOA, or a contract account. They share the same style of address, so from the outside they can look identical, but what sits behind the address is completely different. One is backed by a private key held by a person. The other is backed by code.

What Is an Externally Owned Account (EOA)?
An externally owned account is a normal wallet, the kind you create in an app like a browser extension. It is controlled by a private key. Whoever holds that key can sign transactions and move the funds, and there is no code attached to the account itself.
The defining trait of an EOA is that it can start a transaction. Every on-chain action ultimately begins with an EOA signing something. If a person is involved, an EOA is where it starts. Learn the basics of the address itself in Crypto Wallet Address Explained.
What Is a Contract Account?
A contract account is a smart contract. Instead of a private key, it has code and its own storage. It is controlled entirely by that code, which means nobody holds a key that can move its funds directly. It does what its code says, and only when something triggers it.
The crucial limitation is that a contract account cannot start a transaction on its own. It only springs into action when it is called, either by an EOA sending it a transaction or by another contract calling it during execution. A contract is powerful but passive: it waits to be poked.
EOA vs Contract Account
How to Tell Them Apart on an Explorer
A block explorer makes the difference obvious. Open an address, and if it is a contract you will see a Contract section with its code, often marked as verified. An EOA has no code at all. Many explorers even label an address as an EOA or a contract right at the top. For contracts, you can then inspect their functions directly, as covered in What Is a Read Contract.

Why the Difference Matters
- Only EOAs begin actions. Every transaction is kicked off by an EOA. Contracts can do a lot, but only after an EOA gets the ball rolling.
- Contracts hold funds under rules. Money in a contract moves according to its code, not because someone signs with a key, which is what makes DeFi possible and also why a contract's code is worth checking.
- It shapes how you assess an address. Sending to an EOA is sending to a person. Sending to a contract means trusting its code to do the right thing.
A Modern Twist: EIP-7702
The line between the two has recently blurred. A newer upgrade lets an ordinary EOA temporarily take on contract-like powers by pointing to some code, so your normal wallet can gain smart features without changing its address. It is a genuinely important change, and it is covered in What Is EIP-7702.

Key Takeaways
- Every account is either an externally owned account (EOA) or a contract account.
- An EOA is a normal wallet controlled by a private key, with no code, and it can start transactions.
- A contract account is a smart contract controlled by its own code, with no private key, and it only reacts when called.
- On an explorer, a contract shows code while an EOA does not, and many explorers label the type directly.
- Only EOAs begin transactions, and EIP-7702 now lets an EOA temporarily act like a contract account.
The EOA and the contract account are the two building blocks that every on-chain interaction is made from. One is a person with a key who can act, the other is code that waits to be used. Keep that picture in mind, and the flow of any transaction, from your wallet through the contracts it touches, becomes easy to follow.
This article is educational and is not financial advice.