Architecture

Last updated 3 months ago

BTCPayServer is a project which ties together several Bitcoin-related components into a coherent user experience for installing and managing your own payment processor.

Architecture

The minimal setup involves:

  • NBXplorer (Lightweight block explorer, responsible for tracking payments)

  • Bitcoin Core

  • (Optional) PostgreSQL

By default, it uses SqlLite, but all production deployments use Postgres.

Additionally, if you need Lightning Network access, NBXplorer supports connections to:

  • C-Lightning (via unix sockets)

  • Lightning Charge

  • LND (via the REST interface)

We provide several ways of deploying BTCPayServer, depending on whether you favor flexibility or ease-of-use.

From the easiest way to the hardest:

Some community members also offer third-party hosting (Having someone else manage BTCPayServer for you).

Remember the huge value of having direct control of your wallet and web service; for this reason we recommend you use Azure deployment or Web-Interface deployment and do the setup yourself - it is pretty easy!