[[toc]]
By helping the project grow, become more mature, advanced and elaborate, coders working on BTCPay Server are a central component of the project.
If you have coding skills, be it writing or reviewing code, you can contribute to BTCPay Server.
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.
We are actively looking for developers who can take on and resolve GitHub issues and help with development. If you would like to help us, but need some guidance, the #dev channel on Mattermost is the place to ask questions.
If you are interested in getting started as a developer or tester of the software behind BTCPay Server, check out the Setup Developer Environment guide that will walk you step by step through every software used in development with BTCPay such as Git, GitBash, Github, Docker, Visual Studio, Postgres, etc. If you have never coded before and you are looking to learn something new, start here.
If you already have a developer environment setup you can start with the BTCPay specific Local Development documentation.
Once you have your development environment tools setup and your local BTCPay Server running, view the Local Testing guide. This shows you how to use BTCPay in regtest mode for use in development and for users who want to test new features before they are released.
Software requirements (ie. IDE) can also be found in local development.
BTCPay Server development videos can be found here or on the BTCPayServer YouTube channel.