I want to create a Contract (TokenTimelock from Open Zeppelin) inside of a registry contract. It seems as if my contract needs gas to do this. So I am wondering about using delegate call because I want the caller to pay for the gas, or I need to store ETH in my resgistry contract which I do not really want to do.

Am I correct that if a Contract is creating another contract that it is the one that will need to pay gas?

1 Answer 1


As of now, a contract cannot pay the gas for a transaction. In any form, it will be always an external account who will be paying it. Ether stored in a contract can be sent to another ethereum address but cannot be used as a fuel(gas) to a transaction.

See this:

  • Thanks, I need to figure out why my contract reverts if I create a new contract inside a function and add to a mapping (in the same mapping) Commented Nov 16, 2018 at 7:54
  • Sure, you can ask a new question if you got stuck somewhere.
    – Aniket
    Commented Nov 16, 2018 at 7:58

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.