After selfdestruct call was made, all the balance was transferred to the deployer of the contract. Why are withdraw requests still being processed?

  • Interesting find. Good question! Apr 26, 2018 at 20:48

1 Answer 1


Note: After the Constantinople fork, a new opcode CREATE2 allows to redeploy a previously seldestructed contract. So the assertion that funds remains locked foreverd doesn't apply in that case.

Previous answer follows:

After a contract calls selfdestruct, the code and storage associated with the contract are removed from the Ethereum's World State.

Transactions after that point will behave as if the address were an externally owned account, i.e. transaction will be accepted, no processing will be done, and the transaction status will be success.

Transactions will do nothing, but you still have to pay the transaction fee. You can even transfer ether. It will be locked forever or until someone finds one of the private keys associated with that address.

  • 2
    For anyone wondering if contracts actually do receive funds after they self-destruct, they do. The last transaction on that contract was to verify this answer. Apr 27, 2018 at 15:06
  • 1
    Actually, nowadays it is possible in some cases to resurrect selfdestructed smart contract, even with different byte: ropsten.etherscan.io/address/… Oct 11, 2019 at 11:44
  • @MikhailVladimirov You are correct. The answer predates CREATE2 opcode that allow redeploy into an existing address. I'll add a note to reflect the new behavior.
    – Ismael
    Oct 11, 2019 at 13:43
  • 1
    @VigneshKarthikeyan I understand your concern, it is an issue that was already discussed. It was already possible for a contract to change its behavior after deployment using DELEGATECALL opcode if you deploy a new library.
    – Ismael
    Oct 16, 2019 at 15:44
  • 1
    @VigneshKarthikeyan It was discussed previously on several places like ethereum-magicians.org/t/… or reddit.com/r/ethereum/comments/aosaly/…. I think it is a bit too late to complain since it has been more than 6 months since it was deployed to mainnet. You can raise your concerns in the social media to alert other Ethereum users.
    – Ismael
    Oct 16, 2019 at 17:28

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.