On the Ethereum Subtleties page (largely maintained by VB) it states the following under Exceptional Conditions:

  • If a transaction triggers an exception, then:
    • The value transfer from sender to recipient still takes place

This doesn't match my understanding, my tests or, I think, the Yellow Paper which says in section 8 (my emphasis),

if the execution halts in an exceptional fashion (i.e. due to an exhausted gas supply, stack underflow, invalid jump destination or invalid instruction)... the state is reverted to the point immediately prior to balance transfer

Interestingly, chriseth added a notice in Feb 16 to the effect that some things about reverting Ether transactions were wrong. This notice was removed in June 17 by vbuterin.

So, is the Subtleties paper just incorrect on this, or am I misunderstanding something?

1 Answer 1


As I can see, Vitalik updated what he believed to be the totality of the subtleties and removed the notice added by Chris.

The lines that you note were not changed.

I also agree that this is incorrect, and as such suspect that this was simply an oversight. I have tweeted Vitalik, and Chris - maybe they can comment?

  • Thanks. Once they've confirmed it's the case by updating the page I'll make this the accepted answer :-) Aug 8, 2017 at 8:41
  • 1
    The cited section of the yellow paper is correct. Feel free to edit the wiki page :-)
    – chriseth
    Aug 9, 2017 at 11:01
  • Yoichi has made an update - I'm not sure I understand the update (he's added "sometimes"), but it's enough to close this question. Aug 9, 2017 at 18:05

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.