Sending tokens

How to send ERC20 tokens from a puppet

Open “Send ERC20” tab. Enter your puppet address, the token contract address (at this point, puppet’s balance in both tokens and Ether should appear), who do you want to send your tokens to and the amount of tokens. Press “send” and accept the transaction.

Possible errors

“This is not an ERC20-compliant token contract address.” message may appear if the token address you supplied isn’t supported by Master of Puppets. We only support ERC20 standard-compliant tokens in order to protect our users from making mistakes. However, you might be able to use non-compliant tokens.

ATTENTION! “This is not an ERC20-compliant token contract address.” may also appear if the Ethereum node you (Metamask) are using doesn’t answer requests correctly. Unfortunately, we have no way to fix Ethereum, so you can try deleting/inserting token address several times.

The most frequent problem with sending ERC20 tokens causes a transaction to fail is running out of gas. If you see “out of gas” error for your transaction in Etherscan, then you might need to try again with a higher gas limit, which you can change in Metamask window popping out after you click “send”.

Another possible cause for the transaction to fail is a token smart-contract that checks if the sender is not a contract by using extcodesize() Solidity function. The use of this function is highly deprecated as it can be not as useful to protect a contract from being called by other contracts as one may think. Another reason to not use it is that in future releases of Ethereum all externally controlled addresses may become smart-contracts, making tokens with that function unusable. Given all this, the possibility of one running into this issue is very low.