Instead of transferring my ERC20 token to my wallet, I accidentally sent it to the contract itself (the contract, with source code, is here).

Would the contract creator be able to send it back to me?


If you sent a token to a contract address there’s no way to get them back even if the contract’s owner wanted. Unless said contract that received the tokens had implemented a function that allows it to transfer received tokens, they are lost and stuck.

  • 1
    Another way will be when the contract is killed and then the money is returned. Just saying! – Rajat Mar 1 '18 at 10:59
  • @Rajat "another way"... Are you sure? I don't really understand how... – Mars Robertson Nov 8 '19 at 14:26

Unfortunately there is no way that you can get your tokens back unless the creator of contract had a function which did that, as far as i can see the contract does not have any such function. Since blockchain`s are immutable and irreversible your transaction cannot be undone .


If you post the contract address will be possible to check if the contract supports transfers. If do, then the contract owner will be able to sent you your tokens. If they do not support transfers and also do not prevent incoming deposits, that is a bad contract design.

  • Using the ERC20 standard it is impossible to deny receiving tokens. – hextet Feb 28 '18 at 12:21
  • I do not agree, when 'transfer' function is defined, the creator of the contract can impose any requirements (if the destination is the address of the contract: throw) to avoid the situation described in the question. – Jaime Feb 28 '18 at 13:22

I saw the contract code and it allows to call the transfer function, you definitely CAN get your tokens back if the owner of the contract is willing to send you your tokens.!


This is not possible and is exactly the problem and solution described by Dexaran in his ERC223 Token proposal.


Not the answer you're looking for? Browse other questions tagged or ask your own question.