Speaking of Ethereum blockchain, or any other one compatible with it: Polygon, Avalanche and others: is calling the function approve(...) mandatory only, and only, when there's a token involved in transfer/tranferFrom?

Or is it also required for the native coin - ETH (AVAX, MATIC respectufully)? And if not, why not?

1 Answer 1


The approve function is an explicit function in an ERC20 token contract (and is part of the ERC20 standard). It's used when transferring ERC20 tokens indirectly - if direct transfer is used then approve is not needed.

The native asset (such as Ether) can only be transferred directly and it does not have a related contract. All of its functionality is built-in and it always works the same, regardless of where it's used. So, approve is related only to ERC20 token standard (and some other standards), not to the native asset.

  • more precisely: approve is required ONLY a) for ERC20 tokens b) when transferFrom(..) is used?
    – Markus736
    Feb 27, 2022 at 14:51
  • Well, other token standards also use approve, but otherwise both points are correct. Feb 28, 2022 at 6:54

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.