Roughly every ten minutes, a new block is created and added to the blockchain through the mining process. This block verifies and records any new transactions. The transactions are then said to have been confirmed by the Bitcoin network.
For example, if Sean sends one bitcoin to John, this transaction will remain “unconfirmed” until the next block is created.
Once that block is created and the new transaction is verified and included in that block, the transaction will have one confirmation. Approximately every ten minutes thereafter, a new block is created and the transaction is reconfirmed by the Bitcoin network.
While some services are instant or only require one confirmation, many Bitcoin companies will require more as each confirmation greatly decreases the likelihood of a payment being reversed. It is common for six confirmations to be required which takes about an hour.
Once you make a transaction, your wallet should give you an option to view the transaction on a block explorer or give you the transaction ID.
A transaction ID looks like this: 7a43510802e113b7059851ef0a8a5c3625db37541861dd982f56253b2d5c4ff9
To check the number of confirmations for a transaction, paste the ID into a block explorer like blockchain.info:
Press enter and then you’ll see more details about your transaction:
If your wallet is sending transactions that get stuck, you may be using an old wallet that doesn’t calculate fees properly. Try one of these:
There is a greater than 60% chance your transaction will be confirmed within 10 minutes if you pay a high enough fee:
Some wallets are not updated to send transactions with the proper fee.
Our guide on the best bitcoin wallets features wallets with good fee estimators. Read it here!
If your transaction is unconfirmed for hours, just wait. If more than 72 hours pass and your transaction still isn’t confirmed, you can re-send the transaction.
Coinbase requires three confirmations before a transaction will show up and be spendable in your Coinbase account.
As the GLV Endormorphism patent expired on September 25, 2020, Bitcoin core is expected to implement it in the next release to optimize signature verification by up to 25%. Many wonder if this means transactions will speed up by the same amount. Unfortunately, they won’t.
Signature verification only applies to the rate at which nodes are able to download and verify the blockchain from the beggining and add new blocks as they arrive. Depending on whether or not you have assumevalid enabled or disabled, initial block download (IBD) time is potentially reduced by 18% (with assumevalid enabled) and 28% (if assumevalid is disabled).
I ran 4 different syncs of Bitcoin Core to benchmark the real-world performance improvements offered by enabling GLV Endomorphism. The results were better than expected!— Jameson Lopp (@lopp) September 28, 2020
Default sync: 18% faster
Full verification of all historical signatures sync: 28% faster. pic.twitter.com/wJID8nZfNs
On top of reductions in IBD speeds, there is also a negligent reduction in CPU usage when nodes need to verify new blocks, but this also will have no affect on transaction speeds.
Yes! There are several ways this could happen.
As mentioned above, block times are targeted to be 10 minutes. However, sometimes they are more and sometimes they are less.
If the difficulty is set too low, then blocktimes will tend to be shorter than 10 minutes. Difficulty is adjusted every 2 weeks, but the way it is adjusted is based on the previous two weeks average block times. This generally does a good job of ensuring 10 minute blocks, but it is not perfect.
If a lot of mining [hashing power is suddenly added to the network quickly, then this hashing power wont be accounted for until the next difficulty adjustment, resulting in faster block times on average.
Sometimes blocks are found in minutes simply because of luck. The truth is, mining bitcoin is about guessing the answers to complex math problems. Guessing the answer should, statistically speaking, take about 10 minutes. However, sometimes you get lucky and find it much sooner.
Assuming 10 minute block timers are perfectly calibrated, and none of the above occurs, you could still get your first confirmation in less than 10 minutes. Let’s say a block is found and five minutes later you broadcast a trancastion with a higher fee than anyone else on the network. If that were the case, you would get your first confirmation in 5 minutes.
There is no way for you to speed up the rate at which blocks are added to the blockchain. However, you can speed up the likelyhood your transaction is included in the next block by increasing the fees you pay for the transaction.
You can find what is considered a high fee at any given time by looking at our fee calculator.
Technically, no. Segwit does not change the amount of time needed for blocks to confirm. However, transactions using segwit are cheaper because they are smaller. That means the fees you would pay for an old bitcoin transaction sending the same amount of coins is higher than it would be with Segwit. You can, therefore, put the money you save into paying more fees to increase the chance the transaction ends up in the next block.
However, no amount of fees can get your transaction through faster than the next block. And the time it takes to for the next block to be found varies depending on current hashing power and difficulty.
There are a few ways to fix a stuck transaction. One way is to do a replace by fee (RBF) transaction. The other is to do a child-pays-for-parent (CPFP) transaction. You can also use a bitcoin accelerator service, but accelerators are very expensive and better, cheaper options are available.
These are more advanced techniques, so we wrote up an entire page about how to get a transaction into a block.
If you own a Ledger hardware wallet and you are using Ledger Live, you can prepare your transaction so that replace by fee is possible. Just tick the switch in the advanced options on the second screen (amount) when you make your transaction:
If this is an issue for you, learn more about getting a transaction unstuck.