I have token smart contract that is ERC20 compliant. It is now transferable via any software like MyEtherWallet and similar. I wondering is it possible to forbid token transfer and allow it only using my own site/tool?

1 Answer 1


You can create a special account trusted to perform token transfers and customize your smartcontract to reject transfers unless they originate from that trusted account. Your trusted site/tool must have access to unlocked private key of that account to initiate transfers.

To get more inspiration, have a look at https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/ownership/Ownable.sol implementing concept of ownable tokens. It is used by https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/ERC20/MintableToken.sol to restrict mint() operation to the owner. You could do the same for transfer operations.

You might also want to study how multi-signature wallets do their job, like https://github.com/gnosis/MultiSigWallet.


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.