A New Look for Bitcoin Cash Addresses

Until earlier this month, bitcoin and Bitcoin Cash addresses used the same format, making it difficult to ensure you were transacting using the correct currency’s address. In order to simplify the process for transacting with both bitcoin and Bitcoin Cash for our users, Blockchain wallets are now using an a new format (CashAddr) for Bitcoin Cash addresses.

Q: Why do my Bitcoin Cash addresses look different?

A: Bitcoin Cash developers have proposed a new format for addresses to help differentiate between bitcoin and Bitcoin Cash addresses, called CashAddr. This updated format only changes how your Bitcoin Cash addresses are displayed, not the underlying private and public keys.

Q: Why has Blockchain implemented this change for users’ wallets?

A: We want to continue improving the user experience for both bitcoin and Bitcoin Cash within users’ wallets. Ultimately, having a different address format for each will help you distinguish which currency you’re transacting with, allowing you to use BTC and BCH more easily.

Q: What is the difference between the address formats?

A: Bitcoin Cash addresses now look like this: qp3wjpa3tjlj042z2wv7hahsldgwhwy0rq9sywjpyy. They can also have a prefix (bitcoincash:qp3wjpa3tjlj042z2wv7hahsldgwhwy0rq9sywjpyy). Each Bitcoin Cash address also has a “legacy address”, which is it’s corresponding bitcoin address. You can find the legacy address for each BCH address on Blockchair. Take a look here to see an example of the difference between legacy and CashAddr addresses.

Q: What do I need to do?

A: Nothing, we’re taking care of it for you! Your wallet will now only show Bitcoin Cash addresses in this new format. The only thing we encourage you to do is to start sending and receiving using the updated address type.

Q: Can I still send to the original ‘legacy’ address?

A: Technically yes, but it would benefit both you and the community to begin using the new version. Don’t worry, if you have a legacy address that is currently being used, it will continue to work. If you continue transacting with your legacy addresses, they will be displayed in your transaction feed as the BCH CashAddr address equivalent.

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

A: Nope.

Q: Where can I dive into more technical details?

A: You can find more details on this update here.

The Wait is Over! Buy & Sell is Coming to America

Earlier today, we announced a partnership with SFOX that lays the groundwork for our users in the US to seamlessly buy and sell digital assets with greater reliability and without compromising user security or control.

At Blockchain, we are on a mission to build an open, accessible, and fair financial future, one piece of software at a time. This announcement brings us one step closer to realizing that mission by making the exchange of digital assets fast, easy, and inexpensive for millions of users across the US.

Starting today, users in 22 states will have the option to sell bitcoin quickly and easily.


A product shot of Blockchain's new integration that allows users in America to sell bitcoin.


And this is just the beginning; in the coming weeks, users will also be able to buy bitcoin, and buy and sell other assets like ether and Bitcoin Cash. As always, we’ll keep you posted while we roll out these features. In the meantime, we welcome your thoughts on how we can continue to improve.

Not in the US? Users in Europe and India are already able to buy and sell bitcoin. As we continue to expand to new countries, we’ll keep you in the loop here and on Twitter.

Don’t have a Blockchain wallet? Sign up to get started with bitcoin and other digital currencies today!

Building Cryptocurrency Agnostic Components in My-Wallet-V3 and My-Wallet-V3-Frontend

At Blockchain, we’re striving to write reusable, extendable, and flexible code. This practice has become even more important with the recent addition of Bitcoin Cash and ether to our wallet application. For our users, adhering to writing agnostic components makes project delivery speeds faster and more consistent. For our developers, it makes the code fun to work with and less buggy.

A few months ago, we added ether to the Blockchain wallet along with a crypto-to-crypto exchange integration. This feature was the first we’ve built that supports multiple cryptocurrencies (instead of just bitcoin to fiat or vice versa). In our efforts to build reusable, extendable, and flexible code we built it to support any digital currency our wallet currently offers or will offer in the future.

The components that make up our exchange integration are completely agnostic to the currencies the user wishes to shift. Any digital currency can be plugged into the integration as long as it’s “API” in the My-Wallet-V3 core supports a few basic functions. Let’s walk through how this works a little bit.

When the wallet initializes the exchange checkout process it passes the destination and origin wallets to the shift-create component from the shapeShiftCheckout controller:


this.wallets = Wallet.accounts().concat(Ethereum.defaultAccount);

And in My-Wallet-V3-Frontend/app/partials/shapeshift/checkout.pug


Note: There are more attributes passed to the shift-create component, but for simplicity I’ve removed them.

The line in shapeShiftCheckout.controller.js (`this.wallets = Wallet.accounts().concat(Ethereum.defaultAccount);`) was for shifting between bitcoin and ether when we initially launched the ether integration. What it does is concatenate all the bitcoin wallets in your Blockchain wallet with the ether default wallet. In checkout.pug, we tell shift-create to load these wallets as possible origins and destinations in an exchange.

A few months later, we added full support of Bitcoin Cash to our wallet. We wanted to give users the ability to exchange their Bitcoin Cash to and from bitcoin and ether. Here is the commit that added Bitcoin Cash to our exchange integration: https://github.com/blockchain/My-Wallet-V3-Frontend/commit/0c44b5bca7951a9a298d5599d5fd872b0eff5de5.

-this.wallets = Wallet.accounts().concat(Ethereum.defaultAccount);
+this.wallets = Wallet.accounts().concat(Ethereum.defaultAccount).concat(MyWallet.wallet.bch.accounts);

Adding Bitcoin Cash was as easy as changing one line of code because we built cryptocurrency agnostic components for exchanging bitcoin <-> ether from the beginning.

If you check the shift-create component where the wallets are passed, you won’t find any reference towards a specific cryptocurrency itself: (https://github.com/blockchain/My-Wallet-V3-Frontend/blob/master/assets/js/components/shapeshift/shift-create.component.js). You’ll only see functions called on the wallets that the API in My-Wallet-V3 core requires them to have.

  1. `getAvailableBalance` -> How the component calculates the total amount the outgoing wallet has available to send/exchange. Below are the functions for each cryptocurrency:
    1. bitcoin: https://github.com/blockchain/My-Wallet-V3/blob/master/src/hd-account.js#L311
    2. ether: https://github.com/blockchain/My-Wallet-V3/blob/master/src/eth/eth-account.js#L138
    3. Bitcoin Cash: https://github.com/blockchain/My-Wallet-V3/blob/master/src/bch/bch-account.js#L68
  2. coinCode -> The wallet’s coinCode to be used later in the cryptoCurrencyMap.
    1. bitcoin: ‘btc’
    2. ether: ‘eth’
    3. Bitcoin Cash: ‘bch’
  3. Balance -> Used to check for balance updates in the wallet. If a user’s balance changes, the component calls getAvailableBalance.
  4. cryptoCurrencyMap -> Used to calculate conversions between each digital currency and their fiat values.

When everything comes together, the final result looks like this:

Screenshot of initial Blockchain exchange integration using agnostic components

Despite the ease of adding new currencies, we wanted to continue improving the exchange experience for our users.

In version 1 of our exchange integration, there was no loading state to tell users that the component was working on getting a quote. Under good network conditions requests like these can seem instantaneous and a loading state might even seem a little jarring. However, because of the high traffic on digital currency networks, requests can take up to 5 seconds to resolve. Bitcoin, ether, Bitcoin Cash, and other digital currencies are handling more transactions than they ever have before. Record high transaction volumes are leading to network congestion, in turn leading to slow loading times from services like ShapeShift.

Depending on how long a request took to make, it could look like the component was frozen or that something broke and no error was returned. In reality, a request was being made and we weren’t correctly indicating that to the user. We decided to add a loading state to the component as you can see in version 1 vs version 2 below.

GIF showing Blockchain's initial exchange integration using agnostic components with a loading screen
Version 2
GIF showing Blockchain's initial exchange integration using agnostic components without a loading screen
Version 1








Users were relieved to see an indication of the app working to get a quote after the launch of version 2. Our transaction volume increased by 10% the week after we rolled out these changes, ~30% over the 2 weeks after, and 75% over the following month. Seemingly small improvements like this make a big difference to users.

Building components that are resilient to cryptocurrency’s rapid growth and constant change is just one of the many ways we ensure our users are getting a best-in-class experience on our platform. We hope you’ve enjoyed learning a little more about our process and look forward to continuing to deliver new and innovative solutions in our effort to create an open, fair, and accessible financial future.

Sound exciting? Check out our open positions available to join our incredible UX development team.

Product Update: Q4 2017

Amidst holiday festivities and New Year’s preparations, we want to quickly revisit the assortment of great new features that made their way into the Blockchain wallet during Q4. Grab a fresh mug of hot cocoa (and maybe that sugar cookie you’ve been eyeing) and we’ll get into all the exciting Q4 product update details.

Read more “Product Update: Q4 2017”

Cash in on Bitcoin Cash

At Blockchain, we’re always looking for ways to empower our users to interact with the digital economy in new, meaningful ways. In November, we revealed our plan to deliver on the growing demand we’ve seen for Bitcoin Cash. Starting today, we’re supporting Bitcoin Cash with full functionality through the same web wallet users know and love.

With Bitcoin Cash joining our existing lineup of digital currencies, users now have a full suite of options and can easily toggle between digital currencies to send and request funds, safely manage balances, and monitor market prices – all from one central place.

If you had bitcoin in your Blockchain wallet prior to August 1st, get excited because you’ll see an equal amount of Bitcoin Cash in your wallet now! New to Bitcoin Cash? Users can get started by simply trading bitcoin and ether for Bitcoin Cash using our exchange integration.

Just like with bitcoin and ether, users hold their Bitcoin Cash private keys, meaning they always have full, exclusive access to their funds with their backup phrase.

Not on web? Don’t fret. We’ll be rolling out full support for Bitcoin Cash on mobile by the end of Q1 2018. We’ll keep you in the loop here and on Twitter as we continue to build on this new addition to our wallet. Still have questions about how Bitcoin Cash works in your Blockchain wallet? Visit our Support Center.

Don’t have a Blockchain wallet? Sign up to get started with Bitcoin Cash and other digital currencies today!   

Set it & Collect it with Recurring Orders

At Blockchain we’re always looking for ways to make digital currency more accessible. It’s part of our commitment to creating an open, accessible, and fair financial future – and helping you, our users, Be Your Own Bank™.

Today, we’re excited to introduce Recurring Orders, a new feature that gives our European users greater purchasing power by allowing them to automatically buy bitcoin on a regular basis. Whether you’re just getting started or regularly purchase bitcoin, this feature will make it even easier to invest little by little in a better financial future.

Here’s how it works:

  • Log into your Blockchain wallet
  • Select ‘Buy’ powered by Coinify
  • Enter the desired amount you’d like to purchase with your credit card
  • Select ‘Make this a recurring order’
  • Choose your frequency whether on a daily, weekly, or monthly basis
  • Select the duration you’d like the recurring order to last (you can cancel anytime!)
  • Then click ‘Buy Bitcoin’

Taking small, incremental steps can add up to big results over time. With recurring orders, you can find your comfort zone and watch your wallet accrue additional bitcoin – without having to worry about a large upfront cost.

Log-in or sign up at www.blockchain.com to get started with recurring bitcoin orders on web or mobile today!

Beyond Backups: How to Use Your 12-Word Recovery Phrase

Your 12-word recovery phrase is, without a doubt, one of the most important wallet tools at your disposal. Knowing that, it’s no surprise we strongly recommend users write it down and store it safely before adding any funds to a new wallet. If you’ve already completed these backup steps, it’s equally important to have a solid understanding of how to use your 12-word phrase if you ever need to. Here, we’ll explain exactly that!

Read more “Beyond Backups: How to Use Your 12-Word Recovery Phrase”

Ether is Now Available on iOS & Android

A few months ago, we added ether to the Blockchain wallet. Today, we’re excited to announce that we’re extending that functionality to our mobile apps. As of today, users can seamlessly store, send, and receive ether on both iOS and Android.

As part of our mission to make digital assets increasingly user-friendly and accessible, we kept the mobile user experience for both currencies consistent and easy to navigate. With this update, users will notice the following two exciting changes:

  1. With a simple tap users can navigate between ether and bitcoin to monitor transactions, send funds, or request payment; and
  2. We’re rolling out a new dashboard that will allow users to monitor the market price for both currencies.

As always, users can find the latest mobile versions at our App Store and Google Play Store links.

Don’t have a Blockchain wallet? Click here to sign up today!

We’ve Joined Forces with Unocoin To Make Buying Bitcoin Even Easier

We’re excited to announce that we have partnered with India’s most popular exchange, Unocoin, to give Blockchain users across India the ability to quickly and easily fund their Blockchain wallets.

Beginning today, we’ve integrated Unocoin’s exchange directly within the Blockchain wallet to give you greater purchasing power without having to compromise security or control.

For the first time ever, your Blockchain wallet can be funded in just a few clicks by linking your bank account, which is subject to bank transfer speed.

GIF of the buy bitcoin process through Blockchain's integration with Unocoin

Millions of Indians have embraced digital assets as a reliable way to save and transfer money. Together with Unocoin we are committed to making digital currency simple and more accessible throughout India. Whether it’s high fees, untrustworthy service providers, or confusing identity verification procedures, it’s often been a slow and challenging process to get started with bitcoin. Today’s integration is an important step forward in eliminating the friction that many have experienced in buying bitcoin.

The Unocoin integration is available to web users, but we plan on expanding to our Android and iOS wallet users in the near future. Log-in or sign up at www.blockchain.com to get started today!