Just a few years ago, transaction fees were only a few pennies and could easily be confirmed in under an hour. In fact, the total transactions in a single day were less than 100,000 in 2014 when Airbitz had just started. Today we are seeing as high as 350,000 transactions and an average of 250,000 or so transactions per day. Because of the growing demand of bitcoin, users, and transactions, the fees have gone up dramatically since then and have sometimes reached a cost as high as $3 for a single input especially during peak times which can last a day or even a period of weeks. Since that recent spike, the transaction volume has cooled down quite a bit and we are seeing fees starting to come down again.
Should we see higher fees again, some address balances may no longer be spendable because the amounts that are left are now too small to cover the fees to be sent out. This is known as ‘dust’. This guide will explore mining fees and show how users can adjust the fees in their favor using Airbitz’s latest update in version 2.4.5. With this update, Airbitz users may get away with sending out the remaining dust in their wallet by using a custom fee below the recommended amounts at the right time.
Mining fees are a necessary fee that is paid to the bitcoin network, specifically to the ‘miners’ that secure and validate the transactions that go through. Airbitz doesn’t make a profit from these fees and 100% of the fees go to the bitcoin network so that your transaction can be processed in a reasonable time. The fees that are calculated and used are the recommended fees according to https://bitcoinfees.21.co/.
In our 2.4.5 update, Airbitz users will now be able to view any dropped transactions that occur and will also have more freedom by being able to set their own fees. Users can manually enter the fees below or higher than the recommended amounts. To do this, just tap on the mining fee in the “swipe to confirm” screen.
If the fees are set too low, the transaction may take multiple hours and even days for it to confirm. In some cases, the transactions can drop from the ‘mempool’ meaning that the transaction will not go through and be returned to the sender. In the event that a dropped transaction occurs and the user was the one sending, the user would have to re-send that payment again using higher fees for it to go through. If the user was receiving the money, the user will need to have the sender re-send the money. However, depending on network traffic, bitcoin transactions may even confirm with a zero fees paid to the network.
Dropped transactions that occur whether it is a send or receive will now be tagged as dropped and be recorded in the Transaction History screen as part of the update. This new important feature will prove to be useful as users now have a record on whether a send or receive was dropped and can use that as a reference should there be a dispute.
Users should try to time the transaction during non-peak hours so that the likelihood of that transaction will confirm. For example, users can do this by first checking http://statoshi.info/ to get an estimate how much traffic there is on the network at that moment in time and users can also check the recommended fees at https://bitcoinfees.21.co/. Next, they can use that data and attempt to try a send using a slightly lower fee than what is recommended. If the traffic is light and the fees have been adjusted to be lower, but not too low that it gets dropped, then the transaction might just go through.
Users will also find this beneficial in that they can make payments using a lower fee if they do not need to have that transaction confirmed or processed quickly. If the user doesn’t mind doing a transfer or a payment that could take several hours or even a day to confirm, then the user can go ahead and set the fees to low or enter a custom amount to save on fees.
A user who has needs to have a transaction processed quickly can also take advantage of the custom fees implemented in Airbitz. Users can set fees higher than the recommended amount to try to get that transaction processed in the next block.
Lastly, in our 2.4.5 update, users will also be notified of any dust that might be left over when doing a “Max” send as seen in the image below.
‘Dust’ is bitcoin on an address that cannot be spent because the fees are higher than what is on the address, meaning it would cost more money than what the bitcoin address currently has to move it.
This is why when you do a Max send out of your wallet, you will still have some change left over. This is because the remaining balance left over is composed of many inputs that make up that total balance but each having too little of a balance to cover the mining fee.
Inputs are the outputs from a previous transaction. Typically when a new transaction is made, it consists of multiple inputs from a transaction that took place before that.
Nearly all bitcoin transactions have to send “change” back into your wallet which would be a new address right after you spend money. For example, when you receive 0.005 bitcoins then spend 0.004 bitcoins, there is of 0.001 bitcoins that returns to another new address of yours as change. You may also notice that your address changes after every receive since it is an HD (Hierarchical Deterministic) wallet.
Consider this example 1: Bob has 0.005 bitcoins and spends 0.004 bitcoins at a store.
Address A has 0.005 Bitcoins and is sent to Address B and Address C below:
— -> 0.004 BTC into Address B (Website or a store)
— -> 0.001 BTC into Address C (Back into Bob’s account)
- Address A now has a 0 balance (Bob’s Account)
- Address B now has a 0.004 BTC balance (the business it was spent at)
- Address C now has 0.001 BTC(Bob’s account) but that amount is too small to send for another transaction if fees are greater than 0.001 BTC
Now when Bob tries to spend the 0.001 BTC that came back as change, it might not be enough to cover the fees depending on the traffic of the network. Based on June 15’s price, the 0.001 bitcoins comes out to $2.40 and the bitcoin fees can sometimes reach up to $3 depending on bitcoin network congestion as mentioned. Combine the fees and also the item you are about to purchase leads to a situation where you can’t send it out. Even without an item to purchase, a fee of $3 would make it impossible to send the remaining $2.40 out which is now dust in the wallet.
Now imagine over the course of hundreds or even thousands of these transactions similar to the example above, the user will eventually accumulate a balance that may be significant but is composed of many change inputs. For example, if that amount turned out to be $20 of bitcoin which is significant to most people but is composed mostly of all change meaning some inputs are $0.50 cents here, $0.25 cents here, and $0.75 there amounting to $20, the user might not be able to spend out of it or see very high fees because of the amount of inputs. This is also the primary reason it is so expensive to send money out if users received bitcoins through mining which are usually paid in small amounts and quite often. To combat this, we recommend users who mine to set their payouts to a higher amount so that it reduces the inputs of future transactions.
So why does it cost more if the transaction consists of many inputs? Well, to put the situation a fiat-money context, it would be like paying for lunch with a 1,000 pennies. It would be difficult and costly in terms of time to count those pennies by hand and to verify the amounts of that transaction. In fact if you had tens of thousands of pennies to count out, would you use your time to count them for free? Would you hire someone to count those pennies? Either way you’re basically paying someone or spending your own valuable time just to have that counted. In bitcoin, having lots of inputs or change is the equivalent of paying with pennies, it’s more difficult and costly to verify and process that transaction and include it in the upcoming blocks compared to if it was a transaction with a smaller amount of inputs. That is why the fees can add up if you have a lot of inputs in the transaction.
How do I set up the mining fee?
In Airbitz 2.4.5, users will be able to set their custom fee. This can be done by following the steps below:
- At the Slide to Confirm screen tap on the BTC field on the right hand side of the 1st field circled in red. (Note this may be set in bits or mbtc depending your denominations settings preference)
- A popup will appear with preset fees ranging from low, standard, and high that uses fees from what is recommended by https://bitcoinfees.21.co/