Every existing Bitcoin payment option for Shopify has the same problem: someone else holds your money. BTCPay Server is self-custodial but requires you to run your own infrastructure. Strike and OpenNode are custodial. BitPay takes 1% and makes you KYC.
I built lnbits-shopify to fix this. It connects your Shopify store to your own LNbits wallet. Payments go directly to you. No middleman. No custody risk. No monthly fees.
How It Works
- Customer selects "Pay with Bitcoin (Lightning)" at checkout
- On the thank-you page, a banner prompts them to complete payment
- They see a Lightning invoice with QR code and wallet deep link
- They pay with any Lightning wallet
- The order is automatically captured when payment confirms
The entire flow takes under 10 seconds. No page reloads. Real-time payment detection via polling.
The Stack
Express server handles OAuth, settings, and the checkout flow. A Shopify checkout UI extension renders the payment banner on the thank-you page. SQLite stores merchant configs and payment records. The LNbits REST API creates invoices and checks payment status.
Customer → Shopify Checkout → Thank-you page
→ Extension shows "Pay with Bitcoin" banner
→ Server creates LNbits invoice
→ QR code + wallet deep link
→ Customer pays
→ Server detects payment → Order captured
Self-Custodial Advantage
The key difference: you configure YOUR LNbits instance URL and API key. Payments land in YOUR wallet instantly. Works with legend.lnbits.com, any self-hosted LNbits instance, or even lnbits.klabo.world.
83% of merchants expect crypto payment demand but only 4% currently accept it. The gap isn't demand — it's tooling. Nobody wants to hand custody to a third party or run a full BTCPay Server just to accept Lightning.
BTC Price Conversion
Most Shopify stores price in fiat. The server fetches the BTC/USD rate from mempool.space (cached 5 minutes) and converts the order total to sats. The customer sees both the sat amount and the original fiat price.
Get It
Source code: github.com/joelklabo/lnbits-shopify
18 tests. MIT license. Zero dependencies beyond Express and better-sqlite3.
If you run a Shopify store and want to accept Lightning payments without giving up custody, this is for you.