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
2023-08-01 16:21:00 +02:00
* Lightning Network support (LND, Core Lightning (CLN), Eclair)
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.
2022-11-27 15:35:29 +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 the best ways to tackle the problem, and ensure there is no work duplication.
2021-01-29 12:19:51 +01:00
2023-09-01 16:03:51 +02:00
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/16 ).
2021-01-29 12:19:51 +01:00
## ๐งโ๐ป 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
2024-01-02 12:29:40 +01:00
First, install .NET SDK v8.0 as specified by the [Microsoft website ](https://dotnet.microsoft.com/download/dotnet/8.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
2022-09-23 12:41:09 +02:00
If you want to debug, use Jetbrain's Rider or Visual Studio 2022.
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
2022-09-23 12:41:09 +02:00
You can then run the debugger by using the Launch Profile `Docker-Regtest` .
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
```
2022-11-03 16:30:14 +01:00
2018-11-01 04:52:32 +01:00
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/ ).
2024-04-03 02:06:24 +02:00
[![Spiral ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_spiral.svg )](https://spiral.xyz)
[![OpenSats ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_opensats.svg )](https://opensats.org)
[![Baillie Gifford ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_bailliegifford.svg )](https://www.bailliegifford.com)
[![Tether ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_tether.svg )](https://tether.to)
[![Human Rights Foundation ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_hrf.svg )](https://hrf.org)
[![LunaNode ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_lunanode.svg )](https://lunanode.com)
[![Wallet of Satoshi ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_walletofsatoshi.svg )](https://walletofsatoshi.com/)
[![Coincards ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_coincards.svg )](https://coincards.com/)
[![IVPN ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_ivpn.svg )](https://ivpn.net/)
2024-09-16 23:33:11 +02:00
[![Unbank ](https://raw.githubusercontent.com/btcpayserver/btcpayserver/master/BTCPayServer/wwwroot/img/readme/supporter_unbank.svg )](https://unbank.com/)
2019-11-07 19:43:25 +01:00
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/ ).