for my scenario i have an application that doesn't require any knowledge about Ethereum, contracts and wallets from the enduser.

my software handles everything. creates an account for the enduser etc.

now i wish to run a contract on said newly created account. but this seems like a nightmare because the newly created accounts have no GAS so they can't run anything.

what would be the best practice?

  • have a contract where an admin-account runs everything and pays all the GAS.
  • or pay the new accounts some money so they can spend their own GAS?

i don't expect the fresh accounts to run a lot of contract transactions. (consume a lot of GAS) in average maybe 1-20 runs in their lifetime.

1 Answer 1


There is currently no right way to do this.

In future it might be possible that a contract pays for the fees (see https://blog.ethereum.org/2015/12/24/understanding-serenity-part-i-abstraction/ ) but nothing is decided yet.

Whichever road you decide to take you have to be extra careful about malicious actors overspending gas and/or draining the admin account.

I believe most apps haven't implemented a workaround for this yet as there is no good way around it. Most apps just require users to have some Ether and pay for the transactions.

Someone else has probably other ideas also, looking forward to hearing alternatives.

  • thanks for the answer. so its probably easiest to give the accounts a small amount once. and if they waste it its their problem. to protect the admin account from overspending i would have to log usage frequency, if necessary block access and then reset it depending on the amount of time passed.. or something..
    – swisswiss
    Apr 14, 2018 at 19:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.