A zero confirmation transaction, often called "0-conf," sits in the brief window after a sender broadcasts a payment but before any miner has included it in a block. Nodes across the network relay it and hold it in their mempool, where wallets and block explorers display it as pending, but nothing about that visibility is final: no proof-of-work has yet locked it into the shared ledger, so the network has not truly agreed the funds moved.
The appeal of accepting 0-conf is speed. Waiting for even one Bitcoin confirmation takes roughly ten minutes on average, and merchants selling coffee, groceries, or other low-value goods historically treated an unconfirmed transaction as good enough, betting that attacking them would cost more than the payout. That bet depends on receiving nodes seeing only one version of the transaction. If a dishonest sender broadcasts a conflicting transaction redirecting the same coins elsewhere, whichever version a miner confirms wins and the other disappears, exposing the merchant to classic double spending.
This risk grew sharply after Bitcoin Core 28.0, released in October 2024, made full Replace-by-Fee the default mempool policy. Previously only transactions that explicitly signaled RBF could be fee-bumped and canceled; full RBF lets any unconfirmed transaction be replaced by a higher-fee version regardless of signaling, making a hostile double-spend far easier to pull off. Most exchanges and processors now require at least one confirmation, reserving 0-conf tolerance for negligible amounts or trusted counterparties, such as moves between a user's own wallets.
For genuinely instant, low-risk payments, the Lightning Network has largely replaced 0-conf as the preferred approach, settling transfers off-chain within payment channels instead of gambling on an unconfirmed mempool entry.