2017-09-13 08:47:34 +02:00
# BTCPay Server
2021-01-29 12:19:51 +01:00
![BTCPay Server ](BTCPayServer/wwwroot/img/btc_pay_BG_twitter.png )
2019-04-19 13:17:51 +02:00
2021-01-29 12:19:51 +01:00
< h3 align = "center" >
Accept Bitcoin payments ₿
< / h3 >
2021-05-13 10:31:08 +02:00
< p align = "center" > BTCPay Server is a free and open-source Bitcoin payment processor which allows you to accept bitcoin without fees or intermediaries.
2021-01-29 12:19:51 +01:00
< / p >
< p align = "center" >
< a href = "https://circleci.com/gh/btcpayserver/btcpayserver" >
< img src = "https://img.shields.io/circleci/build/github/btcpayserver/btcpayserver" / >
< / a >
< a href = "https://github.com/btcpayserver/btcpayserver/releases/" >
< img src = "https://img.shields.io/github/v/release/btcpayserver/btcpayserver" / >
< / a >
< a href = "https://github.com/btcpayserver/btcpayserver/blob/master/LICENSE" >
< img src = "https://img.shields.io/github/license/btcpayserver/btcpayserver" / >
2022-01-05 12:22:24 +01:00
< / a >
2021-01-29 12:19:51 +01:00
< a href = "https://docs.btcpayserver.org/Contribute/" >
< img src = "https://img.shields.io/badge/PRs-welcome-brightgreen.svg" / >
< / a >
< a href = "https://chat.btcpayserver.org/" >
< img src = "https://img.shields.io/badge/Community%20Chat-Mattermost-%230058cc" / >
< / a >
< a href = "https://twitter.com/intent/follow?screen_name=btcpayserver" >
< img src = "https://img.shields.io/twitter/follow/btcpayserver.svg?label=Follow%20@btcpayserver" / >
< / a >
< / p >
< div align = "center" >
< h3 >
< a href = "https://btcpayserver.org" >
Website
< / a >
< span > | < / span >
< a href = "https://docs.btcpayserver.org" >
Documentation
< / a >
< span > | < / span >
< a href = "https://docs.btcpayserver.org/API/Greenfield/v1/" >
API
< / a >
< span > | < / span >
2021-03-07 12:54:36 +01:00
< a href = "https://docs.btcpayserver.org/Contribute/" >
2021-01-29 12:19:51 +01:00
Contribute
< / a >
< span > | < / span >
< a href = "https://www.youtube.com/btcpayserver/" >
YouTube
< / a >
< span > | < / span >
< a href = "https://chat.btcpayserver.org/" >
Chat
< / a >
< / h3 >
< / div >
< div align = "center" >
< sub > "This is lies, my trust in you is broken, I will make you obsolete" 💚
< / a >
< / div >
< br / >
< p align = "center" >
< a href = "https://mainnet.demo.btcpayserver.org" > View Demo< / a >
·
< a href = "https://github.com/btcpayserver/btcpayserver/issues/new/choose" > Report a bug< / a >
·
< a href = "https://github.com/btcpayserver/btcpayserver/discussions/new" > Request a feature< / a >
·
< a href = "https://docs.btcpayserver.org/FAQ/" > FAQ< / a >
< / p >
## 💼 Table of Contents
* [Features ](#-features )
* [Getting Started ](#-getting-started )
* [Documentation ](#-documentation )
* [Contributing ](#-contributing )
* [Developing ](#-developing )
* [API ](#-api )
* [Community ](#-community )
* [License ](#-license )
* [Supporters ](#-supporters )
![](https://raw.githubusercontent.com/btcpayserver/btcpayserver-doc/master/docs/img/BTCPayServerScreenshot.png)
## 🎨 Features
2018-09-03 15:03:50 +02:00
2020-02-09 17:33:44 +01:00
* Direct, peer-to-peer Bitcoin payments
* No transaction fees (other than the [network fee ](https://en.bitcoin.it/wiki/Miner_fees ))
2021-01-29 12:19:51 +01:00
* No fees, middleman or KYC
2020-02-09 17:33:44 +01:00
* Non-custodial (complete control over the private key)
2021-01-29 12:36:12 +01:00
* Enhanced privacy & security
2019-01-31 08:55:27 +01:00
* Self-hosted
* SegWit support
2021-01-29 12:19:51 +01:00
* Lightning Network support (LND, c-lightning, Eclair, and Ptarmigan)
2019-03-18 12:00:31 +01:00
* Tor support
2021-01-29 12:36:12 +01:00
* Share your instance with friends (multi-tenant)
2021-01-29 14:04:35 +01:00
* Invoice management and Payment requests
* Apps: Point of sale, crowdfunding, donation button
* Full-node reliant wallet with [hardware wallet integration ](https://docs.btcpayserver.org/Vault/ ) and SegWit support
* Bitcoin-only build, separate community-maintained altcoin build ([supported altcoins](https://docs.btcpayserver.org/FAQ/FAQ-Altcoin/))
2018-09-03 15:03:50 +02:00
2021-01-29 12:19:51 +01:00
## 🚀 Getting Started
2019-04-19 13:17:51 +02:00
2021-01-30 10:58:48 +01:00
Firstly, decide if you want to host an instance yourself or use a [third-party host ](https://docs.btcpayserver.org/ThirdPartyHosting/ ). If you've chosen to self-host, there are plenty of documented [ways to deploy BTCPay Server ](https://docs.btcpayserver.org/Deployment/ ).
2019-04-19 13:17:51 +02:00
2020-06-11 16:09:33 +02:00
After successful deployment, make sure to check our [getting started ](https://docs.btcpayserver.org/RegisterAccount/ ) and [walkthrough ](https://docs.btcpayserver.org/Walkthrough/ ) guides. In case you would like to use Lightning Network, see [Lightning guide ](https://docs.btcpayserver.org/LightningNetwork/ ).
2019-04-19 13:17:51 +02:00
2021-01-29 12:19:51 +01:00
## 📗 Documentation
2017-10-21 13:53:48 +02:00
2021-01-29 18:31:41 +01:00
Please check out our [official website ](https://btcpayserver.org/ ), [complete documentation ](https://docs.btcpayserver.org/ ) and [FAQ ](https://docs.btcpayserver.org/FAQ/ ) for more details.
2018-03-02 21:04:00 +01:00
2021-01-30 10:58:48 +01:00
If you have trouble using BTCPay Server, consider joining [communities listed on the official website ](https://btcpayserver.org/#communityCTA ) to get help from other contributors. Only create a [GitHub issue ](https://github.com/btcpayserver/btcpayserver/issues/new/choose ) for technical issues you can't resolve through other channels or feature requests you've validated with other members of the community.
2019-04-10 19:48:02 +02:00
2021-01-29 12:19:51 +01:00
## 🤝 Contributing
2020-02-09 17:33:44 +01:00
2021-01-29 12:19:51 +01:00
BTCPay Server is built and maintained entirely by volunteer contributors around the internet. We welcome and appreciate new contributions.
2019-04-10 20:37:37 +02:00
If you're a developer looking to help, but you're not sure where to begin, check the [good first issue label ](https://github.com/btcpayserver/btcpayserver/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 ), which contains small pieces of work that have been specifically flagged as being friendly to new contributors.
2021-01-29 12:19:51 +01:00
Contributors looking to do something a bit more challenging, before opening a pull request, please join [our community chat ](https://chat.btcpayserver.org/ ) or [start a GitHub discussion ](https://github.com/btcpayserver/btcpayserver/discussions ) to get early feedback, discuss best ways to tackle the problem and ensure there is no work duplication.
There are many other ways to get involved with the project. Check our [contribution guidelines ](https://docs.btcpayserver.org/Contribute/ ). To get the big-picture of the project development, visit our [evolving roadmap ](https://github.com/orgs/btcpayserver/projects/9 ). We organize different types of community calls several times a month. [Subscribe to our calendar ](https://github.com/btcpayserver/organization#calendar ) and feel free to join our calls to discuss development, design, documentation and more.
## 🧑💻 Developing
2021-12-21 09:32:39 +01:00
To begin developing locally, visit our [local development guide ](https://docs.btcpayserver.org/Development/LocalDevelopment/ ). There are also several video-tutorials:
2019-04-10 20:37:37 +02:00
2020-07-23 09:45:40 +02:00
* [Setting up development environment on Windows ](https://www.youtube.com/watch?v=ZePbMPSIvHM )
* [Setting up development environment Linux (Ubuntu) ](https://www.youtube.com/watch?v=j486T_Rk-yw&t )
* [Setting up development environment MacOS ](https://www.youtube.com/watch?v=GWR_CcMsEV0 )
2019-04-12 11:03:05 +02:00
2021-01-29 12:19:51 +01:00
### How to build
2019-11-22 22:58:51 +01:00
2021-01-29 12:19:51 +01:00
While the documentation advises using docker-compose, you may want to build BTCPay Server yourself.
2018-03-05 16:58:27 +01:00
2021-12-28 08:25:06 +01:00
First, install .NET Core SDK v6.0 as specified by the [Microsoft website ](https://dotnet.microsoft.com/download/dotnet-core/6.0 ).
2018-03-06 15:35:20 +01:00
2018-03-06 15:18:00 +01:00
On Powershell:
2020-07-23 09:45:40 +02:00
```powershell
2018-03-06 15:18:00 +01:00
.\build.ps1
```
On linux:
2020-07-23 09:45:40 +02:00
```sh
2018-03-06 15:40:21 +01:00
./build.sh
2018-03-05 16:58:27 +01:00
```
2021-01-29 12:19:51 +01:00
### How to run
2018-03-05 16:58:27 +01:00
2021-01-29 12:19:51 +01:00
Use the `run` scripts to run BTCPay Server, this example shows how to print the available command-line arguments of BTCPay Server.
2018-03-06 15:18:00 +01:00
On Powershell:
2020-07-23 09:45:40 +02:00
```powershell
2018-03-06 15:18:00 +01:00
.\run.ps1 --help
```
On linux:
2020-07-23 09:45:40 +02:00
```sh
2018-03-06 15:40:21 +01:00
./run.sh --help
2018-03-05 16:58:27 +01:00
```
2018-03-06 15:40:21 +01:00
2021-01-29 12:19:51 +01:00
### How to debug
2018-11-01 04:52:32 +01:00
2020-03-03 22:44:58 +01:00
If you want to debug, use Visual Studio Code or Visual Studio 2019.
2018-11-01 04:52:32 +01:00
2020-07-23 09:45:40 +02:00
You need to run the development time docker-compose as described [in the test guide ](./BTCPayServer.Tests/README.md ).
2018-11-01 04:52:32 +01:00
2019-04-10 19:48:02 +02:00
You can then run the debugger by using the Launch Profile `Docker-Regtest` on either Visual Studio Code or Visual Studio 2017.
2018-11-01 04:52:32 +01:00
If you need to debug ledger wallet interaction, install the development time certificate with:
```bash
# Install development time certificate in the trust store
dotnet dev-certs https --trust
```
Then use the `Docker-Regtest-https` debug profile.
2021-01-29 12:19:51 +01:00
### Other dependencies
2018-03-06 15:40:21 +01:00
2020-07-23 09:45:40 +02:00
For more information, see the documentation:
2021-01-29 12:19:51 +01:00
[How to deploy a BTCPay Server instance ](https://docs.btcpayserver.org/Deployment/ ).
### 🧪 API
2021-10-02 08:10:43 +02:00
BTCPay Server has two APIs:
2021-01-29 12:19:51 +01:00
- **Greenfield API (New)**
- [Greenfield API documentation ](https://docs.btcpayserver.org/API/Greenfield/v1/ )
- [Greenfield API examples with CURL ](https://docs.btcpayserver.org/GreenFieldExample/ )
- **Legacy API**
2021-01-30 10:58:48 +01:00
The **Greenfield API** is our brand-new API which is still in development. Once complete, it will allow you to run BTCPay Server headlessly.
2021-01-29 18:30:57 +01:00
The **Legacy API** , is fully compatible with [BitPay's API ](https://bitpay.com/api/ ). It has limited features, but allows instant migration from BitPay.
2019-04-10 19:30:54 +02:00
2021-01-29 12:19:51 +01:00
## 💚 Community
2019-04-10 19:30:54 +02:00
2021-01-29 18:30:57 +01:00
Our community is the ❤️ of the project. To chat with other community members in real-time, join our [Mattermost chat ](https://chat.btcpayserver.org ). We're also on [GitHub discussions ](https://github.com/btcpayserver/btcpayserver/discussions ).
2019-11-07 11:33:11 +01:00
2021-01-29 12:19:51 +01:00
## 📝 License
2020-02-09 17:33:44 +01:00
2020-02-09 19:01:52 +01:00
BTCPay Server software, logo and designs are provided under [MIT License ](https://github.com/btcpayserver/btcpayserver/blob/master/LICENSE ).
2020-02-09 17:33:44 +01:00
2021-01-29 12:19:51 +01:00
## 🙏 Supporters
2019-11-07 11:33:11 +01:00
The BTCPay Server Project is proudly supported by these entities through the [BTCPay Server Foundation ](https://foundation.btcpayserver.org/ ).
< table >
< tbody >
< tr >
< td align = "center" valign = "middle" >
2022-01-05 12:22:24 +01:00
< a href = "https://spiral.xyz" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/spiral.svg" alt = "Spiral" height = 100 >
2019-11-07 11:33:11 +01:00
< br / >
2022-01-05 12:22:24 +01:00
< span > Spiral< / span >
2019-11-07 11:33:11 +01:00
< / a >
2019-11-13 10:38:31 +01:00
< / td >
2021-07-30 17:48:07 +02:00
< td align = "center" valign = "middle" >
< a href = "https://www.bailliegifford.com" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/bailliegifford.svg" alt = "Baillie Gifford" height = 100 >
2021-07-30 17:48:07 +02:00
< br / >
< span > Baillie Gifford< / span >
< / a >
< / td >
2022-07-12 14:43:16 +02:00
< td align = "center" valign = "middle" >
< a href = "https://strike.me" target = "_blank" >
< img src = "BTCPayServer/wwwroot/img/strike.svg" alt = "Strike" height = 100 >
< br / >
< span > Strike< / span >
< / a >
< / td >
< td align = "center" valign = "middle" >
< a href = "https://hrf.org" target = "_blank" >
< img src = "BTCPayServer/wwwroot/img/hrf.svg" alt = "Human Rights Foundation" width = 100 >
< br / >
< span > Human Rights Foundation< / span >
< / a >
< / td >
2021-06-14 18:17:40 +02:00
< td align = "center" valign = "middle" >
< a href = "https://www.pnxbet.com" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/pnxbet.png" alt = "PNXBET" height = 100 >
2021-06-14 18:17:40 +02:00
< br / >
< span > PNXBET< / span >
< / a >
< / td >
2022-07-12 14:43:16 +02:00
< / tr >
< tr >
2019-11-18 15:55:56 +01:00
< td align = "center" valign = "middle" >
< a href = "https://lunanode.com" target = "_blank" >
< img src = "BTCPayServer/wwwroot/img/lunanode.svg" alt = "LunaNode" height = 100 >
< br / >
2019-11-19 09:16:04 +01:00
< span > LunaNode< / span >
< / a >
< / td >
< td align = "center" valign = "middle" >
< a href = "https://walletofsatoshi.com/" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/walletofsatoshi.svg" alt = "Wallet of Satoshi" height = 100 >
2019-11-19 09:16:04 +01:00
< br / >
< span > Wallet of Satoshi< / span >
2019-11-18 15:55:56 +01:00
< / a >
< / td >
2020-08-25 11:43:11 +02:00
< td align = "center" valign = "middle" >
< a href = "https://nomics.com/" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/nomics.svg" alt = "Nomics" height = 100 >
2020-08-25 11:43:11 +02:00
< br / >
< span > Nomics< / span >
< / a >
< / td >
2021-03-22 11:28:04 +01:00
< td align = "center" valign = "middle" >
< a href = "https://coincards.com/" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/coincards.svg" alt = "Coincards" height = 100 >
2021-03-22 11:28:04 +01:00
< br / >
< span > Coincards< / span >
< / a >
< / td >
2022-04-21 15:50:46 +02:00
< td align = "center" valign = "middle" >
< a href = "https://ivpn.net/" target = "_blank" >
2022-07-12 14:43:16 +02:00
< img src = "BTCPayServer/wwwroot/img/ivpn.svg?sanitize=true" alt = "IVPN" height = 100 >
2022-04-21 15:50:46 +02:00
< br / >
< span > IVPN< / span >
< / a >
2022-03-10 09:50:40 +01:00
< / td >
2019-11-07 11:33:11 +01:00
< / tr >
< / tbody >
2019-11-07 19:43:25 +01:00
< / table >
2019-11-22 22:58:51 +01:00
If you'd like to support the project, please visit the [donation page ](https://btcpayserver.org/donate/ ).