Deployed a contract to bot WETH yesterday, added liquidity, actioned it - and my ETH seems to have gone walkies to another wallet.

Have I been scammed?

Set up the contract and added liquidity here: https://etherscan.io/address/0xe68ea483866b12bb0bafa4346c137037e06b339b

Internal tx showing here - ETH goes to wallet 0x362e6d1 etc etc... not mine: https://etherscan.io/address/0xe68ea483866b12bb0bafa4346c137037e06b339b#internaltx

Can anyone help please? TIA

1 Answer 1


If you want any help, you should join your contract source. But anyway, my guess is that you have fallen victim to a generalized front-running bot. I suppose your contract sent some funds/ERC20s to an EOA specified in the CALLDATA of a transaction, and didn't implement some kind of contract owner/admin logic. The front-running bot saw your transaction in the mempool and simply replaced your wallet address by his, thereby stealing your funds.

You could use the following template in your future contracts:

contract safeContract {
    address owner;
        owner = msg.sender;

    function withdrawERC20(address _token, address _to, uint amount) external{
        require(msg.sender == owner, "Must be called by owner !");
        IERC20(_token).transfer(_to, amount);

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.