Help! My Exchange or Wallet Won't Let Me Send BCH to CashAddr format addresses
Tool to convert address formats: https://cashaddr.bitcoincash.org/
In Bitcoin Cash, to avoid confusion with Bitcoin, all legacy addresses that start with 1 have a corresponding address whose payload starts with q (or bitcoincash:q if you are including the network prefix & separator). This new structure is called the CashAddr format which is the preferred address style in BCH.
|Note: These addresses are equal, just use different encoding for display to reduce wallet confusion.|
This means that whether you send BCH to the "legacy" address format or the "CashAddr" version of the address, it is the same public-private keypair underneath, and the same key accessing the funds.
We use the CashAddr format to support the BCH community and minimise risk of deposit error for clients. If your exchange or wallet does NOT support the CashAddr format, you can easily convert it to legacy address format using this tool from the Bitcoin Cash Foundation: https://cashaddr.bitcoincash.org/
Note: It is a good idea to test with a small amount first to confirm you are doing it correctly.
Example: your deposit address shows as bitcoincash:qzxf0wl63ahx6jsxu8uuldcw7n5aatwppvnteraqaw , but your exchange or wallet won't let you send to this, so you need to convert it to the legacy version of the address in 1-prefix 1DpPNYJXSxPBBgRuckvcfJQVux85HtnZuY
Whether you send your BCH to the qzxf... address or the 1DpP... address, it will land in the same destination.
Note that if your exchange or wallet does not support this, you should contact them and ask to upgrade their software because this is standard on the BitcoinCash network.
On August 1, 2017 Bitcoin Cash was born. All Bitcoin holders as of block 478558 now had a claim to a new asset called BCH which was on a distinct chain. In the aftermath, there was significant confusion among users about an array of technical issues ranging from how to claim BCH in the first place, as well as how to recover BTC and BCH sent to the wrong chain.
Because keys and addresses on BTC are valid also on BCH -- and addresses on BCH are also valid on BTC -- one may accidently send BTC to a BCH address or BCH to a BTC address.
When this happens, the network just credits the BTC on the BTC chain to the BCH address on the BTC chain!
Likewise, if you have BCH and you see a BTC address in format of 1.... or 3...., you would send BCH to the address, but it would go to the BTC address on the BCH chain, NOT on the BTC chain.
This means, in order to recover your BCH, you would need to ask the BTC address owner to claim those funds on the BCH chain. Or if you sent BTC to an address that is BCH, then the BCH holder has to claim those funds on the BTC chain.
Bob Sells Alice a Burger for Bitcoin
Let's say Alice and Bob want to do a basic trade.
Bob sells burgers and Alice is hungry, so she orders a burger.
Bob says he supports Bitcoin and accepts Bitcoin for payment.
Alice also supports Bitcoin, so she asks for the payment address.
Bob says it will be $10 and gives Alice the address to send 1DpPNYJXSxPBBgRuckvcfJQVux85HtnZuY
Alice eagerly sends 0.0015 BTC (assume BTC/USD=6,500) to the address to purchase the burger.
Bob complains that there is no transaction found, and then asks if Alice sent the full 0.012 BCH (assume BCH/USD=800).
Alice confusingly says that she sent BTC, not BCH.
Bob says that Bitcoin Cash is the real Bitcoin and that when he says he accepts Bitcoin, what he means is BCH not BTC.
Due to this confusion, Alice's 0.0015 BTC is now sitting in the address 1DpPNYJXSxPBBgRuckvcfJQVux85HtnZuY on the BTC blockchain rather than the BCH blockchain where Bob was waiting for it.
Bob apologizes for the confusion and says that he has the private key to 1DpPNYJXSxPBBgRuckvcfJQVux85HtnZuY which accesses the funds on both the BCH and BTC blockchains.
Bob says that he will retrieve her BTC for her by importing his BCH private key into a BTC node/wallet to sweep the BTC back to her.
Alice thanks Bob and suggests that to avoid confusion in the future Bob should use the new CashAddr format for BCH which clearly marks that it is a Bitcoin Cash address and uses a distinct format from the BTC addresses.
Bob agrees and implements CashAddr for all his BCH transactions, and now uses bitcoincash:qzxf0wl63ahx6jsxu8uuldcw7n5aatwppvnteraqaw as his customer facing address instead.
Now, it would be impossible for a BTC user to accidently send funds to this address, even though the same private keys access on both BTC and BCH.
Structure of CashAddr
The full format of a CashAddr address looks like this:
There are three main parts to the CashAddr format:
- Prefix: this is the "bitcoincash" part of the address, which in general specifies what network is being referred to
- Separator: this is always a colon (":")
- Payload: The bech32 encoded payload
Most wallets and nodes will understand the address even without (1) and (2), but it is safest to just use the entire address format including all three.
For legacy addresses that start with 1 the corresponding CashAddr payload leading character is q, for legacy addresses stating with 3 it is p.
These addresses are also case insensitive, which makes it easier to avoid mistakes.
Avoiding User Error
In order to resolve this confusion, the Bitcoin Cash (BCH) community developed a new format that would not be valid on Bitcoin (BTC). The underlying private and public key pair are the same, but the hashing algorithm for displaying the public key is altered. This means that 1- and q- addresses (and 3- and p- addresses) are both interchangeable for the purposes of movement of funds on the BCH blockchain. And to make extra sure there is no confusion, a network prefix is included that clearly identifies it as "bitcoincash:". This simple change drastically reduces cases of erroneous cross-chain transfers.
To help the Bitcoin Cash community adopt this new standard, Crypto Facilities only displays deposit addresses in the CashAddr format. This will make the likelihood of deposit errors decrease dramatically.
However, some users may still be using wallet software or exchanges which do NOT support sending BCH to addresses using the new CashAddr format. As a result, you may need to convert the q-prefix deposit address on Crypto Facilities to a corresponding 1-prefix address in order to transfer funds.
To easily convert between the new CashAddr format and the legacy address format in BCH, you can use this tool provided by the Bitcoin Cash Foundation: https://cashaddr.bitcoincash.org/