If an account holds more than one type of token and I want to transfer only a specific token to other addresses using solidity emit Transfer(_from, _to, _tokens), how do I make sure that I'm able to send the right token?


Token balances are keep in the storage of each token contract. To make transfers you need to send the operation to the token contract.

If a user have REP, GNO and BAT tokens, and he want to transfer GNO tokens he have to send the operations to the GNO contract, there's no ambiguity.


Transfer event comes from the token contract address that is unique.

Furthermore you call tranfer() function against the token contract you wish to send.

  • Hi Mikko, thank you for clarifying quickly. That makes sense. However, my client gave me an address that holds different types of tokens and he wants to transfer only a specific token to other addresses using a smart contract. How does it work in this case? – Anji P Jun 12 '18 at 8:25
  • Unfortunately, I do not know your client or do not have a business relationship with him, so I cannot comment what he wants or wants not. – Mikko Ohtamaa Jun 12 '18 at 9:10
  • Well, we are not talking about client relationships here. That's irrelevant. Here's my specific question Mikko; if an address contains different ERC20 tokens, is there a way to validate to send only a particular ERC20 token from that address to other addresses using smart contract? – Anji P Jun 12 '18 at 9:23

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.