Wenn ein Vertrag von den Vertragspartnern angenommen wird, wird für jeden Vertrag ein separates Konto eröffnet, um alle Kosten, die mit einem bestimmten Vertrag zusammenhängen, zusammenzufassen, und dem Vertrag wird eine Seriennummer gegeben, die als Vertragskonto bezeichnet und angesprochen wird. In der Welt der Kryptowährungen ist ein Vertragskonto ein Konto mit einem Ether (Krypto)-Guthaben und einem zugehörigen Code, dessen Ausführung durch Transaktionen oder Nachrichten ausgelöst wird, die von anderen Verträgen eingehen. Wenn sie ausgeführt werden, können sie Operationen beliebiger Komplexität durchführen und ihren eigenen persistenten Speicher manipulieren, der einen eigenen permanenten Zustand haben und andere Verträge aufrufen kann. Das liegt daran, dass alle Aktionen auf der Ethereum Blockchain durch die Transaktionen in Gang gesetzt werden, die von externen Konten ausgelöst werden. Jedes Mal, wenn ein Vertragskonto eine Transaktion erhält, wird der darin enthaltene Code entsprechend den Eingabeparametern ausgeführt, die als Teil der Transaktion selbst gesendet wurden. Der Vertragscode wird dann von der Ethereum Virtual Machine auf jedem der am Netzwerk beteiligten Nodes im Rahmen der Verifizierung neuer Blöcke ausgeführt.Diese Ausführung muss jedoch deterministisch sein, und ihr einziger Kontext ist die Position des Blocks innerhalb der Blockchain sowie alle verfügbaren Daten. Die Blöcke auf der Blockchain stellen dann Zeiteinheiten dar, wobei die Blockchain eine zeitliche Dimension ist und die gesamte Geschichte der Zustände sowie den zeitdiskreten Punkt darstellt, der von den Blöcken innerhalb der Kette selbst entworfen wurde.