At block 916647, tx hash 0xca879fcf2d0146fc4e214ed5d9747a2743b6a586b4f1de1541e52c2fe6be5bad

debug_traceTransaction returns error:

$ curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0xca879fcf2d0146fc4e214ed5d9747a2743b6a586b4f1de1541e52c2fe6be5bad",{"tracer": "callTracer"}],"id":1}' -H "Content-Type:application/json"

{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"tracing failed: insufficient balance to pay for gas"}}

  • Does the account that you're sending this transaction from have ether in its balance?
    – wtk219
    Commented Jun 27, 2018 at 13:47

1 Answer 1


The account which signs the transaction ( the "from" field ) has zero (or very low) balance. This balance is so small that it is not enough to pay for the Gas price. Just mine some coins.

  • That advise is good when you send a transaction, but does not apply when you call traceTransaction that executes the transaction locally.
    – Ismael
    Commented Jun 30, 2018 at 19:48
  • @Ismael you are wrong. There is no such thing as locally or remotely. The VM always runs locally. You may be confusing a Call() with SendTransaction(). A Call() creates a fake transaction with 50,000,000 gas internally, so you never run out of gas. (source: ethapi/api.go:doCall(). The docs say "The traceTransaction debugging method will attempt to run the transaction in the exact same manner as it was executed on the network. ": github.com/ethereum/go-ethereum/wiki/…
    – Nulik
    Commented Jun 30, 2018 at 20:15
  • Sorry but I don't understand what you are trying to answer. To execute traceTransaction you don't have to pay fees. The transaction was mined long time ago https://etherscan.io/tx/0xca879fcf2d0146fc4e214ed5d9747a2743b6a586b4f1de1541e52c2fe6be5bad. It appears geth generates an incorrect error message if you try to trace it.
    – Ismael
    Commented Jun 30, 2018 at 20:39
  • this error message only shows when you have 0 (or very low) balance. probably he is replaying it on some local blockchain. You don'thave to send it to the network, but if you run it locally without broadcasting it, your account still have to have balance.
    – Nulik
    Commented Jun 30, 2018 at 20:57

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.