Security
How to Verify a Bitcoin Payment Before You Ship
A plain-English guide for US merchants on how to verify a bitcoin payment is confirmed, what block confirmations mean, and when it is safe to release goods.

Accepting bitcoin at your business removes chargebacks, but it introduces a different question: how do you know the payment actually went through before you hand over the product or service? Unlike a card swipe where the terminal flashes an approval code, bitcoin confirmations happen on a public ledger over a span of minutes. Understanding what that process looks like protects you from one of the oldest crypto scams targeting merchants: the zero-confirmation double-spend.
This guide walks through the mechanics of bitcoin payment confirmation, the tools you can use to check bitcoin received, and the practical thresholds most US merchants use depending on the size of the transaction.
How a Bitcoin Transaction Goes From Broadcast to Settled
When a buyer sends bitcoin, the transaction is first broadcast to the network and lands in the mempool, a waiting area for unconfirmed transactions. Miners then bundle mempool transactions into a block roughly every ten minutes. Once a block containing your transaction is mined, that transaction has one confirmation.
Each subsequent block added on top of it adds another confirmation. A transaction with six confirmations means six blocks have been built on top of the one that included your payment, making it extremely difficult to reverse.
Here is the rough timeline:
| Confirmations | Typical elapsed time | Common merchant threshold |
|---|---|---|
| 0 (unconfirmed) | Under 1 minute | In-person low-value only, with caution |
| 1 | About 10 minutes | Digital goods, small retail |
| 3 | About 30 minutes | Most goods under $1,000 |
| 6 | About 60 minutes | High-value items, wire-equivalent amounts |
The right threshold depends on the value of what you are selling and your own risk tolerance. These are common practices, not rules set by any regulator.
Three Ways to Confirm a Bitcoin Payment
1. Use a Bitcoin Payment Processor
Tools like BTCPay Server, OpenNode, or Strike generate a payment invoice with a unique bitcoin address for each transaction. The invoice page shows confirmation status in real time and will not mark the payment as complete until it hits the confirmation count you have configured.
This is the path with the least manual work. The processor watches the blockchain on your behalf, and you set a rule like "release order at 3 confirmations." The buyer sees a live countdown, and you get a webhook or email when the threshold is met. For a closer look at how these processors differ, see Payment Tools in the site navigation.
2. Look Up the Transaction on a Block Explorer
If you are not using a processor, you can check bitcoin received manually through a block explorer. Blockchair, Mempool.space, and Blockchain.com let you search by bitcoin address or transaction ID (TXID).
Steps:
- Get the TXID from the buyer or from your wallet's transaction history.
- Paste it into the block explorer search bar.
- Look at the confirmation count. A number above zero means the transaction is in a block. A label like "Unconfirmed" or "Pending" means it is still in the mempool.
- Refresh until the count reaches your threshold.
Block explorers are public tools, so you do not need an account or API key for basic lookups.
3. Check Your Wallet Directly
Most bitcoin wallets, including hardware wallets and software wallets, show incoming transactions with a confirmation count next to them. A small clock or "pending" badge usually means zero confirmations. A checkmark or the number 1 or more means the transaction has landed in at least one block.
The wallet approach works well for small-volume merchants. The risk is that some wallets cache data and may lag a few minutes behind the actual network state. If you need precise information fast, a block explorer or payment processor is more reliable.
What Zero-Confirmation Transactions Mean for Merchants
A zero-confirmation transaction is one that has been broadcast to the network but not yet included in a block. It is visible to you and on block explorers, but it has not settled.
In theory, the sender could broadcast a conflicting transaction at a higher fee, attempting to redirect those same coins to a different address before a miner picks up the original. This is called a double-spend. In practice, it requires technical knowledge and specific timing, but it is a real attack vector used against merchants who ship immediately on seeing any broadcast.
For most in-person, low-value transactions like a $10 coffee, zero-confirmation may be a reasonable operational risk similar to accepting a personal check. For a $500 item or a digital download that cannot be revoked, waiting for at least one confirmation is the safer call.
To understand broader threats, the guide on protecting your business from bitcoin payment scams covers double-spend attempts alongside social engineering and fraudulent QR codes.
Reading the Transaction Details That Matter
When you pull up a transaction on a block explorer, several fields appear. Here are the ones that matter most for payment confirmation:
Status or confirmations: This is the headline number. Zero or "Unconfirmed" means the transaction is in the mempool. Any number above zero means it is in a block.
Amount: Confirm this matches what the buyer was supposed to send. Bitcoin addresses do not enforce amounts, so a buyer could send less than required. Your payment processor should catch this automatically, but manual checks require you to verify it yourself.
Fee rate: The fee attached to the transaction affects how quickly miners pick it up during congested periods. A transaction with a very low fee rate during high network activity may sit in the mempool for hours. If your processor offers a "replace by fee" or fee-bumping option, that can help move a stuck transaction through.
Receiving address: Make sure the address on the transaction matches the address you provided or your processor generated. Address substitution attacks, where malware replaces a copied address, are a real risk. Always verify the first and last several characters.
Setting Confirmation Thresholds for Different Business Types
There is no single correct number of confirmations, but US merchants tend to cluster around a few common patterns:
Retail and food service (under $100): Many accept one confirmation or even zero for small in-person sales, trading a small amount of risk for faster checkout. Some point-of-sale processors allow merchants to set this threshold per product or transaction size.
E-commerce and digital goods ($100 to $1,000): One to three confirmations is a common range. Digital goods that can be revoked (like software license keys you control) carry less risk at lower confirmation counts than physical goods that have already shipped.
High-value goods and services (above $1,000): Six confirmations is a widely referenced standard in the industry, partly because older exchange protocols used six as a benchmark for "finalized." At current network speeds, that means roughly one hour.
Business-to-business invoicing: B2B payments are typically scheduled in advance, so waiting for full confirmation before marking an invoice paid is standard practice and introduces no friction.
After you receive and confirm a bitcoin payment, you will want to decide whether to convert it to USD immediately or hold it. The decisions around custody start with how you store received bitcoin. The guide on how to store the bitcoin your business receives safely covers the basics of wallet types and internal controls. And if you are comparing options beyond a basic wallet, hot wallet vs cold storage for business bitcoin explains the trade-offs relevant to a business setting.
Frequently Asked Questions
How long does it take to confirm a bitcoin payment?
The first confirmation typically arrives within 10 to 30 minutes, depending on the fee the sender attached and current network congestion. Subsequent confirmations add roughly 10 minutes each. During busy periods, low-fee transactions can take longer. Payment processors often let you track estimated confirmation time based on fee rate and current mempool depth.
Can a confirmed bitcoin payment be reversed?
Once a transaction has six or more confirmations, reversing it requires an attack that would cost an extraordinary amount of computing resources to execute against the Bitcoin network. For practical purposes, deeply confirmed transactions are treated as final. This is different from a credit card payment, which can be charged back weeks or months later. It is also why confirming before you ship matters: once the goods are gone and the transaction is unconfirmed, you have less recourse.
What does "payment confirmation merchant" software actually check?
A good payment processor checks three things: that the transaction appeared on the blockchain (not just a screenshot or fabricated TXID), that the amount matches the invoice, and that the confirmation count has reached the threshold you set. Some processors also check that the receiving address matches their generated invoice address, guarding against address substitution. If you are vetting processors, looking at how they handle these three checks is a reasonable starting point.
Do I need to report Bitcoin payments I receive for US tax purposes?
Generally yes. The IRS treats bitcoin as property, and receiving it as payment for goods or services typically creates taxable income at the fair market value in USD on the date of receipt. Businesses that receive cash payments above $10,000 in a single transaction may also have Form 8300 reporting obligations; FinCEN guidance has addressed whether that threshold applies to certain crypto transactions. Tax rules in this area continue to evolve. Confirm current requirements with a tax professional or the IRS directly before you act.
What should I do if a transaction stays unconfirmed for hours?
An unconfirmed transaction stuck in the mempool has not settled. If the buyer attached a very low fee during a congested period, it may eventually be dropped from the mempool without confirming. Do not ship until you see at least one confirmation. Some processors support fee bumping on the buyer side. If you control the receiving wallet and the processor supports it, child-pays-for-parent (CPFP) is a technical option to help pull a stuck transaction through, though it is not universally supported.