is it possible to use signatures (EIP-712) to execute transactions. For example Person A gives his signature to a Smart Contract, to transfer A's NFT. Now there is person B, which wants to buy the NFT. Can the Contract now just execute the signed transaction of Person A to send Person B the NFT?

EDIT: And maybe someone could tell me if it works, what would happen when Person A sends the NFT to someone else in the meanwhile

I apprecieate every answer :) Luca

  • You cannot use signatures to execute functions. You must execute a function and pay gas fees to transfer an NFT.
    – trizin
    Commented Sep 16, 2021 at 21:19
  • Yeah, but think about a contract having a saved signature from Person A, and Person B will execute the signed function by calling a method of the contract
    – Luex
    Commented Sep 16, 2021 at 21:43
  • There is a function called approve in ERC-721 standard which approves another address to transfer the given token ID. I guess this is what you are asking for.
    – trizin
    Commented Sep 16, 2021 at 21:47
  • No its sadly not. What I want to do is a bit more complex. I would need the owner to approve someone before him even being the owner. So my next thought is that if he could give signature to approve someone or directly give the token to someone, before transferring it to him. You see the problem? :/
    – Luex
    Commented Sep 16, 2021 at 21:51
  • Maybe you could tell me what the use case of a signature really is, if things like this dont work
    – Luex
    Commented Sep 16, 2021 at 21:53

1 Answer 1


There's EIP-2612 (currently in draft mode subject to changes).

The EIP allows creating a signature that combined with transferFrom allows a single transaction to transfer tokens. A disadvantage is that it requires support from tokens, so it can't be used with an unsupported token.

If there are two signatures for the same token what would happen depends on the contract implementation. I'd guess that the first executed will be able to transfer the tokens and the others will fail.

  • Is it supported by Standard Ether? And can the contract "save" the signature, and execute the transaction later? Because thats what I didnt quite get of the description on the site. But thank you very much :)
    – Luex
    Commented Sep 20, 2021 at 16:37

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.