SegWit (short for Segregated Witness) is an update to the Bitcoin protocol that changed the way data is stored on the blockchain. By separating certain transaction signature data from a transaction, it reduces the size of transaction data that must be stored in Bitcoin blocks. This enables a greater number of transactions in each Bitcoin block, hence why it is often hailed as a solution to Bitcoin's scaling problem. The upgrade was activated back in August 24th 2017, through a soft fork of the Bitcoin protocol. (You can read more about SegWit and its benefits here!)

For the end Bitcoin user, SegWit can mean savings of up to 80% in network transaction fees.

Earlier this year in July, Ledger added support of Native SegWit to their Ledger Live desktop application. To take advantage of this however, there's some work that needs to be done on the part of the user.

But first, a brief explanation.

Native SegWit, also known as bech32, comes with a new address format: 'bc1q2ycy56yn4cesssds0kyhlrp3pxsuc280m0juu7' (starts with 'bc1')

To take full advantage of all the features of SegWit, users will need to migrate their BTC to a Native SegWit address like the one above. By migrating to a Native SegWit address and using a Native SegWit address to receive any future deposits, you'll pay lower fees when it's time to send the BTC out.

But... if I'm not already using Native SegWit, then what address format am I using?

If you're not using Native SegWit, there's two other address types you might be using.

Legacy addresses, which is the original address type of Bitcoin, looks like this: '1GVwBhJW8CctgtrYA8Tyw1oKBEiPvDXWDG' (starts with the digit '1'). Spending from this address type is the most expensive.

Nested SegWit addresses, also known as P2SH-SegWit, looks like this: '3DwYUKCDoU8hdBgpGkNy8QXjUV6qTb6yp1' (starts with digit '3'). Spending from this address type can save you up 40% in fees when compared to Legacy addresses. This is less, however, than the 80% savings that come with Native SegWit.

In order to take advantage of the savings in transaction fees that come with Native SegWit, you'll need to migrate your BTC from a Legacy / Nested SegWit address to a Native SegWit address. We'll show you how to do that using Ledger below.

On top of savings in transaction fees, for those interested in taking out a non-custodial loan backed by your Bitcoin using Atomic Loans, migrating to a Native SegWit address is required for any Bitcoin you intend to collateralize as part of the atomic loan.

Note: Native SegWit addresses are backwards compatible, meaning that you will always be able to send funds from a Native SegWit address to a P2SH-SegWit / Legacy Bitcoin address.

Migrating to Native SegWit on Ledger

Step by step process:

Before starting this process I recommend updating Ledger Live to the latest version, and updating your Ledger to the latest firmware version. Here is a video on how to do that:

  1. Launch the Ledger Live application on your desktop.

2. Open the Accounts tab.

2. Click + Add account.

3. Choose Bitcoin (BTC) in the dropdown menu and click continue.

4. Follow the instructions on-screen to connect your Ledger device and open the Bitcoin app.

5. Under ADD NEW ACCOUNT, check the checkbox next to Bitcoin 1 (native segwit) and confirm. Note that under ADD EXISTING ACCOUNT, your existing BTC may be shown as being in a Legacy or P2SH-SegWit account. Whether you have existing BTC in a Legacy or P2SH-SegWit account, this does not affect the migration process to Native SegWit. For example, in the screenshot below, I have ~0.025 BTC in an existing P2SH-SegWit account.

Note: Ledger denotes P2SH-SegWit addresses as (segwit) and Legacy addresses as (legacy).

5. Your dashboard should look something like this.

6. Click on the (native segwit) account and click Receive to generate a Native SegWit address that begins with bc1.

7. Copy this bc1 address and then send the funds from your P2SH-SegWit (segwit) account to your (native segwit) account.

8. Go ahead and send funds to your (native segwit) account.

9. You should now see that your funds have been sent to your (native segwit) account.

Note: These steps only need to be taken when you have existing funds in a Legacy or P2SH-SegWit account.