Beginner
Ethereum Accounts & EOAs — Real-world failure modes
Understand account types and how they interact with the chain.
Developer Beginner
6/9 — Ethereum Accounts & EOAs — Real-world failure modes
Bad modelsMost account incidents start with a bad mental model. Someone assumes a contract will “run later,” fires parallel transactions from one deployer key without tracking nonces, or forgets that a replacement transaction can bump a different intent out of the mempool.
Hidden blockersSometimes the UI hides the nonce, so a low-fee pending transaction blocks everything behind it. Scripts can also spam the mempool with wrong nonces. Before blaming nodes, check the signer + nonce story first—often the fix is to fetch the latest nonce, replace a transaction, or remind the team that contracts sleep until poked.
Key points
- Replay and replacement surprises:Two transactions share a nonce and the cheaper one disappears when the expensive one lands.
- Stuck transactions:Guessing the wrong nonce leaves a transaction pending forever until earlier nonces clear.
- Phantom automation:Teams expect a contract to self-trigger on a timer; nothing runs because no EOA sent a transaction.
- Gas confusion:Users assume the dApp pays; in reality their EOA funds every hop of the call chain.
- Lost intent ordering:Parallel scripts fire from one EOA without nonce management and accidentally reorder business logic.
- Copy-paste wallets in demos:Reusing a single dev key across teammates causes nonce collisions in shared testnets.
- Forgotten pending tx:Users broadcast a low-gas transaction and later send a new one, not realizing the first must clear or be replaced.