I was reading the contract creation part from the Ethereum Yellow paper and came across following statement:

For a normal STOP code, or if the code returned is otherwise empty, then the state is left with a zombie account, and any remaining balance will be locked into the account forever.

Can someone help me understand how an account transforms into a zombie account?

1 Answer 1


From the Yellowpaper,

o, the resultant byte sequence from the execution of the initialisation code, specifies the final body code for the newly-created account.

If the initialization function doesn't return the body code, that is the contract code, the contract exists but with no code, it's a zombie. Since there is no code, nothing can be done with it.

Before Homestead, if there is not enough gas to pay c, an account at the new contract’s address is created, along with all the initialisation side-effects, and the value is transferred, but no contract code is deployed.

Before Homestead, if the execution stopped because there is was not enough gas, then the contract was created but since it didn't finish execution there was no code associated, therefore no way to interact with the contract.

The same can happen with a STOP code, thrown by an exception during execution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.