Be patient and wait. The transaction should confirm within 5 days. If it does not, tell the sender to resend with a fee. Do not ship goods without at least 1 confirmation. Please do not ask for help; it will not speed up confirmations.
Blockchain.info says it should be confirmed by now, but it is still not confirmed!
Blockchain.info's confirmation time is just a guess. Confirmation times may vary wildly, so do not be concerned when your confirmation time is long. Sit tight and your transaction will confirm.
Their transaction prediction system is also extremely outdated. Anything more than about 50 satoshi per byte will show up as "Will be in the next block", when in reality the priority is much, much higher.
How can I speed up confirmation in the future?
Use a wallet with dynamic fees (most do nowadays) and use the recommended fee set by the wallet. For fastest confirmations, always set dynamic fee to be the highest estimate.
How does Bitcoin's fee policy work?
Transaction fees are based on the size of the transaction. Sending to many recipients, or sending from a wallet that received "dust" transactions will increase transaction size. How much fee you pay matters as well; 0.001 btc/kb will confirm within the next block whereas 0.0001 may take several blocks. These policies are in place to prevent large blocks (bad for miners) and transaction spam (bad for everyone running a full node).
How do I resend a transaction?
Bitcoin-qt will rebroadcast unconfirmed transactions every 30 minutes or so. As long as the sender has his client open, the transaction will be rebroadcast.
I sent a transaction without a fee. Can I add a fee to it?
You cannot add a fee to a transaction once it has been broadcasted. What you can do is create a "double spend" transaction, which essentially uses the same transaction inputs, but in a duplicate transaction, spending the same money twice. However miners only will accept one transaction.
For Bitcoin Core users:
- Right click the transaction and choose "Abandon Transaction"
Send the coins again with a higher fee.
If you do not want to see the unconfirmed transaction, you can remove the transaction from your wallet. Once the transaction gets confirmed, it will reappear in your wallet.
How do I know what fee to use?
A great way to calculate the most efficient fee for a bitcoin transaction is to use the site https://bitcoinfees.21.co/ (or cointape.com). Looking through the page, it will tell you the optimal satoshi per byte ratio. For example, the current optimal satoshi/byte ratio is 100 satoshi/byte.
You can calculate the size of a transaction with a simple calculation. Each input is around 180 bytes, and each output is 34 bytes. Add 10 bytes to this value and you will get a close estimate to the actual fee.
With the values you now have, you can multiply the satoshi/byte to the size of the transaction.
For example, if I were to have one input and two outputs, the transaction would be 180 + 34 + 34 + 10 or 258 bytes. Multiply this by 100 satoshi/byte, you get 25800 satoshi, or 0.000258 btc.
I used a high fee but my transaction wasnt confirmed
Miners have the capability to allow certain transactions or even blacklist some from the block they are mining. It could be that they prioritised you after everyone else for some exotic reason, or maybe they blacklisted everything. Just wait and with time, your transaction will confirm.
My transaction isn't showing up on certain block explorers, like blockchain.info, but it is showing up in my wallet and in others, like blockr.io!
After a while, your transaction may be dropped from certain nodes. Node operators can set certain parameters, like dropping a transaction from the mempool quicker than normal to reduce bloat. It is a common occurrence with blockchain.info.
What you should do is rebroadcast the transaction. Your transaction has moved down the priority ranks, and is slowly being forgotten. If you rebroadcasted, you will be nudged back up, like bumping a thread here on bitcoin.com.
Why aren't the blocks completely full? (Not being exactly 1MB)
Transactions arent made perfect. Some transactions can be a really odd value, like 271 bytes and its hard to fit these into a perfect block.
The most recent block is empty. Does that mean that no transaction was confirmed but the coin reward?
Yes. Miners are free to choose what transactions to put into a block, and if to put any in, for that matter. At a glance, this may seem like a lose-lose scenario. The miner doesn't get the transaction fees that the users are paying, and the users don't get their transaction confirmed.
The main reason miners do this, is a method called SPV mining, or validationless hashing. After a block is mined and before the miners start mining the next one, the miners have to download the previous block to verify the transactions and get a general idea on what to mine. The concept of SPV mining is mining without the above process, so a miner can start just before everyone else. When it comes to mining, every single hash counts. But is it worth the price to pay for neglecting transactions?
Thanks to Grue from Bitcointalk and Westernory