Bitcoin ABC Releases Software Version 0.16.2 Featuring the new CashAddr Address Format

What is CashAddr?

CashAddr is a new Bitcoin Cash address format. If you’ve ever seen a Bitcoin address or a Bitcoin Cash address, then you’re at least somewhat familiar with what addresses look like – basically a whole bunch of letters and numbers.

This is what is getting a new format. Technically, it’s a new ‘encoding’ and visually, it will appear differently.

What do the new addresses look like?

Here’s an example:

 bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a

Note the prefix “bitcoincash:”, which is technically always part of the address, although the prefix may be optional or missing entirely, depending on the wallet or the implementation.

How does all this affect me? What do I need to do?

We encourage you to use the new addresses, but this is not mandatory. You may experience “wallet incompatibility” and need to use an address converter tool (more on this in a moment).

If you notice that your favorite wallet or service is not yet upgraded to support CashAddr, it is helpful to make them aware of the new format.

Can I still use the old ‘legacy’ addresses?

Technically yes, but we strongly encourage you to upgrade. If you have a legacy address that is currently being used, it will continue working. However, most users should upgrade because the new addresses are safer. Moreover, the user experience will be enhanced when everyone is using the same format.

Can I send from an old address to a new address or vice-versa?

Yes. The address format is just an encoding. To use an analogy, think of the encoding as just a wrapper, or “clothing”. Consider the fact that you can always talk to your friends, regardless of what clothes either of you happen to be wearing.

In this analogy, what’s underneath the clothes is the raw public key hash (pubkeyHash).

Can I start using the new addresses immediately?

Yes. Please do.

I tried sending to one of these new addresses and my wallet won’t let me. Why?

If a wallet hasn’t been upgraded, it doesn’t know about the new format yet. But don’t worry, there’s an easy workaround to this problem. You can convert from the old format to the new format, or from the new format to the old format. There’s several converter tools available. We recommend: https://cashaddr.bitcoincash.org/ Another converter tool is available in Electron Cash 3.1.

If you are going to use any converter tools, it is very important to only use trusted ones, as there exists the possibility for a malicious tool to give you a fake address.

Is there a one-to-one “mapping” from an old format to a new format?

Yes. Any legacy Bitcoin address format will convert to one and only one CashAddr format, and the same is true in reverse. So there will always be 2 versions (legacy and CashAddr) of any given address, and they are interchangeable because they correspond to the same set of private and public keys.

What happens if I convert an old address to the new format and have sent the coins to my friend, but his wallet doesn’t support the new format?

That’s ok. The money will still show up at his old address (since its really the same address, just encoded differently)

Why did the Bitcoin Cash development community decide to create a new address format?

As a distinct ledger and cryptocurrency, Bitcoin Cash should have its own address format, which will reduce errors and confusion for users.

What are the benefits of this particular address format?

Aside from offering a distinct address format, the new format is case-insensitive, which makes addresses easier to type and communicate between humans. It is also extensible, so that the format would not need to be changed in the future as new Bitcoin Cash functionality is added.

Can you explain what it means, technically, to have a new format?

When you conduct a transaction to “send” Bitcoins to an address, what you’re really doing is unlocking unspent outputs and then locking them again so that only someone who can sign for the public key (with their private key) can control them.

The new address format does not change the format of these transactions on the blockchain, but rather: only the visual representation which is presented to the user.

Is this a protocol change, soft-fork, or hard-fork?

No, it’s none of those things.

Do any of my private or public keys change?

No.

Is there an official CashAddr specification for developers?

Yes, here.