Practical overview
When it fits
Use SatSale when you want to operate the payment-processing service yourself and connect it to Bitcoin infrastructure you control, or configure its documented xpub option for on-chain payments without running a Bitcoin node.
Who it is for
- Website owners who want to collect Bitcoin donations through a hosted donation page or embedded button.
- Merchants using WooCommerce who want a Bitcoin payment gateway.
- Operators who want payment processing connected to their own Bitcoin or Lightning node.
Documented uses
- Create a Bitcoin donation page and embed its button on a website.
- Accept on-chain Bitcoin payments using a Bitcoin node or an extended public key.
- Accept Lightning payments using LND or Core Lightning.
- Add Bitcoin payment processing to a WooCommerce store.
Requirements & limits
The project is published as public source code under the MIT license. Its README documents server installation and self-hosted operation.
- The documented payment methods are Bitcoin on-chain and Lightning.
- On-chain payments can use a Bitcoin node or the xpub method; the project recommends a node for payment verification.
- Lightning use requires an LND or Core Lightning node.
- The documented WooCommerce gateway targets WordPress stores.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install and serve SatSale with an xpub
Set up the documented no-Bitcoin-node payment method and start the SatSale web server.
Before you start
- Python 3 and pip3
- An extended public key from a Bitcoin wallet
- A server or local machine capable of running Gunicorn
Steps
Clone the SatSale repository and install its dependencies with pip3 using the requirements file.
In config.toml, set payment_methods to ["xpub"], then configure the xpub and a supported derivation such as BIP84.
Start the app with the documented Gunicorn command: gunicorn -w 1 -b 0.0.0.0:8000 satsale:app.
Check that the first generated address matches an address in the wallet and the expected derivation path.
Expected outcome
A running SatSale service configured to derive on-chain payment addresses from an extended public key.
Guide limitations
- The xpub method does not provide the recommended verification against an operator-run Bitcoin node.
- The README cautions operators to verify the first address against their wallet and derivation settings.
Connect SatSale to a Bitcoin node
Configure the documented on-chain payment connection to an operator's Bitcoin node.
Before you start
- A Bitcoin node and its RPC host, username, password, port, and wallet configuration
- Access to SatSale's config.toml
Steps
Set the bitcoind connection values in config.toml to match the node's configuration.
Start SatSale using the documented Gunicorn command.
For a remote node, configure the documented SSH tunnel connection or consult the project's Tor hidden-service instructions.
Expected outcome
SatSale is configured to connect to the specified Bitcoin node for on-chain payment processing.
Guide limitations
- This guide covers node configuration and starting the service, not a verified payment flow.
- Remote-node access requires additional network and SSH configuration.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- SatSale/SatSale · Official homepage title · retained in its source language

