Payment Tools

Payment Tools

Using BTCPay Server as a Canadian Merchant

A plain-English guide to BTCPay Server for Canadian merchants: how it works, hosting options, FINTRAC considerations, and CAD price-locking at checkout.

Using BTCPay Server as a Canadian Merchant

Most hosted bitcoin payment processors sit between you and your customer's payment. They hold funds briefly, require identity verification from merchants, and charge a percentage or flat fee on every transaction. BTCPay Server works differently. It is open-source software you run yourself, so the payment flows directly from your customer's wallet to yours, with no intermediary in between.

For Canadian merchants weighing their options, that distinction matters for a few reasons: fee structure, KYC obligations on the processor side, control over customer data, and how the software handles CAD pricing at checkout. This guide covers how BTCPay Server operates, where you can host it in or near Canada, and the practical trade-offs compared to using a hosted service.

What BTCPay Server Does Under the Hood

BTCPay Server is a payment processor in the same functional sense as PayPal or Stripe, except it runs on infrastructure you control. When a customer reaches your checkout, BTCPay Server generates a unique Bitcoin address for that order and displays a payment invoice with a QR code, an amount denominated in your chosen currency, and a countdown timer.

Behind that invoice, BTCPay Server is watching the Bitcoin blockchain. When a transaction appears at the generated address, it fires a webhook to your store software (WooCommerce, Shopify via a plugin, a custom API integration, or BTCPay's own built-in point-of-sale) to mark the order as paid. You configure how many on-chain confirmations you want before the webhook fires; zero-confirmation is fast but carries some risk of replacement, while one or more confirmations give you stronger finality.

The software also supports the Lightning Network, which lets customers pay instantly with no on-chain fee for small amounts. Setting up Lightning requires running a Lightning node alongside BTCPay Server, which adds operational complexity, but for merchants doing high volumes of small transactions it can be worthwhile.

Because BTCPay Server generates a fresh address for each invoice, it integrates with HD (hierarchical deterministic) wallets. You connect your xpub key during setup; BTCPay Server derives new addresses from it without ever having access to your private keys. That is the core of the non-custodial design: the software processes payments but cannot move your funds.

If you want to understand how this approach compares to processors that hold funds on your behalf, custodial vs self-custodial bitcoin payment tools explains the difference in detail. And if you are deciding whether to use a processor at all versus just publishing a wallet address, bitcoin payment gateways vs direct wallet payments covers the trade-offs.

Hosting Options for Canadian Merchants

BTCPay Server requires a server that runs continuously. Your options fall into three broad categories.

Virtual private servers (VPS). BTCPay Server publishes a one-click deployment script that works on any Debian or Ubuntu server. Common choices include DigitalOcean, Linode (Akamai Cloud), and Vultr. For Canadian merchants who prefer data residency within Canada, both DigitalOcean and OVHcloud operate data centres in Toronto, and Hetzner has an Ashburn, Virginia option that some businesses use as a near-border alternative. The minimum recommended specs are roughly 2 vCPUs and 8 GB RAM if you plan to run a Bitcoin full node alongside BTCPay Server, though you can reduce that by connecting to an external Electrum server instead of syncing the full chain locally.

Canadian cloud providers. Vendors such as Cloudflare Spectrum, Canaca, and Limestone Networks offer Canadian-based hosting. BTCPay Server will run on any Linux VPS, so the choice of provider is mostly about data residency, latency, and support language preferences rather than any BTCPay-specific requirement.

Managed BTCPay hosting. Voltage is a well-known option that hosts BTCPay Server for you on a subscription basis, abstracting away server management. This narrows the gap between BTCPay Server and a fully hosted processor in terms of operational overhead, though it does mean trusting a third party with your node availability (not your funds, since you still hold the private keys via your connected wallet). LunaNode is another provider that offers a one-click BTCPay Server deployment with pricing billed in Canadian dollars.

The full-node sync is the most time-consuming part of initial setup; the Bitcoin blockchain is several hundred gigabytes and can take days to sync from scratch on a standard VPS. Some merchants connect to an existing Electrum server or use a pruned node to reduce storage requirements, accepting some trade-offs in validation completeness.

Technical Complexity vs a Hosted Processor

BTCPay Server is not a service you sign up for with an email address. It is software you deploy, maintain, and monitor. That is the source of both its advantages and its main practical limitation.

On the advantage side: no KYC is required from you as the merchant to start accepting payments. There are no per-transaction fees beyond normal Bitcoin network fees paid by your customers. No third party can freeze your account or reverse a settlement. And because the software is open source, anyone can audit the code.

On the complexity side: you are responsible for keeping the server updated, monitoring uptime, and handling backups. A server outage during checkout means customers cannot pay. Connecting BTCPay Server to an e-commerce platform like WooCommerce requires installing a plugin and configuring a webhook; it works well but involves more steps than signing up for a hosted gateway. For a merchant who wants to add a bitcoin payment button to their website with minimal configuration, a hosted option may be faster to get running.

The question of which approach suits a given business usually comes down to transaction volume, technical capacity, and how much the merchant values control over convenience. Businesses with a developer on staff or in-house technical resources are better positioned to self-host. A sole proprietor running a small online shop may find the maintenance burden significant relative to the fees saved.

FINTRAC Obligations and CAD Price-Locking

Two questions come up often for Canadian merchants considering BTCPay Server: whether running it triggers FINTRAC registration, and how to lock prices in Canadian dollars when Bitcoin's exchange rate moves constantly.

On the FINTRAC question, the general framing is this: FINTRAC's money services business (MSB) registration requirements apply to businesses that deal in virtual currency as a service to others, not to merchants who simply accept bitcoin as payment for goods or services. A retailer accepting bitcoin at checkout is in a different position from an exchange or a business that transfers bitcoin on behalf of customers. That said, regulations can change, the line between categories is not always obvious, and the consequences of misclassification matter. Verifying your specific situation with a lawyer familiar with Canadian financial regulation is worth doing before you scale up.

BTCPay Server itself does not perform currency conversion. When a customer checks out, BTCPay Server calls a price feed (you configure which one during setup, with options including CoinGecko and various exchanges) to convert your CAD price into a bitcoin amount at that moment. The invoice locks that bitcoin amount for the duration of the countdown timer, typically ten to fifteen minutes. If the customer pays within the window, you receive that amount of bitcoin regardless of any price movement during checkout. The risk of price movement sits between when you receive the bitcoin and when you convert it to CAD, if you choose to convert at all.

For merchants who want to avoid holding bitcoin exposure entirely, the workflow is to convert incoming bitcoin to CAD via an exchange like Kraken or Newton after each settlement. That conversion is a separate step BTCPay Server does not handle automatically in the self-hosted version (some third-party integrations exist), so it adds operational process. For more on how this fits into broader store setup, accepting bitcoin for your online store covers the end-to-end workflow.

Frequently Asked Questions

Does BTCPay Server require KYC from the merchant?

No. Because BTCPay Server is software rather than a financial service, there is no sign-up process that involves identity verification. You download or deploy the software and connect your own wallet. Your customers do not go through any KYC process at the BTCPay level either. Keep in mind that if you use an exchange to convert bitcoin to CAD after settlement, that exchange will have its own KYC requirements.

Can BTCPay Server generate invoices in Canadian dollars?

Yes. You set your store currency to CAD in the BTCPay Server settings. At checkout, the invoice displays the price in CAD alongside the equivalent bitcoin amount calculated at the current rate from your configured price feed. The bitcoin amount is locked for the invoice duration.

How much does it cost to run BTCPay Server?

The software itself is free. Your costs are server hosting (a basic VPS starts around $5 to $20 USD per month depending on provider and specs) and Bitcoin on-chain fees, which are paid by the customer and vary with network congestion. There are no transaction fees collected by BTCPay Server.

What happens if my BTCPay Server goes down?

If the server is offline when a customer tries to pay, the invoice will not load and the payment cannot proceed. Customers do not lose funds; they simply cannot complete the transaction until the server is back up. This is why uptime monitoring and regular backups are part of operating BTCPay Server responsibly. Managed hosting options like Voltage handle uptime and maintenance on your behalf.

Is BTCPay Server legal to use in Canada?

Accepting bitcoin as payment for goods and services is legal in Canada. Using open-source self-hosted software to process those payments does not, on its own, create a regulatory issue. As noted above, whether your specific business model triggers FINTRAC MSB registration depends on the nature of your activities. The CRA treats bitcoin received as business income at its fair market value on the date received, and that amount is taxable. Rules can change; confirm current requirements with a tax professional or consult CRA guidance directly.

← Back to all guides