TPoS — LNbits extension
A shareable Bitcoin Lightning Point of Sale that runs directly in your browser.
No installation required — simple, fast, and safe for any employee to use.
One Checkout · Two Payment Rails with the optional
Stripe Tap-to-Pay Wrapper for Android.
Take card (fiat) via Stripe and Lightning payments side by side from a single TPoS flow.
For video content about the TPoS extension, watch the official demo.
- Overview
- Usage
- Cash Settlement & Fiat Wallet
- Receiving Tips
- LN Address Funding
- Adding Items to PoS
- OTC ATM Functionality
- Tax Settings
- Powered by LNbits
- Create invoices — instant Lightning QR invoices
- Tipping — percentages or rounding, split to a tip wallet
- Item management — products, cart, JSON import/export
- OTC ATM — LNURL withdraw limits and cooldown
- Stripe fiat payment integration — accept tap-to-pay via Stripe
- Cash settlement & fiat wallet — cash and card sales booked to a LNbits fiat wallet
- Tax settings — global/per-item, inclusive or exclusive
TPoS lets you take Lightning payments right from the browser. Every TPoS runs isolated from your main wallet for safer staff use and multi-branch setups, and you can create as many terminals as you need.
-
Enable the extension.
-
Create a TPoS.
-
Open TPoS in the browser.
-
Present the invoice QR to the customer.
Set the terminal to a fiat currency, enable cash settlement or select an enabled card provider, and choose an active fiat wallet you own in that currency. Create a wallet from LNbits Wallets if you need one. Your LNbits admin controls fiat wallet creation and which accounts can use each card provider.
Anyone with the public terminal link can confirm a cash checkout when cash settlement is enabled. Share the link with the people you trust to record cash sales. Card sales settle when the configured provider verifies the payment.
Both types of sale credit the selected fiat wallet. Cash uses an internal accounting record. Tips from fiat sales stay in that wallet. Lightning sales continue to use the terminal’s Lightning wallet.
Before upgrading, finish any outstanding cash checkouts on the old version. Select a fiat wallet for each cash or card terminal after upgrading. New cash and card sales pause until a valid wallet is selected. The upgrade preserves terminal settings and historical payments.
Enable on-chain payments and select an LNbits on-chain wallet or a Watchonly wallet you own. Finish wallet setup and confirm any required backup first. TPoS reserves a new receive address per checkout. With zero-conf disabled, it waits for the first confirmation. The sale and any tip go to the receiving Bitcoin wallet, and the terminal's Lightning balance stays unchanged. On-chain tips stay in the receiving Bitcoin wallet even when a separate Lightning tip wallet is configured.
Before upgrading, finish or reconcile pending Watchonly checkouts on the old version. Any legacy checkout still pending at upgrade is closed for manual reconciliation. Historical receipts remain available. The new version records sales in TPoS and stops crediting the Lightning wallet for Watchonly sales. Back up the database before upgrading. For custom mempool endpoints, the LNbits administrator must approve the exact base URL for the selected network.
After checkout expires, a sale observed fully funded before expiry can finish
confirming. Reconcile partial or late funds in the receiving wallet. TPoS resumes
paid sales with fulfilment still pending after a restart. If fulfilment stopped
in processing, order, or inventory, check the tab, order, and stock before
completing the outstanding steps manually. An interrupted request may already
have changed the order or inventory.
-
Create or edit a TPoS and activate Enable tips.
-
Fill in:
- Wallet to receive tips
- Tip percentages (press Enter after each)
- If no values are set, a default Rounding option is available
-
In TPoS, set an amount and click OK.
-
A tip dialog appears.
-
Select a percentage or Round to.
-
Present the updated invoice to the customer.
-
After payment the tip is sent to the defined wallet (e.g., employee wallet) and the rest to the main wallet.
Some deployments require sharing revenue from every payment made through a TPoS.
This feature allows you to automatically forward a defined percentage of each received payment
to a specific Lightning Address.
This is especially useful when:
- You host an LNbits server and give a TPoS to a vendor, and you want to receive a host fee / revenue share, or
- Two participants share one TPoS, and a portion of each incoming payment should automatically go to a partner, co-owner, or collaborator.
In these cases, the function helps identify the initial TPoS initiator and forward their share without manual reconciliation.
- Open or edit a TPoS.
- Enable LN Address Funding.
- Enter:
When a customer pays:
- TPoS receives the full Lightning payment.
- The extension splits the amount automatically.
- The defined percentage is forwarded to the configured Lightning Address.
This happens instantly, with no extra setup and no additional wallets required.
You can add items to a TPoS and use an item list for sales.
-
After creating or opening a TPoS, click the expand button.
Then you can:
- Add items
- Delete all items
- Import or export items via JSON
-
Click Add Item and fill in details (title and price are mandatory).
-
Or import a JSON with your products using this format:
[
{
"image": "https://image.url",
"price": 1.99,
"title": "Item 1",
"tax": 3.5,
"disabled": false
},
{
"price": 0.99,
"title": "Item 2",
"description": "My cool Item #2"
}
]After adding products, the TPoS defaults to the Items View (PoS view):
Click Add to add to a cart / total:
Click Pay to show the invoice for the customer. To use the regular keypad TPoS, switch via the bottom button.
Regular TPoS also supports adding to total: enter a value and click +, repeat as needed, then click OK.
- Create or edit a TPoS and activate Enable selling bitcoin. Configure:
- Maximum withdrawable per day
- Cooldown between withdrawals (min. 1 minute)
- Open the TPoS, then tap the ATM button.
Warning
The red badge centered at the top indicates you are in ATM mode.
- Set the amount to sell and present the LNURLw QR to the buyer.
- After a successful withdrawal, a confirmation appears and TPoS exits ATM mode.
Note
OTC ATM requires a signed-in account. When sharing a TPoS, be signed in or have the login details ready.
- Today: If you are not signed in, you will see a Not logged in error.
- Coming soon: A feedback dialog will appear and prompt you to sign in.
By default, tax is included in price. Set a default tax rate (%) (e.g., 13). Items can override this with their own tax value.
- Tax Exclusive — tax is applied on top of the unit price.
- Tax Inclusive — unit price already includes tax.
In the keypad PoS, the default tax is used and is always included in the value.
LNbits empowers developers and merchants with modular, open-source tools for building Bitcoin-based systems — fast, free, and extendable.




