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);

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .