I want to create a contract that keeps track of what tokens have been sent to it (what amount, type, who sent it, etc.) I can do this for ERC721, ERC 777, ERC 1155 using the "tokenReceived" callback after tokens are transferred. Is there a way to do this for ER20s?


1 Answer 1


No, it is not possible since the ERC-20 standard doesn't have such functionality.

It should be possible to have an off-chain part that tracks Transfer events and the forwards a message to the contract.

Another thing you should consider is that there are tokens like AMP whose balances change without emitting events.

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.