Transferring BTC from Binance to Ledger wallet


4 min read

I have finished the investment part of my strategy buying BTC on Binance. I have also recently got a new Ledger wallet. I could see that the price of BTC has dropped by 50% in the last 2 months (Nov 21—Jan 22), so I estimated it would take another at least two months before it would reach the price level where I'm going to be ready to sell. What a great opportunity to learn moving BTC between Binance and my Ledger, whilst keeping the BTC safer. Here's my learning.

Technicalities of the transfer from Binance to Ledger

Withdrawing BTC

  1. Go to Ledger Live BTC account (Segwit) and click the Recieve button.
  2. Click Continue in the modal that pops up.
  3. Connect Ledger device.
  4. Open the Bitcoin app on the device.
  5. Copy the public key for the wallet.
  6. Go to Binance >> Wallets >> Fiat&Spot
  7. In the Select Coin input, type in BTC
  8. Select Withdraw to new address (no point saving the address as Ledger's BTC public key is regenerated after each successful transaction)
  9. Paste in the public key from Ledger. The network is selected automatically.
  10. Fill in the amount and click Submit.
  11. Authorise the transaction using the email, SMS and authenticator codes.

Ledger side

Ledger offered me two kinds of BTC accounts: Native Segwit and Taproot. The Native Segwit is the one that has been used up until recently when it got soft-forked and Ledger is now pushing Taproot. It is supposed to be more private and more performant. More information is provided at Ledger's webpage about creating the BTC Taproot account in Ledger Live.

I had the Native Segwit BTC account as it comes with the Ledger wallet by default. After reading about the update, I decided to try the Taproot out. I've made a new account whilst keeping the Segwit one alongside the new one. That was a smart decision.

Binance side

When I tried that (22/1/22) Binance would not accept the Taproot address. It just would not let me use it. So I ended up using the Segwit one.

Cost of the transaction

The whole operation ended up a little pricey. I was transferring an amount in the nominal value of a few hundred dollars. Binance charges a flat fee of 0.0005 BTC for withdrawals in this price bracket. This seemed a bit steep to me. The BTC-USDT exchange rate today was extremely low due to the recent sudden drop of BTC to roughly $34,600.

Binance - withdrawing 0.0095251 BTC
Fee: 0.0005 BTC ~ $17.30
Ledger: received 0.0090251 BTC

Alternative – using LTC as the middle step

I thought this was a bit steep price to pay. So, I found another solution. It turns out that Binance charges significantly less for withdrawing alt-coins such as LTC and then exchanging it back to BTC in the receiving wallet. The fee is only 0.001 LTC (1 LTC ~ $106.5). This might work when employed with another wallet. With Ledger, however, it's a false economy and I wish I was able to find out the cost of exchange from LTC back to BTC before trying this out. Ledger's fees are based on the speed of the transaction and represent the reward a miner receives for processing the transaction into the blockchain.

  • High: the transaction will roughly be included in the next block (about 10 min for Bitcoin)
  • Standard: the transaction will roughly be included within 3 blocks (about 30 min for Bitcoin)
  • Low: the transaction will roughly be included within 6 blocks (about 60 min for Bitcoin)

As I wrote above, I did not find a way to predict exactly how much this would be before starting the operation. So I just went with it and took this as the cost of learning.

Binance - exchange 0.0095251 BTC => 3.09550969 LTC
Binance - withdrawing 3.09550969 LTC
Fee: 0.001 LTC ~ $0.1065
Ledger - received 3.09450743 LTC
Fee (low speed): 0.00000226 LTC
BTC received: 0.00925157 BTC
BTC after the transaction was verified by mines: 0.00873473 BTC

BTC  0.0095251
BTC -0.00873473
Costs: 0,00079037 BTC ~ $27,346802 :(


Next time, I gotta try using the Binance default withdrawal mechanism to verify the total price of the transaction. For now, it seems that it is better to do it that way.