A zero-confirmation (zero-conf) transaction in Bitcoin refers to a transaction that has been broadcast to the network but has not yet been included in a block and confirmed by miners. Once a Bitcoin transaction is initiated, it enters the mempool and is propagated across the Bitcoin network. However, until miners validate it by including it in a block, it remains in a pending state as a zero-conf transaction.
Bitcoin transactions rely on miners to validate and include them in the blockchain through the mining process. A transaction is only considered fully confirmed once it is added to a block. While a zero-conf transaction is technically valid, it has not yet been secured by Bitcoin’s consensus mechanism. This leaves it vulnerable to potential issues like double-spending — a risk where a malicious user attempts to spend the same bitcoin in two different transactions.
How Zero-Conf Transactions Work
When a Bitcoin transaction is broadcast, nodes on the network verify its validity by checking the digital signatures and the sender’s available balance. However, until a miner selects the transaction and includes it in a block, it remains unconfirmed. Miners typically prioritize transactions based on the transaction fees attached. Higher fees incentivize miners to confirm transactions more quickly, while transactions with lower fees may remain in mempools for longer.
For everyday transactions, such as buying coffee, some merchants (and wallets) may accept a zero-conf payment, assuming the transaction will soon be confirmed. In such cases, the merchant is trusting that the payment will be included in a block shortly, usually within 10 minutes (the average time it takes to find a Bitcoin block). While convenient, this comes with risks, particularly for the merchant.
Risks of Zero-Conf Transactions: Double-Spending
The main risk of a zero-conf transaction is double-spending. This occurs when someone tries to spend the same bitcoin in two separate transactions, taking advantage of the fact that neither has been confirmed yet. Since miners haven’t included either transaction in a block, there’s a possibility that one of the transactions might be dropped in favor of the other. In this case, the original recipient of the zero-conf transaction could lose out if the conflicting transaction gets confirmed instead.
If a zero-conf transaction remains unconfirmed for a long time, it may also be dropped from nodes’ mempools entirely, especially if it includes a low fee. When this happens, the transaction is essentially canceled, and the bitcoin remains with the sender. As a result, zero-conf transactions are not recommended for large or high-value payments, as the lack of confirmation leaves them vulnerable to reversal or manipulation.
Zero-Conf in Bitcoin and Delays
The time it takes for a Bitcoin transaction to get confirmed largely depends on network congestion and transaction fees. During periods of high activity, the mempool can become congested, causing transactions with lower fees to remain unconfirmed for extended periods. Conversely, transactions with higher fees are typically confirmed more quickly, as miners are incentivized to prioritize them.
For greater security, it’s common to wait for six confirmations to consider a Bitcoin transaction fully verified. This level of confirmation ensures the transaction is deeply embedded in the blockchain and reduces the risk of any attempts to reverse it. Zero-conf transactions, while providing fast processing, come with security trade-offs and are generally unsuitable for high-value transfers.
What Should You Do If You Have Zero Confirmations?
If your Bitcoin transaction is stuck at zero confirmations, there are a few options to help speed it up:
- Replace-by-Fee (RBF): If you enabled RBF when creating the transaction, you can resend the same transaction with a higher fee. This signals to miners that they should prioritize the new, higher-fee version of the transaction over the original, speeding up confirmation.
- Child Pays for Parent (CPFP): If you’re the recipient of an unconfirmed transaction, you can create a new transaction (the “child”) that depends on the unconfirmed one (the “parent”). By attaching a higher fee to the child transaction, miners are incentivized to confirm both transactions together, accelerating the process.
- Transaction Accelerators: Some mining pools offer services to speed up transactions by allowing you to submit your transaction ID and pay a small fee to have it included in the next block. A popular option is Mempool.space’s accelerator tool, where users can pay to speed up the confirmation process.
Wait or Cancel: If the transaction was sent with a low fee and remains unconfirmed for a long time, you may simply have to wait until network congestion clears. In some cases, the transaction may be dropped from the mempool, allowing you to resend it with a higher fee.