What are Cross-Chain Transactions and How do You Recover Them?
While it sounds complicated a Cross Chain Transaction (also known as a cross chain deposit) is both simple to understand and, unfortunately, a simple mistake to make.
A cross chain deposit is when you accidentally send one type of coin (such as Bitcoin) to a different type of coin’s address (such as Bitcoin Cash). This often happens when sending funds between different ERC20 tokens or when a hard fork results in two crypto assets having the same format for their addresses. Cross change transactions often happen between Bitcoin and Bitcoin Cash, as well as Ethereum and Ethereum Classic.
Imagine that Susan has two Bitcoin wallets: one that she uses to exchange US dollars to Bitcoin (we’ll call that the “Exchange Wallet”), and one that she uses to store the Bitcoin that she owns (we’ll call that the “Hodl Wallet”).
One day she decides to move 1 Bitcoin from her Exchange Wallet to her Hodl Wallet. She starts at the Hodl Wallet and intends to request a Bitcoin address — except that she requests a Bitcoin Cash address by mistake. She then sends 1 Bitcoin from her Exchange Wallet to a Bitcoin Cash address.
Bitcoin miners record that Susan’s Bitcoin left her Exchange Wallet. If Susan checks the balance of her Exchange Wallet it will have decreased by 1 Bitcoin.
Bitcoin Cash miners record the deposit on the Bitcoin Cash public ledger. If Susan checks the balance at the (Bitcoin Cash) receiving address, she will see that 1 Bitcoin Cash has been sent to that address. But, since she doesn’t have a Bitcoin Cash wallet, she no longer controls the funds!
The Hodl Wallet shows that no deposit was sent.
New Address format for Bitcoin Cash
As of late January, 2018, many wallets and exchanges have begun to implement a new address for Bitcoin Cash which makes it harder to make a cross chain transaction. The new format is called CashAddr, and its formal specification is here.
Who is Responsible for Recovering Cross Chain Transactions?
This is where things get complicated. First, the person or organization that holds the private keys at the receiving address is the only entity that can help.
Second, if the receiving address was at an exchange (ex: Bittrex, Coinbase, Kraken) then your only hope is that the exchange will recover those funds for you. That’s because exchanges typically control the private keys for the receiving addresses, and those same keys may control funds for many different accounts. Each exchange has their own policies about if and how they will recover cross chain deposits. It’s common that (at this point in time) they simply won’t recover small transactions, and they often charge fees.
Polite persistence is probably your best friend for getting help from exchanges for small cross chain deposits.
Here are links to a few cross chain recovery policies:
As of February 2018, Coinbase won’t help their customers recover from cross-chain deposits, but people claiming to be employees of Coinbase have said that they are working on a solution to credit funds back to their clients.
We can also help you recover these funds, as long as you control the private key for the receiving address. Please contact us if you’d like more information.
What If I Don’t Control the Private Key of the Receiving Wallet?
One of our readers recently wrote to explain that they had mistakenly sent Bitcoin Cash from one exchange (Binance) to a Bitcoin address at another exchange (Coinbase). They explained that Coinbase told them that the funds were lost.
Coinbase is the entity that controls the private key of the receiving wallet, so only Coinbase has the technical ability to recover this mistaken deposit. Here was my advice:
If you think about this from Coinbase’s perspective, they see bitcoin cash sent from one wallet to a Bitcoin address that they control the private key for. They don’t know who should control those bitcoin cash coins. The fact that you know the details of the transaction is suggestive that you are the rightful owner, but the funds were sent from a wallet whose private key you don’t control, so you can’t prove that you are the rightful owner. What if they sent the coins to you, but it turns out that you simply saw the transaction on the blockchain, and then claimed to be the owner? Now, they have opened themselves up to liability.
The best case scenario is that they will return the coins at some point in the future to the Binance wallet from which they were sent. So, if I were you I would:
- Contact Coinbase using the account that you attempted to send the coins to. Make sure that you have provided them with as much identity documentation as they will accept. (You want them to be confident that they know who you are).
- Stay extremely polite and persistent. Contact them once a month, and ask for an update on the situation. Don’t give up.
- Simultaneously, contact Binance, and explain the error. Make sure that you have provided as much documentation of your identity to them as possible.
Ask them what will happen if Coinbase reverses the transaction. (You want to get it in writing that they will return the funds to you, since the funds would probably be returned to a wallet that is shared between you and many other users).
- Ask them to contact Coinbase about the transaction and request that Coinbase work with them to reverse it. They will probably have an easier time getting a meaningful response from Coinbase than you would.
- Stay persistent and positive. Don’t get angry at the people from either company.
My guess is that over the next year or two companies will return mistaken cross chain deposits. My guess is that the courts (at least for companies based in the US) will require that they do it. (I’m not a lawyer, but I think any reasonable person looking at the situation would say: the funds ought to be returned to the wallets from which they originated.) You need to make sure that you don’t lose access to your accounts, and that you make it really clear to everyone involved that you are the rightful owner, and that you expect them to do the right thing.