Learn the payment and treasury basics to onboard your company to Bitcoin
BTCPay Server features
- its complete autonomy,
- the absence of a KYC procedure,
- full control of funds**,
- the elimination of platform fees.
- Fully customizable interface and invoices;
- Native Tor support for enhanced confidentiality;
- Support for crowdfunding, POS and payment buttons;
- Compatible with many currencies ;
- Bitcoin direct and peer-to-peer payments ;
- Complete control over your private keys;
- Enhanced privacy ;
- Enhanced security ;
- Self-hosted software ;
- Support for SegWit and Lightning network ;
- Internal, node-based portfolio, with integration of hardware portfolios.
Installing and configuring BTCPay Server
Choosing your hosting mode
- BTCPay Server hosted by a third party**: you use a platform that hosts the service for you. It's simple, but usually not free.
- BTCPay Server self-hosted on a cloud server** (e.g. via btcpayprovider, Bitcoin People or any other provider). This is the recommended solution for most novice merchants.
- BTCPay Server installed on your own hardware (locally)** : on a computer, mini-PC or Umbrel. This method is more technical, but offers total independence.
Create a BTCPay Server instance on Voltage
- An Infrastructure section for managing Lightning nodes, Bitcoin Core, BTCPay Server and other Bitcoin services in the cloud;
- and a Payments section that lets you access Voltage's API Lightning to integrate Bitcoin payments into customized applications.
Create a group
- Lightning Nodes** : to deploy a complete Lightning node (LND) ;
- Bitcoin Core Nodes** : to launch a complete Bitcoin node ;
- BTCPay Server** : to host a ready-to-use BTCPay instance;
- Nostr Accounts**: to manage Nostr identities.
-
Give it a name.
-
Choose the default currency (EUR, USD, CFA, etc.).
-
Select a exchange rate provider (e.g. CoinGecko).
xpub) compromised, an attacker could view your transaction history, but would be impossible to access your funds.Connecting a Bitcoin wallet
-
Hardware portfolio** (Ledger, Trezor, Coldcard...) ;
-
Software portfolio** (Blockstream App, Ashigaru, Electrum, Sparrow...)
-
BTCPay Server** internal wallet (not recommended, as it's less secure and exposes your funds more in the event of server hacking).
Generate a Point of Sale (PoS)
What's the point of sale?
- Create a menu of products or services with fixed prices.
- Generate an instant invoice with QR code to scan.
- Share a Payment URL accessible via smartphone, tablet or computer.
Configuring PoS
Customize your sales interface
-
Application name** (internal management name, can be changed at any time).
-
Display title** (what your customers will see at the top of the page).
-
Point of sale style** (Description mode is suitable for services such as haircuts or meals, while Product catalog mode is ideal for stores offering several items).
-
Display currency** (choose XOF, EUR or USD according to your usual prices).
-
Product list** (add your products, descriptions and prices here).
Save and test your PoS
-
BTCPay automatically generates a Bitcoin or Lightning** invoice.
-
A QR code appears on the screen.
-
Customers can scan and pay directly with their Bitcoin wallet.
Final result
-
Open from a smartphone or tablet in your store ;
-
Display on a screen for the customer to scan ;
-
Or share via a public URL, like a simplified order page.
Everyday use
Test a payment
-
Create an invoice** from your PoS interface (for example, a 1 satoshi product or a small amount).
-
Scan the on-screen QR code** using a Bitcoin or Lightning wallet (such as Phoenix, Muun or Wallet of Satoshi).
-
Validate the payment** in your wallet: the transaction is sent instantly.
-
Return to BTCPay Server**: the invoice will appear as Paid in the list.
Create an invoice for a customer
Track payments received
-
Pending**: payment not yet confirmed.
-
Paid**: payment confirmed.
-
Expired**: invoice not paid by the due date.
Refunding a customer
Reports and data export
Safety and best practices
Secure access to your server
- Use a strong password: combine upper and lower case letters, numbers and special characters. Avoid reusing an existing password.
- Activate two-factor authentication (2FA) to access your BTCPay interface.
- Regularly update your operating system, your BTCPay Server instance and your dependencies (Docker, Bitcoin node, Lightning node...). Updates often correct security vulnerabilities.
Managing and backing up private keys
- Save your private keys and seedphrases offline, on physical media (paper or metal).
- Preferably use a wallet hardware wallet.
- Keep several copies of your backups, in separate, protected physical locations.
Secure payments and confidentiality
- Use the Tor network or a VPN to hide your server's IP address and protect your privacy.
- Disable unnecessary ports on your server and restrict SSH connections to trusted addresses only.
- Activate HTTPS (SSL certificate) for all connections to your BTCPay web interface.
- Never share your administration interface with personnel not trained in Bitcoin portfolio management.
Implementing best practices for the Lightning network
- Save your Voltage node's API** login and access keys (which enable BTCPay to connect).
- Protect your Voltage account** with two-factor authentication and a strong password.
- Monitor node and channel status** from your Voltage dashboard: this helps you spot any anomalies or desynchronization.
- Avoid sharing your API** credentials or exposing them publicly (e.g. in site code).
- In the event of migration, simply reconfigure the link between BTCPay and Voltage: no channel needs to be closed manually.
Organize and structure internal procedures
- Define a clear access management policy: who can create an invoice, view payments, access the node, etc.
- Document your backup and restore procedures so you can react quickly in the event of an incident.
- Regularly test the restoration of your backups to make sure they're working properly.
- Train your staff or collaborators in basic operational security: vigilance against phishing, use of secure passwords, respect for confidentiality.
Supervise and establish ongoing maintenance
- Continuously monitor your server's activity using logging or monitoring tools.
- Schedule a periodic security review: check updates, access, backups and transaction consistency.
Author
This tutorial has been written by Béni-Christ
You can say thanks by tipping the professor.
Hello! I am a frontend developer, with a curious mind and a passion for learning. Since 2024, I have been interested in finance, blockchain, and Bitcoin. Now, I want to take the next step: sharing my knowledge and contributing to projects that connect technology and education.
Credits
This tutorial has not been proofread yet
The original content has been translated by AI, but human review is necessary to ensure its accuracy.
4 379 sats2 190 sats1 095 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.



