Bitcoin (BTC) is the first and best-known cryptocurrency. For a merchant it works like a bank transfer that settles directly to you: the customer sends coins to your address, the network records it, and nobody can pull the money back afterwards. This page covers what that costs, how long it takes, and how to set it up in Payfim.
Why do merchants accept Bitcoin?
The honest answer is demand. When a shopper looks for a "pay with crypto" button, Bitcoin is usually the coin they already hold. A few practical reasons follow from that:
- No chargebacks. A confirmed Bitcoin payment is final. Fraud via disputed card transactions does not apply.
- Global reach. Customers in countries where cards are declined or international transfers are slow can still pay.
- Good fit for bigger baskets. Because the network fee does not scale with the amount sent, a $2,000 order costs the customer the same fee as a $20 one.
- You hold the money. With a self-hosted setup, coins land in your wallet, not in a processor balance that can be frozen.
The trade-off is price movement. BTC is volatile, so many stores also offer a stablecoin such as USDT on TRON next to Bitcoin. Our guide on choosing which coins to accept walks through that decision.
How much does it cost to accept Bitcoin?
Payfim charges no transaction fee. The only cost is the Bitcoin network fee, and the customer pays it from their wallet when they send.
That fee is priced per unit of transaction size (satoshis per virtual byte), not per dollar sent. As of late September 2026 the mempool was quiet: mempool.space recommended roughly 1 to 3 sat/vB, and BitInfoCharts showed a median fee of a few cents. Those figures change quickly. During busy periods, such as after a sharp price move, fees can climb to several dollars for a few hours and fall again once the backlog clears.
For a comparison with card processing costs, see crypto vs card payment fees.
How long does a Bitcoin payment take?
Bitcoin targets one block about every 10 minutes, and BitInfoCharts measured an average close to that in September 2026. Individual gaps vary a lot; a 30-minute wait for the next block happens.
In Payfim the checkout page switches to confirming as soon as the transaction appears in the mempool, so the customer knows it was received. The invoice becomes paid once the transaction has the configured number of confirmations. Blockchain confirmations explained covers how to pick that number.
Which wallet should receive the payments?
Use a wallet where you, and only you, hold the recovery phrase:
- A hardware wallet is the safest choice for a store that expects meaningful volume.
- A reputable non-custodial desktop or mobile wallet is fine for smaller amounts.
Avoid pasting a deposit address from an exchange account. Exchanges can rotate those addresses, and their systems are not built to credit a stream of customer payments with odd amounts. Payfim never needs your private key or seed phrase, only the public receiving address.
How to set up Bitcoin in Payfim
- Install the gateway on your hosting if you have not yet (install guide).
- Open Wallets & coins in the gateway dashboard and paste your address into the Bitcoin row. Native SegWit (
bc1q…), Taproot (bc1p…) and legacy addresses starting with1or3all pass the format check. - Leave the confirmations box empty to use the default of 1, or type a higher number.
- Switch Bitcoin on, click Save wallets, then Test to check the gateway can reach the blockchain.
No API key is needed. Payments are read from the public mempool.space API; if you run your own Esplora server you can point Bitcoin Esplora URL under Blockchain APIs at it instead.
Because all invoices share your one address, Payfim gives each open invoice a slightly unique amount (a few extra satoshis, worth at most about 5 cents by default). That tiny difference is how a payment gets matched to the right order, and a single transaction can never be credited to two invoices.
What should you raise confirmations to for large orders?
One confirmation is a reasonable default for everyday online orders. For high-value goods, several confirmations make a reversal through a chain reorganization far less likely. Many merchants use a higher setting only when the average order is large. The setting is per coin, so raising it for BTC does not slow down your other coins.
Common Bitcoin payment mistakes
- Sending from an exchange that deducts its withdrawal fee. If the amount that arrives is short by more than the 0.5% default tolerance, the invoice is flagged underpaid and is never marked paid automatically. Our guide on underpayments and refunds explains how to settle these.
- Sending BTC on another network. Wrapped or bridged "BTC" tokens on other chains are not Bitcoin payments and will not be detected.
- Paying after the quote expires. The rate is locked for 30 minutes by default, and a payment broadcast right at the deadline is still picked up during a short grace period. Coins sent after that still reach your wallet but are not matched automatically, so check the transaction and use Mark as paid in the gateway admin if you accept it.
- Relying on Lightning. Payfim verifies on-chain Bitcoin transactions; Lightning invoices are not part of the Bitcoin option.
Where to go next
Bitcoin works with every Payfim module, including the WooCommerce plugin and the WHMCS module. If you are weighing a self-hosted setup against a processor, read accepting Bitcoin without a payment processor or compare Payfim and BTCPay Server. The full list of networks is on supported coins.
Sources
Third-party facts were checked on the date shown above. Prices and features of other services change - always confirm on their official pages.

