Withdrawing Dormant ETH from EtherDelta

Aw Kai Shin
4 min readOct 28, 2022

--

I was previously notified by a good samaritan (012.tez) that I had some ETH which was locked in the EtherDelta contract since I last interacted with it years ago. With his help, I was able to withdraw my ETH and you can view the transaction proof here on Etherscan.

After further digging, I realised that there were many others who were in a similar situation and as such, this is my way of paying it forward to all the crypto OGs who were experimenting with EtherDelta in the early days. As part of this project, I have queried the smart contract balances and tried to resolve any ENS names with the goal of identifying the owners of the dormant ETH. The Git repo can be found here which also contains the full list of EtherDelta ETH account balances:

You can check if any of your accounts still has any funds remaining in the contract by filtering the csv in Excel or Numbers. ENS names with a question mark indicate some guesswork on my end by scanning through account interactions. Those with no question marks were pulled directly from the ENS resolver. Do let me know if you manage to identify any of the owners as. it would be nice to get their funds back to them.

Do note that although EtherDelta is no longer operating (see SEC Charges), the smart contract is still available and can be interacted directly with Etherscan:

As part of my due diligence before signing any transactions, I also dug into their withdrawal source code to ensure that there was nothing phishy going on and sure enough, their code is simple and straightforward enough:

EtherDelta Code

If you are the owner of one of these accounts, you can withdraw your funds by following the steps in the next section.

Withdrawing Funds via Etherscan

Navigate to the read contract section for the EtherDelta contract:

You should then be able to see a balanceOf function. You can validate the fund by inputting “0x0000000000000000000000000000000000000000” (ETH address) into the token field and your own address in the user field.

Copy the balances returned as you will want to withdraw the full amount. Note that the balances are returned in units of WEI whereby 1 ETH is equivalent to 10¹⁸ WEI.

You can then navigate to the Write Contract tab where you will be calling the withdraw function.

Do note that you need to connect your Web3 (i.e. Metamask wallet) by clicking on the Connect To Web3 button. Moreover, please ensure that the Metamask wallet is the same as the account with the dormant funds.

Once connected, input the balances value copied earlier into the amount field under the withdraw function and trigger the transaction by selecting the Write button.

Metamask should then prompt you to confirm the transaction and pay the gas fees required for withdrawal:

On confirming the transaction, you should then be able to view your transaction by following the relevant button:

Once your transaction has been mined, you should see the equivalent amount of ETH credited to your wallet:

If this guide was helpful in anyway, I would appreciate greatly any tips at awkaishin.eth (0xb39f45de478b4f5cca77e02677fb8d2a4f60a123).

Thanks for staying till the end. Would love to hear your thought/comments so do drop a comment. I’m active on twitter @AwKaiShin if you would like to receive more digestible tidbits of crypto-related info or visit my personal website if you would like my services :)

--

--

Aw Kai Shin

Web3, Crypto & Blockchain: Building a More Equitable Web | Technical Writer @KyberSwap | www.awkaishin.com