Why is my Bitcoin transaction pending and not confirming?

If you are a daily Bitcoin user who sends and receives coins frequently chances are that you have run into a transaction that didn’t confirm immediately the next block. There are two main reasons why a Bitcoin transaction may be pending, the first is that the transaction is invalid and was created fraudulently, since the signature doesn’t match with the corresponding key the network rejects the transaction all together. The other most common reason that a transaction isn’t confirming is because the sender sent too low of a miners fee.

While the fraudulent bitcoin transaction will not confirm, a transaction with a low fee might confirm or be dropped from the network if a long enough time has passed. However, the transaction must meet the minimum relay fee (MIN_RELAY_TX_FEE) which is currently set to 0.0001 BTC. The minimum relay tx fee is the minimum amount that the transaction fee has to be in order for the particular node to relay the transaction. Before a transaction can be confirmed by the miners it needs to be seen by them, as a result tranasctions that never relay will never get confirmed.

So lets say that you sent a transaction with a fee smaller than the MIN_RELAY_TX_FEE, you can still get that transaction to get relayed by a node if the node has overridden the MIN_RELAY_TX_FEE value to be less than 0.0001.

Simply relaying the transaction isn’t enough to get it confirmed, the transaction might need to be relayed over and over until a miner will pick it up and confirm it. Conversely, if you need the transaction to be confirmed urgently and the transaction hasn’t been relayed you can try signing the transaction again but this time adding a higher fee.