How I recently managed BTC fees with my Ledger Nano S
There is a huge amount of FUD around Bitcoin at the moment due to the large number of unconfirmed transactions in the mempool and the general fork-bashing of the old cryptocurrency. While I want to keep out of that debate, I do have some Bitcoin, and I have been getting some small payments every so often as mining payments that I wanted to use.
I was going to buy an altcoin on an exchange so I prepared a transaction to send a relatively small amount to the exchange. I use the Ledger Nano S hardware wallet and I was very surprised to see that my supposedly $500 transaction would need $175 in fees! Needless to say, I slept on my decision and decided to do a bit more research into the situation.
Segwit, and all Those Inputs...
I have been using a Segwit address since I got my Ledger Nano S, and a few months ago I was pleased to see fees of $0.03 and the like when using Bitcoin. However, now, this week, Ledger wallet said my fee for my relatively small transaction would be 0.0085 BTC, even for a slow confirmation! I don't know exactly how Ledger figures out this recommended fee but the wallet app does not have a way to control this fee that was immediately apparent.
Every week or so, I would be receiving tiny mining payouts. So, in order to send, say, 0.0625BTC, my transaction would be made up of all the biggest input, 0.03BTC as well as those little inputs of 0.002 to 0.003 BTC. Each of these inputs adds to the number of bytes in the transaction, and the transaction fee is worked out as the number of satoshis per byte times the number of bytes.
If I only wanted to send 0.03BTC (the size of my biggest input) then the transaction size would be about 168 bytes. However, it needed to send a transaction with over 12 inputs, which bumped it out to 1086 bytes. Obviously even a couple of hundred satoshis/byte times 1086 starts to add up.
The Mempool Is Full
Just before XMAS, 22nd December onwards there were over 200k unconfirmed transactions in the mempool. Miners, of course, select the most profitable of these so those sent with a low fee are generally not confirmed immediately.
I find this mempool visualisation extremely helpful: https://jochen-hoenicke.de/queue/#24h
So right now, if you need to send BTC somewhere and urgently (ie, confirmed within a few blocks) you will need 100+ satoshis/byte on the transaction. If it is not urgent you can attach a lower fee.
Using Electrum with Ledger Nano S and Segwit
I was using Electrum before I got my hardware wallet, and I read that the Ledger Nano S can be used with Electrum, and that Electrum 3.x was out so I downloaded it at https://electrum.org/
I added a new wallet and selected my Ledger, but no transaction history appeared! My receive address started with a '1' which meant it was a non-Segwith address. After a bit of reading I created a new wallet with the key derivation path of m/49'/0'/0' and this time it worked - my Segwit wallet transaction history showed up and I could create transactions.
First I used the fee slider bar and set it to minimum but it still wanted to attach 172 sat/byte to the transaction. In preferences, there is a "Edit Fees Manually" checkbox. With this option I was able to set the fee manually, and then I used the "Preview" button to show what the transaction would look like and this window showed me the approximate satoshis/byte for the transaction. It would be great if I could just set a sat/byte value rather than a BTC value so it was a bit of trial and error.
In the end, I didn't end up buying my altcoin. However, since the mempool was a lot lower than the congested mempool of the day before, I decided to send all my coin to myself. This created a transaction with 12 inputs and a single output. I attached a fee of 101sat/byte which turned out to be about $15 fee and it confirmed in the next block.
Next time I want to send BTC somewhere
- I will be using Electrum to set the fee manually and
- the fee will be low as there will only be 1 input and 2 outputs to the transaction, 100-200 bytes instead of 1kB, so I won't care as much about how congested the mempool is so I could select a higher sat/byte value if it was an urgent TX
At the end of the day I expect the high fee situation for Bitcoin will get resolved in 2018 with new developments coming online to make it competitive and usable for everyday transactions again. Or you can just switch to another coin - there are so many with all the features anyone could want (some even with no fees, eg Iota)
If my transaction is not urgent I'll give it a low fee. It might mean a day before it gets confirmed, harking back to the real world banking system where most transfers are done in a batch overnight. Not the best solution, but it will do for now.
If you have other Bitcoin fee management tips, Electrum usage tips, Hardware Wallet tips, let me know in the comments. I'm not an expert, but thought my experience down this rabbit hole my help. Please, no comments about other coins and their merits, that is another discussion/article.
Hi. I am @greetbot - a bot that uses AI to look for newbies who write good content.
I found your post and decided to help you get noticed.
I will pay a resteeming service to resteem your post,
and I'll give you my stamp of automatic approval!
Resteemed by @resteembot! Good Luck!
The resteem was payed by @greetbot
Curious?
The @resteembot's introduction post
Get more from @resteembot with the #resteembotsentme initiative
Check out the great posts I already resteemed.