Accept Bitcoin payments. Free, open-source & self-hosted, Bitcoin payment processor.
Go to file
nicolas.dorier 82126b85d2 Fix tests
2019-03-18 18:52:19 +09:00
.circleci Remove volumes before running tests 2018-12-19 15:50:20 +09:00
.github/ISSUE_TEMPLATE Create feature_request.md 2019-03-09 23:21:03 +01:00
BTCPayServer Fix tests 2019-03-18 18:52:19 +09:00
BTCPayServer.Tests Add socks support on BTCPay Server to query onion endpoints 2019-03-18 00:03:02 +09:00
.dockerignore Remove launch profile from docker 2017-10-19 17:45:07 +09:00
.editorconfig Adopt dotnet core editorconfig, big reformating 2017-10-27 17:53:04 +09:00
.gitattributes shebang and fix line ending 2018-03-06 09:23:08 -05:00
.gitignore add .vscode to .gitignore 2018-04-02 12:48:13 +00:00
btcpayserver.sln Remove last reference to externalurl 2019-02-27 21:41:02 +09:00
build.ps1 chmod +x scripts 2018-03-06 09:15:09 -05:00
build.sh shebang and fix line ending 2018-03-06 09:23:08 -05:00
docker-entrypoint.sh Fix permission 2019-02-27 21:44:16 +09:00
Dockerfile.linuxamd64 fix dockerfile 2019-02-27 21:58:28 +09:00
Dockerfile.linuxarm32v7 fix dockerfile 2019-02-27 21:58:28 +09:00
LICENSE new year 2019-01-05 22:22:19 +01:00
Nuget.Config Add Polis 2018-04-17 11:13:50 -05:00
publish-docker.ps1 update publish-docker 2018-03-26 11:54:10 +09:00
README.md Add link back to official website 2019-02-21 14:04:03 +09:00
run.ps1 chmod +x scripts 2018-03-06 09:15:09 -05:00
run.sh fix run.sh 2018-05-14 22:08:35 +09:00

BTCPay Server

Docker Automated build Deploy to Azure CircleCI

BTCPay Server

Introduction

BTCPay Server is a free and open-source cryptocurrency payment processor which allows you to receive payments in Bitcoin and altcoins directly, with no fees, transaction cost or a middleman.

BTCPay is a non-custodial invoicing system which eliminates the involvement of a third-party. Payments with BTCPay go directly to your wallet, which increases the privacy and security. Your private keys are never uploaded to the server. There is no address re-use since each invoice generates a new address deriving from your xpubkey.

The software is built in C# and conforms to the invoice API of BitPay. It allows for your website to be easily migrated from BitPay and configured as a self-hosted payment processor.

You can run BTCPay as a self-hosted solution on your own server, or use a third-party host.

The self-hosted solution allows you not only to attach an unlimited number of stores and use the Lightning Network but also become the payment processor for others.

Thanks to the apps built on top of it, you can use BTCPay to receive donations, start a crowdfunding campaign or have an in-store Point of Sale.

Features

  • Direct, peer-to-peer Bitcoin and altcoin payments
  • No transaction fees (other than those for the crypto networks)
  • No processing fees
  • No middleman
  • No KYC
  • User has complete control over private keys
  • Enhanced privacy
  • Enhanced security
  • Self-hosted
  • SegWit support
  • Lightning Network support (LND and c-lightning)
  • Altcoin support
  • Full compatibility with BitPay API (easy migration)
  • Process payments for others
  • Easy-embeddable Payment buttons
  • Point of sale app
  • Crowdfunding app

Supported Altcoins

Bitcoin is the only focus of the project and its core developers. However, support is implemented for several altcoins:

  • Bitcoin Gold (BTG)
  • Bitcoin Plus (XBC)
  • Bitcore (BTX)
  • Dash (DASH)
  • Dogecoin (DOGE)
  • Feathercoin (FTC)
  • Groestlcoin (GRS)
  • Litecoin (LTC)
  • Monacoin (MONA)
  • Polis (POLIS)
  • Viacoin (VIA)

Altcoins are maintained by their respective communities.

Documentation

Please check out our official website, our complete documentation and FAQ for more details.

If you have any troubles with BTCPay, please file a Github issue. For general questions, please join the community chat on Mattermost.

How to build

While the documentation advises to use docker-compose, you may want to build BTCPay yourself.

First install .NET Core SDK v2.1.6 as specified by Microsoft website.

On Powershell:

.\build.ps1

On linux:

./build.sh

How to run

Use the run scripts to run BTCPayServer, this example shows how to print the available command line arguments of BTCPayServer.

On Powershell:

.\run.ps1 --help

On linux:

./run.sh --help

How to debug

If you want to debug, use Visual Studio Code or Visual studio 2017.

You need to run the development time docker-compose as described in the test guide.

You can then run the debugger by using the Launch Profile Docker-Regtest on either Visual Studio Code or Visual studio 2017.

If you need to debug ledger wallet interaction, install the development time certificate with:

# Install development time certificate in the trust store
dotnet dev-certs https --trust

Then use the Docker-Regtest-https debug profile.

Other dependencies

For more information, see the documentation: How to deploy a BTCPay server instance.