Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Since no one seems to think about how this could have prevented, here is a simple way, which I've applied to lots of things in life, not just cryptocurrency transfers:

- If you're making a transfer somewhere with a large amount, do a small transfer first and verify it's working. Confirm at the receiving end before moving big sums.

- If you're calling a contract, try it with a small amount first. Verify the parameters multiple times, and verify the return values multiple times.

- If you're doing something with a huge sum of money, do it in steps instead of all-at-once. Fees won't be as big since you're already dealing with a huge sum of money anyways

- Verify verify and verify that everything went alright with the small sum before trying to do something with a big sum

- If you're tired, don't do it. Wait until you got some sleep

- If you're rushed, don't do it. Wait until you're not rushed, have a tea and think about it

- When in doubt, verify it and don't be tired

- If you're not an expert, have someone who is do verification above for you



Simpler way: use real financial instruments. Traditional financial systems have had solutions for errors like this for centuries.


Reading the reddit thread; it seems like this individual was an OG miner and just held ETH for many years. His previous time investment matured, and he decided to finally cash out.


lol cash out by probably trying to hide it from exchanges and then pwned themselves in the process.

exchanges would take ETH without wrapping it


to get real fiat/cash (not tether) you need an exchange, or meet someone on the street I guess (but you might get held up or something that way).


Obviously, my comment applies to people wishing to do transfers via cryptocurrencies, for one or another reason. Sometimes it's not possible to do transfers via the traditional financial system, or desirable. My comment was written for those who wish to use it, but want to make sure it gets right.


Traditional financial systems don't have solutions even for small typos [1]. Modern financial systems on the other hand have switched to IBAN which has a checksum.

[1]: https://www.theguardian.com/money/2019/dec/07/i-lost-my-1930...


Accidentally transferring half a million dollars to the wrong external account is going to be an absolute mess to recover. There are ways to stop it if you catch it RIGHT away, but it will turn into a nightmare pretty quickly.


Lol verifying with small amounts takes like 5 extra minutes, messing up and having to jump through hoops to fix your errors will take days, especially if you do it on weekends or holidays. And they may not be reversible easily, e.g. IIRC one bank accidently paid off the loan of one of their boderline-default customers to another bank and then couldnt get the money back.


> IIRC one bank accidently paid off the loan of one of their boderline-default customers to another bank and then couldnt get the money back

That was a story because it was an incredibly unusual set of circumstances that meant they didn't get their money back - the bank owed the recipients money to repay a loan, and as such the money sent could easily have been a prepayment of the loan, which often happens before legal action is started, as happened a couple of days later. There was no way to distinguish an intentional action and a mistake here, hence the court ruling in favour of the recipient.


> - If you're not an expert, have someone who is do verification above for you

I would modify this to

> - If you're not an expert, have someone who is do verification above in addition to you (not instead of you)


Sounds great. I'm sure there's checks in place to ensure the smart contract can't have different logic for small amounts and large amounts. Right?


There are many ways to check that, yes.

But the best way is to use a trusted contract.

The other ways are pretty absurd burdens to put on a user.


- If it's complex and not automated, make a checklist, print it, check it off line by line.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: