# Architecture

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


The minimal setup involves:

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)

Video below shows BTCPay Architecture in-depth.

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!