there ' s only one batch <| sep |> Yes we both agree that in this specific case it ' s unlikely that there would be conflicting assumptions between node and service . I ' m just making a point that from the perspective of a platform implementor you and the geth team it ' s not good practice to assume if we ' re the only implementation , the behaviour we implement is the truth , when the behaviour is unexpected from a common sense development point of view . In this case it doesn ' t matter , but as the complexity of ethereum grows and more features are added , and more services do their own accounting of bits and pieces here and there for whatever reason even if it ' s not as involved as tracking all of ethereum ' s gas offclient , then a implementation that causes unexpected behaviour by the metric of most implementing it would do otherwise , is not fine . It could have more consequences than can be foreseen at the moment , the more the network is used and relied upon as a platform . It would be a perfect world if no one ever reimplemented anything , everyone got APIs right the first time around so no hacks to expose state not given by the API are needed , and everything remained in sync even considering human error . Unfortunately this isn ' t the case , so I ' m usually careful about the assumptions I make regarding the people and services that use platforms I implement .