I've been searching this for a while now but couldn't find a proper answer.

Is there any way to have users use a wallet such as MetaMask, Formatic etc. on a backend and allow the user, from the Wallet's API, to sign recurring transactions without explicitly requiring permission every time? In my use-case the need to require permission is time-sensitive and could happen at any time. It doesn't really make sense to wait for the user approval while he's working/sleeping/... for transactions that could happen multiple times a day.

I've checked MetaMask and Formatic APIs but it seems that the signing operation always have to be triggered by a user authentication/signing first (which is mostly handled by web3.js client-facing interaction)

I really don't want to store users' private keys on the server either so what could be an intermediate solution to provide users with a way to have their wallet handled by a trusting wallet provider while still allowing to delegate the rights to a third-party service?

Ideally that way i see it would be for a user to:

  • connect his/her wallet once through the website
  • willingly approve that during a given time-frame (or unlimited) this specific website could sign transactions on his/her behalf
  • once approved, the backend could somehow sign transactions on behalf of this user

Thanks in advance

1 Answer 1


I don't think it's possible.But it can go like this: This can be resolved by having the user approve approval(yourAddress,max_uint) for the first time for your account to use one of its tokens, and when a third party wants to use it, it will also be through you. It's a viable solution, but I'm not sure it will meet your needs;

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.