이더리움 플랫폼에서 어카운트는 모든 트랜잭션의 실행 주체이자 기본 단위로서 모든 것은 어카운트에서 시작한다. 이더리움은 2가지 어카운트 타입을 갖는다.
일반적으로 말하는 이더리움 사용자 어카운트가 외부 소유 어카운트이다. 사람이 직접 개인키로 관리하며(private key) 스마트 컨트랙트 실행 코드를 가지고 있지 않다. 개인 키를 분실하면 해당 어카운트도 분실한 것이 된다. EOA는 개인 키를 사용하여 전자 서명된 트랜잭션을 생성하고 실행함으로써 다른 EOA나 컨트랙트 어카운트에 메세지를 보낼 수 있다. 보통 EOA 간의 메세지는 이더를 전송하는 것이다. 그러나 EOA는 컨트랙트 어카운트에 메세지를 보내 해당 코드를 실행시켜 다양한 결과를 만들 수 있다.
일반적으로 부르는 스마트 컨트랙트의 정식 용어. contract account는 EOA나 다른 CA의 메세지를 받은 후 내부의 스마트 컨트랙트 코드를 실행한 후, 새로운 컨트랙트를 생성하거나 다른 메세지를 읽거나 보낸다. 또한 필요하면 내부 저장 공간에 데이터를 저장할 수도 있다. 그러나 랜덤 넘버를 생성하거나 직접 운영체제를 조작하는 API를 호출하는 작업 등은 할 수 없다. 오직 EOA나 다른 컨트랙트 코드에 의해서만 작동된다. 즉, 자기 자신이 직접 새로운 트랜잭션을 실행할 수는 없다.