v0.1.0-rc.1 · release candidate · tested on regtest, not yet for real money

BTCPAY

A BTCPay Server alternative, not a takeover.

BTCPay Server does more than SatBooth, on purpose. SatBooth is a narrower checkout for Lightning, on-chain bitcoin and Monero that keeps no on-chain or Monero spend key on its server.

Which one fits

Stay with BTCPay Server if you need stores, point-of-sale apps, payment requests or pull payments, or Lightning on LND or Core Lightning. SatBooth has none of these.

Consider SatBooth if you are one merchant who needs a checkout for Lightning, on-chain bitcoin and Monero, and you want the public server to hold no spendable keys. SatBooth is new: a release candidate, tested on regtest.

The differences, plainly

TopicBTCPay ServerSatBooth
ScopeStores and multi-tenancy, apps (point of sale, crowdfunding, pay button), payment requests and pull payments.One merchant, with no stores. A checkout page, a private merchant API and signed webhooks.
Payment methodsLightning and on-chain bitcoin, with Monero through a plugin.Lightning, on-chain bitcoin and Monero, built in.
Keys on the serverA wallet inside the server is among its features.No spend key, ever: on-chain is watch-only and Monero is view-only. Hot Lightning money is bounded and budgeted.
LightningRuns on LND or Core Lightning.A dedicated Alby Hub on its own host, reached over scoped, budgeted NWC connections.
RefundsPull payments, which the merchant approves and sends from a wallet.Lightning refunds for orders paid over Lightning, each approved by a person with a signed approval. A person pays on-chain and Monero refunds from their own wallet.
APIThe Greenfield API, with an invoice per store.POST /v1/orders on a private listener. There is no list call, so keep each order’s id.
WebhooksEvents such as InvoiceSettled, InvoiceExpired and InvoiceInvalid, signed with BTCPay-Sig.Six events (order.paid, order.expired, order.underpaid, order.late, order.reverted, order.paid_again), signed with SatBooth-Signature.

If you switch

There is no migration tool and no BTCPay API compatibility layer. You set SatBooth up beside BTCPay, change your application to call SatBooth’s API, switch new orders over, and then retire BTCPay.

What moves

  • Taking payments over Lightning, on-chain bitcoin and Monero.
  • Your application’s integration: it creates orders, sends customers to the checkout page and reacts to webhooks.
  • Refunds over Lightning.

What does not

  • Invoice history. SatBooth starts empty, so export what you need from BTCPay first.
  • BTCPay’s apps, payment requests and pull payments, and stores.
  • Lightning channels and their funds, which stay in the old node until you close or drain them.

Do not point SatBooth at BTCPay’s bitcoind or at its store’s extended public key.SatBooth runs its own bitcoind, and your on-chain account for it is a new one in your wallet.

The guide lists what moves, what does not, and maps BTCPay’s invoice API and webhooks onto SatBooth’s.