I made this transaction:
662f7e90b1e3d6f55c06388c07b62e15c6ab672c936372b64e8748c22d3923fb (game purchase on indiegala)
And it had a really hard time getting into a block even tough paying like 0.0004 in fee. Sites listed it like miners didn't want this transaction.
Then I did this transaction:
f3cb81d3a01f03b4e3b473fd3d264d0661d31f9081ca8ec6c544fee08b4ef853 (purchase of 100€ Steam gift card on bitrefill)
and this time, even when paying LESS in fee - 0.00032649 - it got pretty quick into a block and some sites listed it as a preferable transaction for miners.
What causes this?
It seems that 1000 satoshis / kB is the standard, but miners aren't following that what I understand, because the fee's I paid on both transactions were pretty high, and still the first block had trouble getting across.
How do miners calculate which fee to "require"?
A block has a limited size, in bytes (it is actually virtual byte, but lets consider it as bytes now to make it simple).
Each transaction has a different size. There are many things that control transaction size:
- address format - old address format is called Legacy, and those addresses are bigger in bytes
- number of inputs - Each time you receive BTC, even if using the same address, you generate one input. Each input occupy a space in the transaction size. The more inputs, the bigger the transction size.
- number of outputs - number of destination addresses. Usually a transaction has at least 2 outputs, one as change (to receive back the remaning btc) and one destination.
Now let's look your transactions
- This transaction has 7 inputs and 2 outputs. This transaction has the size of 1332 vB. You paid 30 sat/vbyte in this one.
- While this tranasction transaction has only 1 input and 1 output, and the size of 221vB. The second transaction has 1/6 of the former transaction, and you paid 130 sat/vbyte in that one.
Miners will of course prefer a small transaction paying 130 sat/vbyte than a big one, which you paid only 30 sat/vbyte.