Accept Bitcoin payments. Free, open-source & self-hosted, Bitcoin payment processor.
Go to file
2020-10-18 03:11:17 -05:00
.circleci Add Better Version Build Support 2020-08-06 08:43:16 +02:00
.github fix format that works with github templates 2020-08-12 10:14:57 +02:00
.vscode Make vscode open the browser automatically 2020-07-29 19:54:52 +09:00
BTCPayServer Showing warning hint on stores listing page 2020-10-18 03:11:17 -05:00
BTCPayServer.Abstractions BTCPay Server Extensions (#1925) 2020-10-15 21:28:09 +09:00
BTCPayServer.Client bump 2020-10-08 17:51:38 +09:00
BTCPayServer.Common BTCPay Server Extensions (#1925) 2020-10-15 21:28:09 +09:00
BTCPayServer.Data Payment redesign (#1967) 2020-10-13 09:58:46 +02:00
BTCPayServer.Rating Merge branch 'master' into MonetaryUnit 2020-09-17 11:43:31 +02:00
BTCPayServer.Test BTCPay Server Extensions (#1925) 2020-10-15 21:28:09 +09:00
BTCPayServer.Tests clean altcoins docker compose 2020-10-17 16:09:34 +02:00
Build bump 2020-10-16 20:44:32 +09:00
docs Update greenfield-development.md 2020-06-15 12:45:05 +02:00
.dockerignore Remove launch profile from docker 2017-10-19 17:45:07 +09:00
.editorconfig Modifying launchSettings.json to follow 2 space indent convention 2020-07-11 16:45:44 -05:00
.gitattributes shebang and fix line ending 2018-03-06 09:23:08 -05:00
.gitignore Merge pull request #1769 from msafi/check-in-vscode-debug-configurations 2020-07-27 11:30:46 +09:00
amd64.Dockerfile Improve build time for dockerfiles 2020-07-29 20:13:35 +09:00
arm32v7.Dockerfile Improve build time for dockerfiles 2020-07-29 20:13:35 +09:00
arm64v8.Dockerfile Improve build time for dockerfiles 2020-07-29 20:13:35 +09:00
btcpayserver.sln BTCPay Server Extensions (#1925) 2020-10-15 21:28:09 +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
Changelog.md Update changelog 2020-10-16 20:44:41 +09:00
docker-entrypoint.sh Fix docker-entrypoint for raspberry 2019-09-24 15:21:50 +09:00
LICENSE Update Year 2020-01-03 14:11:15 +01:00
nuget.config Add a test catching expirationTime bug (#1336) 2020-03-10 17:11:15 +09:00
publish-docker.ps1 Only push the released tag 2019-10-23 15:44:49 +09:00
README.md Add new supporter, re-arrange old one 2020-08-25 11:43:11 +02:00
RELEASE-CHECKLIST.md Add missing file 2020-06-28 18:00:51 +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
SECURITY.md Fix typo in SECURITY.md 2019-10-21 22:05:29 +02: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 Server is a non-custodial invoicing system which eliminates the involvement of a third-party. Payments with BTCPay Server 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 Server 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.

What is BTCPay

Table of Contents

Features

  • Direct, peer-to-peer Bitcoin payments
  • No transaction fees (other than the network fee)
  • No processing fees
  • No middleman
  • No KYC
  • Non-custodial (complete control over the private key)
  • Enhanced privacy
  • Enhanced security
  • Self-hosted
  • SegWit support
  • Lightning Network support (LND, c-lightning, Eclair and Ptarmigan)
  • Tor support
  • Opt-in altcoin integrations
  • Full compatibility with BitPay API (easy migration)
  • Process payments for others
  • Easy-embeddable Payment buttons
  • Point of sale app
  • Crowdfunding app
  • Payment Requests
  • Internal, full-node reliant wallet with hardware wallet integration

Getting Started

Firstly, decide if you want to host an instance yourself or use a third-party host. If you've chosen to self-host, we documented plenty ways to deploy BTCPay Server.

After successful deployment, make sure to check our getting started and walkthrough guides. In case you would like to use Lightning Network, see Lightning guide.

Documentation

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

If you have trouble using BTCPay, consider joining communities listed on official website to get help from BTCPay community members. Only file Github issue for technical issues you can't resolve through other channels or feature requests you've validated with other members of community.

Main community chat is located on Mattermost.

Contributing

BTCPay is built and maintained entirely by volunteer contributors around the internet. We welcome and appreciate new contributions.

If you're a developer looking to help, but you're not sure where to begin, check the good first issue label, which contains small pieces of work that have been specifically flagged as being friendly to new contributors.

Contributors looking to do something a bit more challenging, before opening a pull request, please create an issue or join our community chat to get early feedback, discuss best ways to tackle the problem and to ensure there is no work duplication.

You also have an awesome video of our contributors which explains how to get started. Rockstar Dev and Britt Kelly - BTCPay Server Code Along

Here is some info about how to extend the themes.

How to build

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

First install .NET Core SDK v3.1 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 2019.

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.

Supported altcoins

Bitcoin is the only focus of the project and its core developers. However, opt in integrations are present for several altcoins. Altcoins are maintained by their respective communities.

License

BTCPay Server software, logo and designs are provided under MIT License.

Supporters

The BTCPay Server Project is proudly supported by these entities through the BTCPay Server Foundation.

Kraken
Kraken
Square Crypto
Square Crypto
BTSE
BTSE
OKCoin
OKCoin
DG Lab
DG Lab
ACINQ
ACINQ
LunaNode
LunaNode
Wallet of Satoshi
Wallet of Satoshi
Nomics
Nomics

If you'd like to support the project, please visit the donation page.