Within the Edge wallet, we’ve rolled out with the most recent address format updates available on the market. Two currencies which are being directly impacted by these updates are both Litecoin and Bitcoin Cash.
On occassion, Edge users have encountered an issue when trying to send funds into and out of their Edge wallets. This issue appears as an “Invalid Address” notification.
This notification is a direct result of Edge addresses being updated, and we’re happy to explain why this is the case…
What are these updates?
The two address changes we’re referring to are Litecoin’s “SegWit (P2SH)” format, and Bitcoin Cash’s “Cash Address” format — also known as “Cash Addr”.
Litecoin SegWit addresses explained, in short:
- P2SH stands for “Pay to script hash”. Segregated Witness (SegWit) wallets and multi signature wallets use these addresses.
- Litecoin has traditionally used L-addresses. This means that the first letter of a legacy Litecoin address is “L”.
- With the implementation of SegWit in Litecoin, the SegWit address format was adjusted. The format for the new addresses had them beginning with a “3”.
- The 3 address format caused an issue — Bitcoin also utilizes SegWit, and these Bitcoin SegWit addresses also start with a 3. As a result, users could send Litecoin into Bitcoin addresses, and vice versa.
- Litecoin made an improvement to fix this. The result is that Litecoin SegWit addresses now start with an “M”.
- If your wallet provider, merchant, exchange, ect., still utilizes either the L or 3 address format, your funds are still spendable. There’s no need for panic. However, they’re neglecting to update their addresses to the new specs, which does have some risk, as well as some headache, when trying to send your funds between different services.
Bitcoin Cash’s Cash Address explained, in short:
- Similar to point number four above, Bitcoin Cash originally utilized addresses which started with a “1”. Legacy Bitcoin addresses, those lacking SegWit implementation, also utilize “1” addresses. As a result, user’s can unintentionally send the different currencies into the wrong addresses.
- Also similar to point five above, Bitcoin Cash decided to make a change. In order to prevent this from happening, Bitcoin Cash updated the address format. This new format — Cash Address format — now starts with a “bitcoincash:” prefix, as well as a “q” following the prefix. Alternatively, users may also see the address displayed without a prefix, simply starting with the “q”. For a technical explanation of the difference between the prefix and lack thereof, see below.
What are the risks?
Regarding SegWit addresses specifically, as long as a user is sending from a legacy address of the same currency into a SegWit address, and vice versa, your funds are safe and they will be detected within your wallet.
In most instances, if users send funds to the wrong address — that being an address of a different currency — the funds can be recovered. However, this is not always the case.
For starters, in order to ensure that you have the full capability of recovering the funds in the instances where your funds are recoverable, you have to control your keys.
If you are sending funds to a hosted wallet in which you do not control the keys, you are at the mercy of the hosted wallet to recover your funds.
The only transaction which is currently not recoverable, assuming you control your keys, is if Bitcoin Cash is sent into a Bitcoin SegWit address.
This transaction is not recoverable in the sense that it cannot be done without using a third party, and incurring a fee for doing so. The following link, provided by our friends at Ledger, details the necessary steps to recover this type of transaction, utilizing a third party:
You need to verify that the address formats are compatible when making transactions with your crypto assets. In this…support.ledgerwallet.com
How can this be fixed?
The obvious and immediate step is to pressure your providers to update to the latest address formats. Not only that, but they also need to be pressured to implement this in the correct way, by not allowing, as an example, Bitcoin Cash with the Cash Address format to be sent into a SegWit Bitcoin address. You should get an “Invalid Address” notification when trying to do so, if this is implemented correctly.
Unfortunately, this notification can only be put into effect by the wallet that is sending the funds out. This cannot be prevented by the receiving wallet.
In the mean time, as we wait for idle providers to execute on these necessary features, there are tools that can be used to help avoid complications, and circumvent “Invalid Address” notifications.
- For Edge users trying to send funds into their wallets, we’ve streamlined the process of making this transition easier. We’ve done so by allowing our users to access both the legacy address for Bitcoin Cash, as well as the legacy SegWit address for Litecoin. In order to access this feature, users need to open their respective wallet → tap Request → tap the three dots on the top left of the screen → tap Use Legacy Address. You can now scan the legacy QR code or copy the legacy address of that currency.
- For users attempting to send fund out of their wallets, the tool to help with this issue is an address converter tool. In order to convert a Bitcoin Cash address into either the Cash Address format, or back into the legacy format, the following link should be used:
Enter a Bitcoin Cash address below to convert it into either the new CashAddr format or Legacy format.cashaddr.bitcoincash.org
- In the same manner, in order to convert a SegWit Litecoin address into either a legacy SegWit address or an M format address, the link below should be used:
Say it Loud for the People in the Back
- “Invalid Address” is good.
- Pressure your providers to update these features.
- Control your own keys.
- And as always, happy hodling!