Skip to content
Accept Bitcoin

Accept Bitcoin payments

Paid at the first confirmation, about 10 minutes, and yours to withdraw at once.

Bitcoin is the coin every customer has heard of and every wallet can send. CoinsFlow is a Bitcoin payment gateway: it sees a Bitcoin payment seconds after your customer sends it, counts it as paid at the first confirmation, and lets you withdraw it straight away. It costs 0.5% per payment.

How it works

  1. Create an invoice in Bitcoin, priced in BTC or in US dollars: one API call from your shop, or a few clicks in the dashboard.
  2. Your customer opens the payment page: a fresh bc1… address, the exact amount, a QR code, and on a phone a button that opens their wallet app.
  3. We see the payment within seconds, while it is still in the mempool, and the payment page tells your customer it is on its way.
  4. At the first confirmation it is paid: your server gets the signed invoice.paid webhook, and the money is in your balance.
  5. Withdraw to your own Bitcoin wallet, by hand or automatically. The smallest withdrawal is 0.00001 BTC.

Bitcoin on CoinsFlow, in numbers

Payment seenseconds after your customer sends it (in the mempool)
Paid, and withdrawable1 confirmation, about 10 minutes, whatever the amount
Final1 to 6 confirmations: more for a larger payment
Customer’s network feevaries with how busy the network is; usually low
Our fee0.5% of each payment
Addressnative SegWit (bc1…), a new one for each invoice
Invoice open for3 days, or up to 7 if you ask; a late payment is still credited
Smallest withdrawal0.00001 BTC

A $50 Bitcoin order, in numbers

Price$50.00, asked in BTC at the current price, rounded up to 8 decimals
Payment seenseconds after the customer sends it: invoice.detected
Paidat 1 confirmation, about 10 minutes: invoice.paid
Our fee$0.25 (0.5%), taken in BTC when it is credited
Customer’s network feewhat their wallet adds on top; it varies with how busy the network is
In your balanceabout $49.75 worth of BTC, withdrawable at once

The network fee is the one thing not in this table, because it is not ours and not yours: your customer's wallet adds it on top of the invoice, and it goes up and down with how busy the network is. For small orders, Litecoin or BNB Smart Chain cost your customer less to send.

Read from our own node

Payments are read from a Bitcoin node we run ourselves, like every network we take. Nobody else's API decides whether you were paid.

A Bitcoin payment API in one call

One request makes the invoice, here in cURL, Node.js and Python. There is no SDK to install.

POST /v1/invoices
curl https://api.coinsflow.app/v1/invoices \
  -H "Authorization: Bearer $COINSFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042" \
  -d '{"chain":"bitcoin","asset":"BTC","priceAmount":"50.00","orderId":"order-1042"}'

Send your customer to the paymentUrl in the answer, and fulfil the order on the invoice.paid webhook. To try it with no money first, add "test": true to the body and simulate the payment. Every field is in the API docs.

Questions

Is one confirmation enough for Bitcoin?

For most orders, yes: that is when CoinsFlow counts the payment as paid, and you can withdraw it from then on. If a block is ever reorganised and the payment disappears, the credit is reversed with it, and a withdrawal made from it is undone too, so you never end up owing anything. For something worth a lot that you cannot take back, wait for invoice.settled, when the payment is final: 1 to 6 confirmations, more for a larger payment.

Can I price in dollars and be paid in Bitcoin?

Yes. Give priceAmount in US dollars. The payment page asks for the Bitcoin amount at the current price, rounded up to 8 decimals, and brings it up to date once an hour until it is paid.

Who pays the Bitcoin network fee?

Your customer, on top of the invoice: their wallet adds it when they send. It varies with how busy the network is. The 0.5% is the only fee you pay on a payment.

Is there a smallest Bitcoin payment?

An invoice in Bitcoin alone has no minimum, though a customer’s wallet will not send dust. On a pay-in-any-coin invoice, Bitcoin is offered from 0.00001 BTC; below that the customer is shown it as not available. The smallest withdrawal is 0.00001 BTC.

What if the payment comes after the invoice expired?

It is still credited to you. Every address we give out is watched for good, and the invoice carries paidLate: true.

Can my customers pay with other coins too?

Yes. Price the invoice in dollars and leave the coin out: the payment page lets your customer pick Bitcoin, Litecoin, Ether, BNB, USDT or USDC.