Yesterday I used the Binance bridge to convert ERC-20 USDT to BEP2 USDT. I lost $10,000 USDT in the process and wanted to share exactly what happened.
Binance bridge allows $10,000 per transaction. I was converting $25,000 total, so I broke the transaction into three amounts.
- #1 = $10,000
- #2 = $10,000
- #3 = $5,000
Transaction #1 of $10,000 was removed from my ERC-20 wallet and was received in my BEP2 wallet.
Transaction #2 of $10,000 was removed from my ERC-20 wallet, but was NOT received in my BEP2 wallet.
Here is the token contract from the two transactions. For some reason, the second $10,000 transaction was sent to the same contract address as the first $10,000 sent. I believe this is what caused the problem, but I'm not sure.
The transaction history under the Binance bridge shows the transaction as "Cancelled" as seen below.
Upon further investigation, it appears that on Etherscan the second $10,000 was sent to the same address as the first $10,000. However, in the Binance Bridge history the second transaction was send to an address that does not match Etherscan.
And you can see I never received the second $10,000 in my BEP2 wallet. I received the first $10,000 and the last $5,000.
You can see the activity history in my Metamask showing the funds being removed and never returned.
The Binance bridge think it send the $10,000 to address "X", however it was actually sent to address "Y" according to Etherscan.
POOF! I just lost $10,000 USDT. I've submitted a support ticket to Binance, but their customer service is so slow and terrible, I'm not counting on getting this back. Maybe someone on Twitter can help me understand what happened here.