How to Set Up BTCPay Server

Accept Bitcoin and cryptocurrency payments using your self-hosted BTCPay Server instance.

intermediate
20 minutes7 steps
1

Set up a BTCPay Server instance

If you do not already have a BTCPay Server instance, you need to deploy one. You can:

- Self-host using the official BTCPay Server documentation at docs.btcpayserver.org - Use a third-party host like Voltage or LunaNode that offers one-click BTCPay deployment

Once deployed, access your BTCPay instance at its URL (e.g., https://btcpay.yourdomain.com).

Self-hosting gives you full control and zero fees. Third-party hosts are easier to set up but may charge hosting fees.

2

Create a store in BTCPay

Log in to your BTCPay Server dashboard. Click Create Store if you do not have one already. Give it a name (e.g., 'My IPTV Store'). Note the Store ID — you can find it in the store settings URL or under Settings > General.

You can create multiple stores in BTCPay for different purposes. Use a dedicated store for your IPTVbp integration.

3

Set up a wallet

In your BTCPay store, go to Wallets > Bitcoin and set up a wallet. You can:

- Connect an existing hardware wallet - Use BTCPay's hot wallet (generates keys on the server) - Import an extended public key (xpub) from any wallet

This wallet will receive all Bitcoin payments from your customers.

If using a hot wallet, make sure your server is secure. For maximum security, use a hardware wallet or xpub import.

4

Generate an API key

In BTCPay, click your profile icon in the top right and select Manage Account > API Keys. Click Generate Key and grant the following permissions:

- btcpay.store.canviewstoresettings - btcpay.store.cancreateinvoice - btcpay.store.canviewinvoices

Copy the generated API key.

Only grant the minimum permissions needed. This limits the impact if the API key is ever compromised.

5

Configure the webhook

In your BTCPay store, go to Settings > Webhooks. Click Create Webhook and enter:

- Payload URL: https://your-domain.com/api/webhooks/btcpay - Events: Select InvoiceSettled, InvoicePaymentSettled, and InvoiceExpired - Copy the webhook secret that is generated.

Test the webhook by clicking 'Send test' after creation to make sure BTCPay can reach your store.

6

Add BTCPay in IPTVbp

In your IPTVbp vendor portal, go to Settings > Payment Gateways and select BTCPay Server. Enter your BTCPay details.
FieldDescriptionRequired
Server URLThe full URL of your BTCPay Server instance.
Yes
Store IDYour BTCPay store identifier. Found in your store settings.
Yes
API KeyThe API key generated in your BTCPay account settings.
Yes
7

Test with a payment

Place a test order on your store and select Bitcoin/crypto as the payment method. BTCPay will generate a payment invoice. You can use Bitcoin testnet for testing or make a small real payment to verify the flow. Check that the webhook notification is received and the order is completed in IPTVbp.

BTCPay supports Lightning Network for instant, low-fee payments. Consider enabling it for a better customer experience.

Ready to Get Started?

Join the waitlist and be among the first to automate your business.