Accept Bitcoin payments. Free, open-source & self-hosted, Bitcoin payment processor.
Go to file
d11n f8e6b51e9d
Store-centric UI (#3091)
* Update layout structure and header

* Implement store selector

* Simplify homepage

* Update layout

* Use dropdown for store selector

* Hide global nav in store context

* Horizontal section nav

* Remove outer section and container from content views

* Update nav

* Set store context for invoice and payment request lists

* Test fixes

* Persist menu collapse state on client-side

* MainNav as view component

* Update app routes to incorporate store context

* Test fixes

* Display ticker for altcoins build only

* Plugins nav

* Incorporate category for active page as well

* Update invoice icon

* Add apps list to nav

* Add store context to app type controllers

* Incorporate id for active page as well

* Test fixes

* AppsController cleanup

* Nav: Display only apps for the current store

* Remove leftover from merge

* Nav styles optimization

* Left-align content container

* Increase sidebar padding on desktop

* Use min-width for store selector menu

* Store settings nav update

* Update app and payment request routes

* Test fixes

* Refactor MainNav component to use StoresController

* Set store context for invoice actions

* Cleanups

* Remove CurrentStore checks

The response will be "Access denied" in case the CookieAuthorizationHandler cannot resolve the store.

* Remove unnecessary store context setters

* Test fix
2021-12-11 12:32:23 +09:00
.circleci Add third party tests to the suite, skip azure test if not configured 2021-11-23 13:26:47 +09:00
.github Apply Kukk's suggestions from code review 2020-12-13 13:20:52 +01:00
.run Plugins flexibility PR (#2129) 2021-01-07 14:49:53 +01:00
.vscode Make vscode open the browser automatically 2020-07-29 19:54:52 +09:00
BTCPayServer Store-centric UI (#3091) 2021-12-11 12:32:23 +09:00
BTCPayServer.Abstractions Store-centric UI (#3091) 2021-12-11 12:32:23 +09:00
BTCPayServer.Client Add pagination for API GetNotifications (#3145) 2021-11-26 11:55:59 +09:00
BTCPayServer.Common Remove Logs static singletons 2021-11-23 13:55:34 +09:00
BTCPayServer.Data Remove Confirmed state in UI (#3090) 2021-11-26 23:13:41 +09:00
BTCPayServer.PluginPacker Plugins flexibility PR (#2129) 2021-01-07 14:49:53 +01:00
BTCPayServer.Plugins.Test Store-centric UI (#3091) 2021-12-11 12:32:23 +09:00
BTCPayServer.Rating Update Bitbank API (#3157) 2021-11-25 09:34:49 +01:00
BTCPayServer.Tests Store-centric UI (#3091) 2021-12-11 12:32:23 +09:00
Build changelog and bump 2021-11-20 22:45:21 +09:00
docs add greenfield authorize UI docs and fix small issues (#2156) 2020-12-23 13:19:38 +09: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 BTCPay Extensions Part 2 (#2001) 2020-10-21 14:02:20 +02:00
amd64.Dockerfile Fix docker images 2021-10-07 11:20:50 +09:00
arm32v7.Dockerfile Use buster rather than bulleyes for arm32 2021-10-23 22:09:13 +09:00
arm64v8.Dockerfile Fix docker images 2021-10-07 11:20:50 +09:00
btcpayserver.sln Add fix to changelog 2021-08-10 10:11:16 +02: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 changelog and bump 2021-11-20 22:45:21 +09:00
docker-entrypoint.sh Fix docker-entrypoint for raspberry 2019-09-24 15:21:50 +09:00
LICENSE Update year (#2184) 2021-01-05 12:38:30 +09:00
nuget.config Add a test catching expirationTime bug (#1336) 2020-03-10 17:11:15 +09:00
publish-docker.ps1 Remove stable and latest branch 2021-04-01 12:06:29 +09:00
README.md Update README.md 2021-10-01 23:10:43 -07: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

BTCPay Server

Accept Bitcoin payments โ‚ฟ

BTCPay Server is a free and open-source Bitcoin payment processor which allows you to accept bitcoin without fees or intermediaries.

"This is lies, my trust in you is broken, I will make you obsolete" ๐Ÿ’š

View Demo ยท Report a bug ยท Request a feature ยท FAQ

๐Ÿ’ผ Table of Contents

๐ŸŽจ Features

  • Direct, peer-to-peer Bitcoin payments
  • No transaction fees (other than the network fee)
  • No fees, middleman or KYC
  • Non-custodial (complete control over the private key)
  • Enhanced privacy & security
  • Self-hosted
  • SegWit support
  • Lightning Network support (LND, c-lightning, Eclair, and Ptarmigan)
  • Tor support
  • Share your instance with friends (multi-tenant)
  • Invoice management and Payment requests
  • Apps: Point of sale, crowdfunding, donation button
  • Full-node reliant wallet with hardware wallet integration and SegWit support
  • Bitcoin-only build, separate community-maintained altcoin build (supported altcoins)

๐Ÿš€ 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, there are plenty of documented 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, complete documentation and FAQ for more details.

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

๐Ÿค Contributing

BTCPay Server 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 join our community chat or start a GitHub discussion 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. To get the big-picture of the project development, visit our evolving roadmap. We organize different types of community calls several times a month. Subscribe to our calendar and feel free to join our calls to discuss development, design, documentation and more.

๐Ÿง‘โ€๐Ÿ’ป Developing

To begin developing locally, visit our local development guide. There are also several video-tutorials:

How to build

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

First, install .NET Core SDK v3.1 as specified by the Microsoft website.

On Powershell:

.\build.ps1

On linux:

./build.sh

How to run

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

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.

๐Ÿงช API

BTCPay Server has two APIs:

The Greenfield API is our brand-new API which is still in development. Once complete, it will allow you to run BTCPay Server headlessly. The Legacy API, is fully compatible with BitPay's API. It has limited features, but allows instant migration from BitPay.

๐Ÿ’š Community

Our community is the โค๏ธ of the project. To chat with other community members in real-time, join our Mattermost chat. We're also on GitHub discussions.

๐Ÿ“ 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
bailliegifford
Baillie Gifford
PNXBET
PNXBET
ACINQ
ACINQ
LunaNode
LunaNode
Wallet of Satoshi
Wallet of Satoshi
Nomics
Nomics
Coincards
Coincards

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