Research/Lightning

Lightning at the Point of Sale: How Bitcoin Payments Work in Physical Retail

How Lightning-enabled point-of-sale terminals work, where they're deployed, and the UX challenges of in-person Bitcoin payments.

bcTanjiOct 5, 2026

Paying for coffee with Bitcoin sounds simple. In practice, it requires hardware that can generate invoices, software that can route payments through the Lightning Network, and a settlement flow that gives the merchant the same confidence as a card tap. Lightning-enabled point-of-sale terminals bridge this gap: they translate a merchant's fiat-denominated price into a Lightning invoice, collect payment in seconds, and optionally convert to local currency before the customer walks out the door.

This article covers the hardware and software landscape for Lightning POS systems, the payment flow from scan to settlement, real-world deployments from El Salvador to Europe, and the UX challenges that still separate Bitcoin payments from the card experience merchants and customers expect.

How a Lightning POS Payment Works

A Lightning point-of-sale payment follows a consistent flow regardless of the specific hardware or software involved. The merchant enters the sale amount in local currency. The POS software converts that amount to satoshis using a real-time exchange rate, then generates a BOLT 11 invoice or a LNURL-pay request. The customer either scans a QR code displayed on the terminal screen or taps an NFC-enabled device against the terminal.

Once the customer's wallet sends the payment, it routes through the Lightning Network via one or more hops, secured by HTLCs (hash time-locked contracts) at each step. When the final hop reaches the merchant's node, the payment preimage is revealed, proving delivery. The entire process typically completes in under three seconds for well-connected nodes.

QR Code vs NFC Tap

Most Lightning POS systems default to displaying a QR code that encodes the invoice. The customer opens their wallet app, scans the code, confirms the amount, and sends. This adds 5 to 15 seconds compared to a contactless card tap, mostly due to the steps of unlocking a phone, opening the wallet app, and scanning.

NFC-based approaches close this gap. NFC Lightning cards (sometimes called Bolt Cards) use the LNURL-withdraw protocol embedded on an NFC tag. The customer taps the card against a reader, and the POS terminal pulls a payment from the card's linked wallet without the customer needing to open an app. This brings the experience closer to a standard contactless card payment, completing in roughly two to four seconds.

How Bolt Cards work: A Bolt Card is a standard NFC card programmed with an LNURL-withdraw endpoint. When tapped, the POS reader reads the card's NFC tag, which returns a one-time-use withdrawal URL. The merchant's system calls that URL to pull the payment from the customer's custodial Lightning wallet. Each tap generates a unique URL, preventing replay attacks.

Invoice Encoding and Expiry

BOLT 11 invoices encode the payment amount, destination node public key, payment hash, and an expiry time (typically 60 seconds to 10 minutes for POS scenarios). The QR code encodes this data as a string prefixed with lnbc for mainnet. Some POS systems use LNURL-pay instead, which provides a static endpoint the customer's wallet queries to fetch a fresh invoice, allowing the merchant to reuse a single QR code or NFC tag across multiple transactions.

Newer systems are adopting BOLT 12 offers, which enable reusable payment requests without relying on a web server. BOLT 12 uses onion messages for invoice delivery, improving privacy compared to LNURL's HTTPS-based approach.

The Lightning POS Software Landscape

Several open-source and commercial platforms power Lightning payments at physical retail locations. Each takes a different approach to node management, custody, and merchant tooling.

BTCPay Server

BTCPay Server is the most widely deployed open-source Bitcoin payment processor. Its built-in Point of Sale app lets merchants create a product catalog, generate per-transaction Lightning invoices, and track payment status in real time. BTCPay Server is self-hosted: the merchant (or a service provider) runs their own instance, which connects to their own Lightning node via LND, Core Lightning, or an integrated Greenlight instance.

The POS app supports customizable product buttons, tips, and denomination in any fiat currency. It runs in a web browser, meaning any tablet, phone, or terminal with a browser can become a POS device. BTCPay Server charges no transaction fees beyond the Lightning routing fees, which are typically fractions of a cent.

Breez POS Mode

Breez offers a non-custodial mobile wallet with a dedicated POS mode designed for small merchants. A business owner downloads the Breez app, switches to POS mode, and creates a simple menu of products and prices. When a customer pays, the payment goes directly to the merchant's own Lightning node, with Breez handling channel management through their LSP (Lightning Service Provider) infrastructure. The Breez SDK also allows third-party developers to embed this POS functionality into their own applications.

CoinCorner Checkout and Bolt Cards

CoinCorner, a UK-based Bitcoin company, offers a dedicated merchant checkout system and was an early promoter of NFC-based Lightning payments through the Bolt Card standard. Their checkout system integrates with existing POS hardware and supports both QR and NFC-tap payments. CoinCorner has deployed Bolt Card terminals across the Isle of Man, parts of the UK, and select European locations. The company provides the NFC cards themselves, each pre-programmed with an LNURL-withdraw endpoint linked to the customer's CoinCorner account.

IBEX Pay

IBEX Pay (formerly IBEX Mercado) focuses on Central American markets, providing Lightning payment infrastructure for merchants in El Salvador, Guatemala, and Honduras. IBEX handles the Lightning node operation, fiat conversion, and bank settlement on behalf of the merchant. Their system supports instant conversion to US dollars or local currency, addressing the volatility concern that prevents many merchants from holding Bitcoin directly.

Other Notable Platforms

The ecosystem includes several additional options. Strike offers merchant payment acceptance with instant fiat conversion, used notably in El Salvador and the United States. Galoy (which powers the Blink wallet) provides open-source Bitcoin banking infrastructure that was deployed at Bitcoin Beach in El Zonte, El Salvador. Swiss Bitcoin Pay focuses on the Swiss and European market, providing a simple merchant checkout app with automatic fiat conversion in Swiss francs and euros.

PlatformCustody ModelFiat ConversionPrimary Markets
BTCPay ServerSelf-hosted (merchant runs node)Via plugins or manualGlobal
Breez POSNon-custodial (user node via LSP)Not built-inGlobal
CoinCornerCustodialAutomatic (GBP, EUR)UK, Europe
IBEX PayCustodialAutomatic (USD, local currency)Central America
StrikeCustodialAutomatic (USD)US, El Salvador
Swiss Bitcoin PayCustodialAutomatic (CHF, EUR)Switzerland, Europe
Galoy / BlinkCustodial (community banking)USD-denominated accountsEmerging markets

Real-World Deployments

El Salvador: The Largest National Experiment

El Salvador became the first country to adopt Bitcoin as legal tender in September 2021 under the Bitcoin Law. The government launched the Chivo wallet and installed Chivo ATMs nationwide. Large chains including McDonald's, Starbucks, and Pizza Hut began accepting Bitcoin through Chivo's integration. The Bitcoin Beach community in El Zonte, which preceded the national rollout, served as the proving ground where the Galoy-powered Bitcoin Beach Wallet demonstrated that Lightning could work for everyday purchases in a local economy.

Adoption outcomes have been mixed. A 2023 survey by the National Bureau of Economic Research found that while Chivo downloads surged after launch, sustained usage dropped significantly: most users transacted only to claim the $30 sign-up bonus. Merchant acceptance remained uneven, with large chains maintaining integration while smaller businesses often reverted to cash. By 2024, the government had softened the legal-tender mandate, making Bitcoin acceptance voluntary rather than required. The experience highlighted a critical lesson: mandating acceptance does not guarantee sustained use without addressing volatility, connectivity, and merchant training.

Bitcoin Beach and Community Adoption

El Zonte's Bitcoin Beach project, launched in 2019, demonstrated a bottom-up adoption model. Rather than a government mandate, a community organizer introduced Bitcoin payments gradually, starting with local vendors and surf shops. The project used the Bitcoin Beach Wallet (built on Galoy's open-source platform) with USD-denominated accounts: merchants saw dollar amounts while transacting over Lightning. This addressed the volatility concern at the application layer. The model has since been replicated in communities across Costa Rica, Guatemala, South Africa, and Senegal.

European Merchant Adoption

Europe has seen steady organic growth in Lightning POS adoption, particularly in Switzerland, the Czech Republic, and Portugal. Switzerland's city of Lugano partnered with Tether in 2022 to make Bitcoin and USDT accepted across city services and participating merchants, deploying hundreds of POS terminals. The Czech Republic has one of the highest per-capita concentrations of Bitcoin-accepting businesses in Europe, with the community project BTC Map listing thousands of merchants globally that accept Lightning payments. Einundzwanzig, the German-speaking Bitcoin community, has organized merchant onboarding events across Germany, Austria, and Switzerland, primarily using BTCPay Server and Swiss Bitcoin Pay.

BTC Map as a discovery tool: BTC Map is a community-maintained, open-source map of businesses accepting Bitcoin. As of 2025, it lists over 10,000 verified locations worldwide, with tags indicating whether a merchant supports on-chain payments, Lightning, or both. Merchants can self-list or be added by community members, making it the most comprehensive directory for finding places to spend Bitcoin in person.

Cost Comparison: Lightning vs Card Terminals

The economics of Lightning payments differ fundamentally from card payments. Traditional card processing involves multiple intermediaries, each taking a cut. Merchant payment acceptance costs on card networks typically include an interchange fee paid to the issuing bank, a network assessment fee paid to Visa or Mastercard, and a processor markup. Lightning eliminates all three.

Cost ComponentCard Payment (US Average)Lightning Payment
Interchange fee1.5% to 3.5% of transactionNone
Network assessment0.13% to 0.15%None
Processor markup0.1% to 0.5% plus per-txn feeVaries by platform (0% to 1%)
Routing feesN/ALess than $0.01 typically
Hardware cost$200 to $800 per terminalAny device with a screen ($0 if using existing hardware)
Monthly fees$10 to $100+$0 (self-hosted) to $30+
Settlement time1 to 3 business daysInstant (seconds)
Chargeback riskYes (merchant liability)None (payments are final)
Effective total cost (on a $50 sale)$0.85 to $2.10Less than $0.01 to $0.50

For a merchant processing $10,000 per month in sales, card processing fees typically range from $170 to $350. With a self-hosted Lightning solution like BTCPay Server, the equivalent cost could be under $5 in routing fees plus server hosting costs. Even custodial Lightning platforms with a 1% fee would cost $100: still below card rates. The absence of chargebacks provides additional savings, particularly for industries with high dispute rates like food service and hospitality.

UX Challenges at the Register

Despite lower fees and faster settlement, Lightning POS payments face real usability gaps compared to card payments. These challenges explain why adoption has been gradual even where the economic case is clear.

Speed and Familiarity

A contactless card payment completes in under two seconds with a single tap. A QR-based Lightning payment requires the customer to unlock their phone, open a wallet app, scan the code, review the amount, and confirm. Even when everything works perfectly, this takes 10 to 15 seconds. NFC Bolt Cards reduce this to 3 to 5 seconds, but require the customer to have acquired and set up a dedicated card. For most consumers, the card-and-PIN or card-and-tap flow is deeply habitual, and any additional steps feel like friction.

Internet Dependency

Lightning payments require both the merchant and the customer to have internet connectivity. Card terminals also need connectivity in most cases, but many support offline authorization for small amounts with settlement batched later. Lightning has no equivalent offline mode: the payment routing must happen in real time. This is a meaningful limitation in rural areas, at outdoor markets, or in regions with unreliable connectivity. Some POS solutions mitigate this by maintaining a cellular backup connection, but packet loss or high latency can still cause payment failures and timeouts.

Staff Training

Card terminals are self-explanatory for retail staff. Lightning POS systems introduce new concepts: generating invoices, confirming payment status, handling expired invoices, and troubleshooting failed payments. When a Lightning payment fails (due to routing issues, insufficient inbound liquidity, or an expired invoice), a cashier needs to know how to regenerate the invoice or offer an alternative payment method. Training staff across multiple shifts adds an operational cost that simple economic comparisons often overlook.

Volatility and Accounting

Merchants who accept Bitcoin face exchange-rate risk between the time of sale and the time they convert to fiat (if they choose to convert). Custodial platforms like Strike and IBEX Pay mitigate this with instant conversion: the merchant receives fiat, and the platform handles the exchange. Self-hosted solutions like BTCPay Server leave the merchant exposed unless they configure automatic conversion through a plugin or exchange API.

Accounting adds another layer of complexity. Bitcoin-denominated revenue must be tracked at the point-of-sale exchange rate for tax purposes in most jurisdictions. POS platforms that handle this automatically (exporting transaction logs with fiat equivalents) reduce the burden, but many merchants still need dedicated crypto tax reporting tools to reconcile their books.

Payment Failure Modes

Lightning payments can fail for reasons that don't exist in card processing: no viable route to the merchant's node, insufficient channel capacity along the path, or a timeout during pathfinding. When a payment fails, the customer's funds are not debited (HTLCs ensure atomicity), but the experience is disruptive at a checkout counter with a line forming behind. Larger payments are more likely to fail because they require channels with sufficient capacity along the entire route. Multi-path payments (MPP) mitigate this by splitting a payment across several routes, but not all wallets and merchant nodes support MPP reliably.

What Makes a Good Lightning POS Experience

Deployments that work well share several characteristics. The POS software should abstract away Lightning internals entirely: the merchant sees only fiat amounts, payment status (pending, confirmed, failed), and daily totals. The Lightning Service Provider behind the system should manage channel liquidity automatically, ensuring the merchant's node can always receive payments without manual intervention. And the checkout experience should minimize steps: static LNURL endpoints or BOLT 12 offers that allow the same QR code to be displayed persistently, with per-payment invoices fetched automatically when the customer's wallet queries the endpoint.

The most successful deployments also provide instant fiat conversion, eliminating volatility risk, and integrate with existing accounting systems so that Bitcoin sales appear alongside card and cash transactions in the merchant's end-of-day reports.

How Spark Improves the POS Equation

Several of Lightning's POS friction points stem from its channel-based architecture: liquidity management, routing failures, and the requirement for both parties to be online. Spark, a Bitcoin Layer 2 built on statechains, addresses these directly. Spark transfers settle instantly without routing through a channel network, eliminating pathfinding failures. There is no concept of inbound or outbound liquidity to manage. And Spark supports offline receiving: a merchant's POS could accept payments even during brief connectivity interruptions, with the Spark Service Provider holding the payment until the merchant comes back online.

For developers building POS applications, the Spark SDK provides a simpler integration surface than running a full Lightning node. Because Spark is natively interoperable with Lightning, a Spark-powered POS terminal can accept payments from any Lightning wallet while avoiding the channel management overhead on the merchant side. Combined with sub-cent fees and instant finality, Spark offers the speed and cost profile that merchants need to compete with card terminals on user experience.

Wallets like General Bread already demonstrate this approach: a Spark-powered wallet that can send and receive Lightning payments without the user managing channels or worrying about liquidity. The same architecture extends naturally to merchant-facing POS applications.

The Road Ahead

Lightning POS adoption is growing, but it remains a fraction of global payment terminal volume. The gap is not primarily technical: Lightning works, and the fee economics are compelling. The barriers are distribution (getting POS software onto merchant hardware), onboarding (making it as easy to set up as a Square reader), and consumer wallet penetration (giving enough customers the ability to pay). For deeper analysis of where Bitcoin merchant payments stand today, see the Bitcoin merchant payments guide.

Emerging standards like BOLT 12 will simplify the merchant experience with reusable payment requests that work without a web server. NFC tap-to-pay is becoming more standardized through Bolt Card implementations. And Layer 2 protocols like Spark that eliminate channel management could make it practical for any app developer to embed a Lightning-compatible POS in minutes rather than days. The technology is ready. The challenge now is making it invisible.

This article is for educational purposes only. It does not constitute financial or investment advice. Bitcoin and Layer 2 protocols involve technical and financial risk. Always do your own research and understand the tradeoffs before using any protocol.