Yesterday I did my first Bitcoin transaction for something physical. I bought a couple of drinks at a pub.

I was shown a QR code which I scanned with my Blockchain.info iPhone app. What caught my eye in the transaction were the miner fees of 0.5 mBTC / 5.7 mBTC = 8.7% (much larger than the 2-4% fee for credit cards).

Is it standard to pay such high miner fees for physical items to expedite confirmation? Did the QR code dictate the miner fee I had to pay, or was it the iPhone app?

  • I don't think the QR code would say how much of a transaction fee to give. (in the bitcoin URI scheme format no fees can be specified) Your app probably just chose a large number.
    – Tim S.
    Jan 13, 2014 at 18:10
  • 1
    Your app's transaction fee is set to 0.0005 BTC. Jan 13, 2014 at 22:56
  • The cost the network incurs is per transaction and not proportional to the amount of money you transfer, so it's only natural to have fee be an absolute not a relative value. Jan 14, 2014 at 9:58

2 Answers 2


The fee is based on the transaction size, not on the amount of money being sent. Making a transaction works by spending money you've previously received; the Bitcoin client looks for unspent incoming transactions and links those together to form a new transaction that uses up the money from those old transactions.

If this number of input transactions is particularly large (for instance, if you've received a lot of very small amounts of money), this means that the transaction size becomes larger, making the required fee larger as well, since it is a bigger burden on the network. I believe some Bitcoin clients do have a tendency to try and use up small transactions first, which further contributes to creating larger transactions.

If the transaction you're trying to make is particularly small, the fee may seem disproportionally large. This is why Bitcoin is often not considered to be great for microtransactions.

According to the Bitcoin wiki, the fee used in the reference implementation (as of 0.8.2) is 0.0001 BTC per thousand bytes.

Of course, the specifics of calculating the fee depends on the client, and this is configurable in any decent client. I've gotten away in the past with using a fee of 0.


It was the suggested fee that your app set, I believe you can also customize fee size on most apps, but the suggested fee is for confirming the transaction ASAP. I believe POS stuff like that doesn't really care for confirmation time so you can safely set a lower fee.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.