How is it possible to move ETH out of a non-contract Ethereum address as soon as ETH gets into it?

There is someone, who apparently gave out his private key and public Ethereum address, which has many tokens, one of which (ICX) is worth USD$280K.

So, this address has 0 ETH, but based on what I see, in order to move the ICX token out, the address needs to have a balance of at least 0.00024 ETH.

But then, from what I can see, as soon as ETH gets into this account address, it is immediately moved out, so anyone is prevented from moving the ICX token out, due to the account address not having sufficient ETH.

How is this (the near-instantaneous moving out of ETH from the account) achievable?

1 Answer 1


There are 3 options that I can see:

1) Write a small script that subscribes to a node/client and simply watches for new transactions spent to the specific address. When they occur, instantly write a transaction to spend the balance to another address.

2) Modify the node/client code to do what the script in 1) does, but with slightly less latency because it can run without all the messaging and callbacks.

3) Modify the miner code to watch for incoming transactions to the address, and when they arrive, add another withdrawing transaction in the same block. And then hope that you mine the block. (And if you don't, keep the transaction around to be mined into the next block, and so on until it works, or until someone else beats you to it.)

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.