Accept payments · BTC
Accept Bitcoin payments.
Invoice in the currency you sell in, and let your customer pay in Bitcoin. We give the invoice a keyless address on the chain they choose, watch it, and send you a signed webhook when the payment is final. The asset customers ask for by name. Its own chain, its own address formats, no tokens.
BTC on 1 chain.
Your customer picks one at checkout. You choose which of them you are willing to accept.
- BTC on Bitcoin
- Bitcoin has no token layer, so BTC is the only thing that can arrive. We offer four address formats so a sender whose wallet cannot pay a bech32 address is not stuck.
Taking a Bitcoin payment.
Create the invoice
One POST with an amount, a pricing currency and your own reference. You get back a checkout URL, one payment address per chain, and a locked amount in every coin you accept.
They pay, at a rate that stays honest
Your customer is never asked to commit to a chain first — one address serves every EVM chain, so whatever arrives is attributable. Stablecoins are quoted once. A volatile coin is re-quoted every two minutes, and the figure it replaces is still honoured for five, so nobody who did as they were told is told they underpaid.
You get a signed webhook
HMAC-SHA256, retried for about 46 hours, replayable from the dashboard. The payment is credited to your balance per asset.
curl https://api.molnpay.com/v1/invoices \ -H "Authorization: Bearer $MOLNPAY_SECRET_KEY" \ -H "Idempotency-Key: order_8812" \ -d amount="49.90" \ -d currency="USD" \ -d reference_id="order_8812"
What you do not have to do.
- Hold a BTC wallet, or guard a seed phrase for one. Every address is a contract with no key.
- Keep gas on hand. Our operator wallet funds the sweep on every chain BTC settles on.
- Ask your customer to make an account. The hosted checkout needs nothing from them but a payment.
- Run a watcher that must never miss a block, or reconcile a reorg by hand.
Holding BTC for your users instead?
Same API, same keys, same balance — the difference is whether the address belongs to an invoice or to one of your users.
Bitcoin deposit addresses