OpenViSTAI · Agents · Blockchain · Crypto
Menu
Payments & Stablecoins

Nanopos

Nanopos is a self-hosted web point-of-sale application that presents configured fixed-price items or custom-amount billing and accepts Bitcoin Lightning payments through a separately configured Lightning Charge server.

Independent OpenViST project profile, based on linked sources.

Nanopos — OpenViST project profile in Payments & Stablecoins.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Nanopos when you need a self-hosted counter-style web checkout for Bitcoin Lightning payments and can provide a separately running Lightning Charge server.

Who it is for

  • Small shops, food stalls and service businesses that want a focused Lightning checkout for listed products.
  • Operators who can configure and maintain a web service alongside Lightning Charge.
  • Developers looking for a compact starting point for a Lightning Charge payment interface.

Documented uses

  • Define a menu or product list with prices in a YAML file.
  • Present a web interface for customers to select a fixed-price item.
  • Offer a custom-amount field for variable bills.
  • Pass item metadata into invoice metadata.
Before you choose

Requirements & limits

  • Lightning Charge is a separate required payment component; Nanopos connects to it using a URL and access token.
  • Prices are defined in an items YAML file, and the selected currency is configurable.
  • Operators can use a Node/npm command-line setup or the provided Dockerfile.
  • The custom-amount field can be disabled, and BOLT11 can optionally be shown as text and a button.
  • The repository identifies the project as MIT-licensed.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Configure and start Nanopos from the command line

Create an item list and start the Nanopos web server with a Lightning Charge token.

Before you start

  • Node/npm for installing Nanopos globally.
  • A YAML file defining items and prices.
  • A Lightning Charge server and its access token.

Steps

  1. Install Nanopos globally with npm.

  2. Create or edit an items YAML file with product names and prices.

  3. Start Nanopos with the items-file path, Charge token and desired currency.

Expected outcome

The README's example starts the web server on localhost; the CLI also supports setting the Charge URL, title, theme, custom-amount field, BOLT11 display, host and port.

Guide limitations

  • The payment dependency, Lightning Charge, must be configured separately.
  • The items file is required; the Charge token is required.
Source-based practical guide

Build and run Nanopos with Docker

Build the provided Docker image and start the Nanopos web service connected to Lightning Charge.

Before you start

  • Docker.
  • A Lightning Charge server, its URL and an access token.

Steps

  1. Set up Lightning Charge.

  2. Build the image from the Nanopos repository using the documented Docker build command.

  3. Run the image with port 9116 exposed and set the Charge URL and token environment variables.

Expected outcome

The documented container command starts the web server on port 9116, ready to accept payments through the configured Charge service.

Guide limitations

  • Lightning Charge must be set up separately before running the container.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
ElementsProject/nanopos · Official homepage title · retained in its source language