Bitcoin POS Terminal

This post is also available in: German

Webbasiertes POS Terminal


Web-based Bitcoin POS Terminal

The web-based Bitcoin POS terminal is suitable for Bitcoin payment processing in retail stores and restaurants. The solution presented here is based on the BTCPay Server pre-installed Point of Sale App. You can store products that are offered in your store and use the app like a checkout terminal.

When paying a customer, the store owner selects the purchased products from the stored catalog and determines the invoice amount. Then converted to Bitcoin and the customer pays with his smartphone wallet.

We present this solution in this article using the example of a restaurant. At the end of this article we present further applications which can be implemented on the basis of the Point of Sale App.

You can use the web-based Bitcoin POS Terminal presented here when the customer is standing in front of you and the goods are handed over directly. The Bitcoin POS Terminal is therefore suitable for restaurants where food and drinks are paid for. But it can also be used for retailers and service providers who want to enable a local customer to pay with Bitcoin.

In the following article we show the possible applications of the Bitcoin POS terminal using the example of a restaurant. We will show how to store a menu, a price list or a product catalogue with pictures, descriptions and prices.

If a customer wants to pay with Bitcoin, an employee can access the Bitcoin POS terminal via a web browser using any smartphone or tablet.

The products to be paid will be selected or the invoice amount will be freely stated.

The system calculates the corresponding Bitcoin amount. Likewise, a payment page with Bitcoin address is generated as a QR code and can then be displayed to the customer.

The customer still has the possibility to tip and make the payment.

POS Terminal

After successful payment, the Bitcoin amount will be credited to the shopkeeper on his wallet immediately.

A web-based Bitcoin POS terminal is the ideal place to start accepting Bitcoin and Lightning payments in a store or restaurant.

The special feature of the application presented here is that the offered products (catalog) are also stored.

Those who do not want to additionally record their offered products and are looking exclusively for an application for their stationary business, where only the pure payment processing is to take place, will find in the application: “Accept Bitcoin in business” already the perfect solution.

If you run a restaurant or want to create and record your product catalog in the application as well, the application presented here will suit you better.

User view of the Bitcoin POS Terminal

web-based POS Terminal

As an example, we have created a Bitcoin POS terminal for a tea store that you can view at

Click on the adjoining picture or link to see the view for end users / cashiers

In the following you will find instructions on how to create a Bitcoin POS terminal yourself.

Payment process at the Bitcoin POS terminal

To accept Bitcoin and Lightning payments in an offline store such as a restaurant, shop or as a craftsman and service provider, there is a web-based payment terminal. This Bitcoin payment terminal at a point of sale is referred to as point of sale (POS).

Within BTCPay Server there is a web-based point of sale terminal that allows you to accept Bitcoin and Lightning payments offline.

The PoS application can be easily accessed by the store owner on smartphones, tablets or other devices with an Internet connection and can be viewed by the customer.

The shop owner can select the products from a stored catalog or specify the purchase amount in euros. The Bitcoin POS Terminal automatically converts the amount and generates an individual Bitcoin address and the corresponding QR code.

The shopkeeper calls up the QR code via a link, showing it to his customer. This in turn, opens its own wallet, selects the send function and scans the QR code displayed by the POS and pays the bill.

In order to set up a web-based Bitcoin POS terminal as a shopowner, a store must be created at BTCPay.

Create Bitcoin POS Terminal with BTCPay

To create a web-based Bitcoin POS terminal, a store must be set up and connected to your own wallet.

Go to the “Demo Shop” button in the upper right corner of the page and create an account and create a store. How to create and set up an account at, you can read in the article Create BTCPay Shop. The article “Administrate BTCPay Shop” deals with the administration and configuration of a BTCPay account.

Once you have created a BTCPay shop/store, we will start creating a web-based Bitcoin POS terminal based on the Point of Sales App.


1.) In store view, you click on Apps
2.) Create a new app
3.) Give the app a name and connect it to the previously created store
4.) Customize the POS to your requirements. Insert the products with pictures and description and enter the prices.
5.) Click on “Submit query”
6.) Click on “View” to view the preview

To create a POS app, you need to activate the Cart option.

Once a BTCPay store/shop has been created, the POS app is set up based on it.

Set up BTCPay POS App

You switch to the Apps section and click on the button “Create a new App”.

A selection of pre-installed apps will appear and select “PointOfSales”.

You then have the option of giving this app a name and must then assign the app to an existing BTCPay store.

Afterwards the POS app can be customized according to your own individual ideas.

Set up POS
Set up Pos Step 2

In the adjoining picture the different setting options are shown. With a click on the image, the image is displayed in an enlarged view. For the German version the translations are written in red.

It is important that the shopping cart function (Cart Option) is activated in any case, if not only one but several products should be offered.

The retailer has the option to select the products to be paid from a predetermined product catalogue. If a product is sold that is not listed in the catalog, it may be useful to enter a free text with an amount. For this, there is the field “Custom Amount”.

Wouldn’t it be a good idea to grant a discount on the purchase if the customer pays with Bitcoin? In order to grant a percentage discount individually, the discount function must be activated.

In a restaurant, the customer likes to tip for a good service. In order to make it easier for the customer to make a tip payment, you can make percentage suggestions. In the example above, tipping in the amount of 5%, 10%, 15% and 20% of the invoice amount is proposed to the customer.

If you want to store the offered products in the POS so that they are presented to the buyer, you can store the products via “Add product”.

This is not mandatory if you have already deposited the invoice amount in the normal cash register system and now only want to offer a Bitcoin payment. Then it would be sufficient to take over the invoice amount from the main cash system via the “Custom Amount” field.

Create products (Product Management)

Otherwise, you can simply deposit the products with description text, picture and amount. In the POS app, a few products from a tea shop are stored as examples, which can be edited or deleted.

Create products in the POS

After that, you save your settings and look at your POS once via “View”.

Bitcoin POS Terminal Customer View

web-based POS Terminal

By clicking on the individual products, they are transferred to the shopping cart. There, the number can be changed accordingly.

If the “Custom Amount” field has been activated, an amount can be entered manually in the “Pay what you want” field.

A discount can be entered in the Discount in %field. The total is calculated automatically.

This information is usually provided by the cashier, who then clicks “Confirm” and passes the device on to the customer.

If the “Enable tips” button was activated during the configuration, the following image appears:

Give your trin benefit at the POS

Does the customer want to tip?

Here the customer can enter a self-determined amount for tipping or have it calculated by clicking on the corresponding percentage.

When numbers are then clicked, the payment window appears. The appearance of the payment page is configured in the Store under Checkout Experience.

See the article “Configuration of the payment page

The Bitcoin amount was automatically calculated on the basis of the applicable Bitcoin price and presented as a QR code for the customer.

This course is guaranteed to the customer for 15 minutes, within this period the payment must be made. Accordingly, time is running backwards.

If, in addition to paying with Bitcoin, Lightning payment has also been activated, then “pay with” can be switched from The Customer from Bitcoin to Lightning.

After successful payment, the Bitcoin amount will be credited to the shopkeeper on his wallet immediately.

A web-based Bitcoin POS terminal is the ideal way to accept Bitcoin payments as a craftsman, in the workshop, in a shop or restaurant.

For further information, please contact:

This is what the Bitcoin POS terminal presented here looks like for the end customer.

Further application examples based on the Point of Sale App

With the Bitcoin POS terminal the buyer cannot enter a shipping address when ordering. Therefore this solution is not suitable for an internet shop with physical products. This requires an online shop software solution such as WooCommerce.

If you offer digital goods (images, software, PDF files, downloads, memberships) that can be delivered to the customer by email, then you can use this solution again. A detailed description of how to use the Point of Sale App presented here to sell digital goods can be found in the article: Delivering digital products by email

In the solution presented here, the products are also recorded in a catalog. This could be the menu of a restaurant, for example.

If you do not need a collection of your offered products, because the customers only deWho does not want to collect his offered products additionally and is looking for an application for his stationary business, with which only the pure payment completion is to take place, that finds in the application: “Accept Bitcoin in the store” is already the perfect solution.

This post is also available in: German