Is there an existing Smart Contract implementation, which can public signed transactions of ERC20 Token transfers?

I like to give the users of a ERC20 token the ability to pay the transaction fees in tokens and not in ether. I'm not able to edit the existing Token-Contract. Is there maybe a solution, with an contract wallet or similar?


  • Do you want to add this feature to an ERC20 contract that has already been deployed?
    – Jesbus
    Mar 4, 2019 at 15:34
  • "Ist der" - what's that? Mar 4, 2019 at 15:38
  • @goodvibration: Sorry for the autocorrection error, thanks Jaime for the correction. Mar 5, 2019 at 12:21
  • @jesse-busman: yes, the contract has already be deployed. Some of the tokens are already sold and we now like to use them for a payment like system (vouchers for example) Mar 5, 2019 at 12:21

3 Answers 3


You should consider to use meta transactions to do so. Check out the UniversalLoginSDK or just engage a relayer to broadcast already signed abi encoded data and check the signature on-chain.

  • Thank you for your answer. Did you mean the universal-login-relayer? As far as i can see, it uses the EIP-1077 method to broadcast the transaction. Do the original sender of the transaction need ethereum on the account and it will be refunded or are the feeds paid from the contract account? Do I need to change the ERC20-Token contract or does this also work beside the contract? Mar 5, 2019 at 12:39

https://github.com/0xbitcoin/lavawallet.github.io is an excellent example of how to support fee-less transactions for an already deployed ERC-20 token. It can be modified, simplified to suit your needs. You still need an off-chain relayer to monitor requests and then process the transactions.

If you are NOT looking to roll your own solution, PM me as I'm currently consulting on an open alternative that will soon be deployed on Mainnet.


EURS token smart contract supports this via delegatedTransfer function. The idea is that token holder signs transfer order and gives it to delegate. Delegate sends the order to the token smart contract and token contracts executes it. Delegate pays for gas in ether and receives transfer fee from smart contracts in EURS tokens.

  • Hi Mikhail, yes I know, there are serveral solutions for the problem, which are implemented directly in the smart contract of the token. But I'm searching for a solution where I can use every ERC-20 Token and not forced to change the contract. Apr 8, 2019 at 5:27
  • You may create generic wallet contract with delegatedExecute functionality. So wallet owner signs transactions order, gives it to delegated and delegate sends to the wallet, thus delegate pays for gas. Apr 8, 2019 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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