LNbits vs BTCPay Server: Self-Hosted Bitcoin Payment Comparison
Compare LNbits and BTCPay Server for self-hosted Bitcoin and Lightning payments. Features, plugins, setup complexity, POS, and resource requirements side by side.
LNbits vs BTCPay Server Overview
LNbits and BTCPay Server are the two leading open-source platforms for self-hosted Bitcoin and Lightning payment acceptance. Both are MIT-licensed, non-custodial, and free to use. But they solve fundamentally different problems: LNbits is a lightweight accounting layer that creates virtual sub-wallets on top of an existing Lightning funding source, while BTCPay Server is a full-stack merchant payment processor that runs its own Bitcoin Core node and Lightning implementation.
Choosing between them depends on whether you need a quick Lightning wallet system (LNbits) or a complete merchant payment infrastructure with on-chain support (BTCPay Server). The table below summarizes the core differences.
| Feature | LNbits | BTCPay Server |
|---|---|---|
| Primary role | Lightning wallet accounts system | Full merchant payment processor |
| On-chain Bitcoin support | No (Lightning-only) | Yes (on-chain + Lightning) |
| Setup time | Minutes (SaaS) to ~1 hour (self-hosted) | Hours to days (full node sync required) |
| Bitcoin node required | No | Yes (Bitcoin Core) |
| Minimum RAM | 1 GB | 2 GB (4+ GB recommended) |
| Minimum storage | ~1 GB (no blockchain data) | 80+ GB (pruned node) |
| Extensions / plugins | 50+ extensions | 71 plugins |
| Multi-tenant model | Sub-wallets from one funding source | Isolated stores with separate xpubs |
| Hosting cost | ~$5/mo VPS or 21 sats/hr SaaS | $7-30/mo (LunaNode / Voltage) |
| Language | Python (FastAPI) | C# (ASP.NET) |
| License | MIT | MIT |
| Current version | v1.6.2 | v2.4.4 |
For a comparison of BTCPay Server against hosted payment processors, see our BTCPay vs OpenNode comparison.
Architecture and Accounting Model
The most important difference between LNbits and BTCPay Server is how they handle funds. LNbits operates as an accounting layer on top of a single Lightning funding source. When a user creates a wallet in LNbits, it receives a virtual balance tracked in an internal database (SQLite or PostgreSQL): no new channels open, no new UTXOs are created. All sub-wallets draw from the same underlying node's liquidity. This design makes LNbits extremely lightweight but means the operator bears custodial responsibility for all sub-wallet balances.
BTCPay Server takes a different approach. Each store on a BTCPay instance can have its own extended public key (xpub), generating unique on-chain addresses for every invoice. Lightning payments route to the store's configured node. The admin of a BTCPay instance cannot access other stores' private keys. This isolation makes BTCPay suitable for hosting multiple independent merchants on a single server without commingling funds.
Lightning Backend Support
Both platforms support multiple Lightning implementations, but LNbits offers significantly more backend options because it treats any Lightning source as a funding endpoint.
LNbits supports 20+ funding sources: local node connections via LND (gRPC and REST), Core Lightning (CLNRest and native RPC), Eclair, and Phoenixd, plus hosted services like OpenNode, Alby, Strike, Blink, ZBD, and LNPay. It also supports Nostr Wallet Connect (NWC), Breez SDK, and Boltz for submarine swap-based funding.
BTCPay Server supports LND, Core Lightning, Eclair, and Phoenixd as primary backends, with additional options available through plugins: Blink (custodial), Breez/Greenlight, and NWC via the OpenReceive plugin. BTCPay's tighter integration means the Lightning node is managed alongside Bitcoin Core within its Docker deployment stack.
Extension and Plugin Ecosystems
Both projects have invested heavily in extensibility. LNbits ships with 50+ extensions in its marketplace, ranging from point-of-sale terminals and NFC card support to Cashu ecash mints, event ticketing, jukebox controllers, paywalls, and split-payment systems. Version 1.6.0 introduced WASM extensions: sandboxed modules that third-party developers can write and share without requiring server-level access.
BTCPay Server's official plugin directory lists 71 plugins. These include e-commerce integrations (Shopify, BigCommerce, WooCommerce, Drupal), altcoin support (Monero, Liquid), payment tools (Arkade, GNU Taler), and marketplace connectors (Ghost, Shopstr). BTCPay's 2025 roadmap made plugins the primary delivery mechanism for new features, decoupling plugin releases from core server updates.
| Capability | LNbits | BTCPay Server |
|---|---|---|
| E-commerce integrations | Limited (API-driven) | Shopify, WooCommerce, Drupal, BigCommerce |
| NFC / Bolt Cards | Bolt Cards extension + LNPoS hardware kit | BoltCards plugin with at-scale issuance |
| Ecash minting | Cashu extension built-in | Not natively supported |
| Point-of-sale | TPoS (browser-based, shareable URL) | Built-in POS app (cart, categories, refunds) |
| Invoicing | Basic (via API keys) | Full invoicing with refunds and reporting |
| Subscription billing | Community extensions | Built-in subscriptions (v2.3+) |
| Altcoin support | Lightning-only | Monero, Liquid, and others via plugins |
| WASM extensions | Yes (v1.6.0+) | No |
| Accounting / reporting | CSV export per wallet | Built-in reporting with Miniscript support |
Point-of-Sale and NFC Payments
Both platforms support in-person Bitcoin payments through LNURL protocols and NFC-enabled Bolt Cards.
LNbits offers the TPoS extension: a browser-based POS terminal accessible via a shareable URL. Store owners can create a TPoS link and hand it to an employee without giving them access to the Lightning node or admin panel. The Bolt Cards extension enables NFC tap-to-pay using NTAG424 cards programmed with LNURL-withdraw credentials. LNbits also sells the LNPoS, a DIY hardware terminal built on ESP32 that pairs with the LNURLDevice extension.
BTCPay Server's built-in POS app is more feature-rich for traditional retail: it supports product categories, cart management, transaction history for cashiers, and refund workflows. Its BoltCards plugin handles NFC card issuance at scale, with auto-tap functionality that skips the confirmation button when the browser has NFC permissions. BTCPay set a Guinness World Record in May 2025 by processing 4,187 crypto POS transactions in eight hours at the Bitcoin Conference in Las Vegas.
Both platforms support LNURL-pay, LNURL-withdraw, and LNURL-auth natively, along with human-readable Lightning Addresses.
Multi-Tenant and Multi-User Support
LNbits is designed from the ground up as a multi-user system. A single LNbits instance can serve unlimited users, each with their own wallets, API keys, and extension configurations. Authentication supports username/password, User ID, Nostr pubkey (NIP-98), and OAuth providers (Google, GitHub, Keycloak). Each wallet has a three-tier API key system: admin key (full control), invoice key (create invoices only), and read-only key.
BTCPay Server supports unlimited stores per instance, each functioning as an isolated tenant. Multiple users can access the same store with different permission levels, and a single user can manage multiple stores. The key difference: BTCPay stores have real cryptographic isolation via separate xpubs, while LNbits wallets share a common funding source with balances tracked in the application database.
Setup and Resource Requirements
LNbits requires minimal infrastructure: 1 vCPU, 1-2 GB RAM, and no blockchain data. It connects to an existing Lightning node or hosted service, so there is no initial block download or chain sync. A fresh LNbits install on a $5/month VPS can be operational within an hour. LNbits also offers a managed SaaS option at my.lnbits.com (21 sats per hour) and a plug-and-play hardware device (the LNbitsBox).
BTCPay Server has heavier requirements because it bundles Bitcoin Core, a Lightning node, NBXplorer (blockchain indexer), and PostgreSQL within a Docker stack. Minimum specs are 2 GB RAM and 80 GB SSD for a pruned Bitcoin node. The recommended configuration for e-commerce use is 4 CPUs, 8 GB RAM, and an SSD. Initial blockchain sync can take hours to days depending on hardware. Third-party hosts like LunaNode ($7-14/mo) and Voltage ($10-30/mo) provide pre-synced instances that skip the setup overhead.
For merchants already running a Bitcoin node, BTCPay Server adds relatively little overhead. For those without existing infrastructure, LNbits gets to production faster.
When to Choose LNbits
LNbits is the better fit when the primary goal is distributing Lightning access across users, building Lightning-powered applications, or running a lightweight tipping or voucher system. Specific use cases include:
- Giving employees, family members, or community members isolated Lightning wallets from a single node
- Running a Cashu ecash mint backed by Lightning
- Deploying an event ticketing or jukebox system powered by Lightning micropayments
- Building custom apps using LNbits' REST API and webhook system
- Operating NFC tap-to-pay terminals with minimal infrastructure
LNbits pairs well with platforms like Spark, which brings Lightning-compatible payments to Bitcoin's second layer. Operators looking to offer sub-wallets denominated in stablecoins like USDB can connect Spark as a funding source to serve users who prefer dollar-denominated balances without leaving the Bitcoin ecosystem.
When to Choose BTCPay Server
BTCPay Server is the better fit for merchants who need a complete payment processing stack with on-chain support, e-commerce integrations, and professional invoicing. Specific use cases include:
- Running an online store with WooCommerce, Shopify, or Drupal integration
- Accepting both on-chain Bitcoin and Lightning payments
- Hosting multiple independent merchants on a single server with cryptographic fund isolation
- Generating accounting reports, handling refunds, and managing subscription billing
- Replacing third-party payment processors to eliminate processing fees
For a broader view of Bitcoin merchant payment options, see our Bitcoin merchant payments guide.
Running Both Together
LNbits and BTCPay Server are not mutually exclusive. A common deployment pattern uses BTCPay Server as the primary merchant payment processor and connects LNbits to the same LND or CLN node as a sub-wallet layer. This gives the operator BTCPay's invoicing and e-commerce features alongside LNbits' flexible wallet management and extension ecosystem.
BTCPay Server also ships an LNDHub-compatible plugin, which lets users connect mobile wallets (like Zeus or BlueWallet) to their BTCPay Lightning node: a capability that overlaps with LNbits' LNDHub extension.
Security Considerations
Both platforms are open-source and auditable, but they carry different risk profiles. LNbits operators are effectively custodians of all sub-wallet balances: if the server is compromised, the attacker gains access to the funding source's full balance. Operators should restrict admin access, use strong authentication, and keep the funding source balance limited to operational needs.
BTCPay Server experienced a critical security incident in August 2026 when a vulnerability in versions before 2.4.2 allowed unauthenticated attackers to obtain LND admin macaroon files, leading to fund theft from Lightning nodes. The issue was actively exploited before disclosure and was patched in v2.4.2, with additional hardening in v2.4.4. This incident underscores the importance of keeping self-hosted payment infrastructure updated and monitoring security advisories.
For both platforms, standard security practices apply: run behind a reverse proxy with TLS, restrict network access to admin endpoints, keep software updated, and back up databases and channel states regularly. Understanding payment gateway security is essential for any self-hosted deployment.
Frequently Asked Questions
Can LNbits work without running a Bitcoin full node?
Yes. LNbits connects to an existing Lightning funding source and does not require a local Bitcoin full node. You can use a hosted Lightning service (OpenNode, Alby, Strike), a remote LND or CLN node, or even Nostr Wallet Connect. This is the primary advantage over BTCPay Server for operators who want minimal infrastructure.
Does BTCPay Server charge any transaction fees?
No. BTCPay Server charges zero processing fees. You pay only the standard Bitcoin network fees for on-chain transactions and Lightning routing fees for Lightning payments. There is no per-transaction percentage or monthly subscription charged by BTCPay itself.
Which platform is better for a small brick-and-mortar shop?
For a single small shop accepting Lightning payments, LNbits is typically faster to deploy. The TPoS extension provides a browser-based register that works on any phone or tablet. For shops that also need on-chain payments, product catalogs, and integration with existing e-commerce systems, BTCPay Server's built-in POS app offers more features despite the heavier setup.
Can I run LNbits and BTCPay Server on the same machine?
Yes. A common setup runs BTCPay Server's Docker stack (including LND or CLN) and installs LNbits separately, connecting it to the same Lightning node. This requires at least 4 GB RAM and adequate storage for the Bitcoin blockchain. The two applications serve different purposes and do not conflict.
Is LNbits custodial?
It depends on the deployment. When a single operator runs LNbits and creates wallets for other users, those users trust the operator with their balances: the operator controls the funding source. This is functionally custodial. When a user runs their own LNbits instance connected to their own node, it is self-custodial. The distinction matters for regulatory compliance and money transmitter licensing obligations.
Which has better LNURL and Lightning Address support?
Both platforms fully support LNURL-pay, LNURL-withdraw, LNURL-auth, and Lightning Addresses. LNbits added native Lightning Address support in v1.6.0. BTCPay Server supports Lightning Addresses with customizable invoice metadata. The implementations are functionally equivalent for most use cases.
How do the plugin ecosystems compare in practice?
BTCPay Server's 71 plugins lean toward e-commerce integrations and merchant tools: Shopify, WooCommerce, Stripe bridging, subscription billing. LNbits' 50+ extensions lean toward creative Lightning applications: ecash mints, jukeboxes, paywalls, split payments, event tickets. BTCPay's plugins are typically more polished for production retail. LNbits' extensions enable more experimental and community-driven use cases.
This tool is for informational purposes only and does not constitute financial advice. Data is approximate and based on publicly available information as of October 2026. Software versions, features, and hosting costs change frequently. Always verify current data on each project's official documentation before making deployment decisions.
Build with Spark
Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.
Read the docs →
