
Bitcoin needs more developers. The code that secures the world’s hardest money is maintained by a surprisingly small group of people: in the last six months, only about 133 people had code merged into Bitcoin Core. If you have ever wondered how to become a Bitcoin developer, the good news is that the path is open, the learning materials are free, and you do not need anyone’s permission to start.
This guide is the roadmap we use at Code Orange Dev School in Bali. It takes you from “I hold some bitcoin” to “I contribute to Bitcoin open source”, one step at a time.
Do you need to be a programmer first?
No, but it helps. Many people who end up writing Bitcoin code started as curious users. What matters most is that you understand how Bitcoin works before you try to change it.
If you already write code, you are ahead. Python is the easiest place to start playing with Bitcoin, Rust is behind many newer wallets and libraries (like BDK and rust-payjoin), and C++ is the language of Bitcoin Core.
Step 1: Use Bitcoin yourself
Every good Bitcoin developer is first a Bitcoin user. Before writing code:
- Hold your own keys. Set up a wallet, write down the seed, and make a small payment. (Our guide Why Self-Custody Matters is a good start.)
- Try Lightning with a small amount.
- Look up your transaction on a block explorer like mempool.space and try to understand what you see.
This sounds basic, but it is where your intuition comes from. Most bugs and most good ideas come from people who actually use the software.
Step 2: Learn how Bitcoin works under the hood
Next, learn the protocol: transactions, keys and signatures, scripts, blocks and how nodes agree on them. Free, high-quality options:
- Decoding Bitcoin by The Bitcoin Dev Project (bitcoindevs.xyz/decoding): interactive lessons that take you from the basics to Taproot.
- Mastering Bitcoin by Andreas Antonopoulos and David Harding: the classic book, free to read online.
- Learning Bitcoin from the Command Line: a hands-on tutorial using
bitcoin-cli.
Studying alone is hard to keep up. That is why we run Decoding Bitcoin as a free 10-week study cohort on Discord: you read the lessons during the week, then work through them together every Monday.
Step 3: Run a Bitcoin node
Running your own node turns theory into something you can touch. Install Bitcoin Core (or a node package like Umbrel or Start9), let it sync, and start asking it questions with bitcoin-cli: look up blocks, decode transactions, create a wallet on signet.
Once you can talk to a node, you can build on it.

Step 4: Build something small
Pick one small project and finish it. Ideas that teach a lot:
- A script that watches an address and alerts you when it receives a payment.
- A tool that decodes a raw transaction and explains it in plain English.
- A tiny Lightning tip page.
Finishing something small teaches you more than starting something big. Share it on GitHub, even if it is rough.
Step 5: Learn to read and review real code
This is the step most people skip, and the one that matters most. Bitcoin projects need reviewers even more than they need new code.
- Join the Bitcoin Core PR Review Club (bitcoincore.reviews), which picks one pull request each week and walks through it.
- Join our Code Review Club on Discord, where we review real pull requests together and practise writing useful review comments.
- If privacy interests you, our Privacy Track works through PayJoin, Silent Payments, ecash and more, with labs.
Reading other people’s code is how you learn the codebase, the style and the people.
Step 6: Make your first contribution
Your first contribution does not have to be big. Good first steps:
- Fix documentation or improve error messages.
- Write or improve a test.
- Test a pull request and report what you found.
- Pick an issue labelled “good first issue” in a project like BDK, rust-payjoin, LDK or Bitcoin Core.
Read the project’s CONTRIBUTING file first, keep your change small, and be patient with review. Every merged pull request is public proof of your work.
Step 7: Get funded to do it full time
Yes, you can get paid to work on Bitcoin open source. Organisations such as Btrust, Brink, OpenSats, Spiral and the Human Rights Foundation fund developers through grants and fellowships, usually after you have shown real contributions.
At Code Orange we run a developer fellowship: a mentor, a real project and a monthly stipend paid in bitcoin, for builders who are ready to go deeper.
How long does it take?
It depends on where you start. A working programmer who studies a few hours a week can usually make a first small contribution within a few months. Someone new to coding should expect longer, and that is fine. The people who make it are the ones who keep showing up.
Start today
You do not need a degree, a job offer or anyone’s permission. You need curiosity, a laptop and a community to learn with.
The easiest first step: join the Code Orange Discord and come to a free session this week. Or pick your path on our Start here page.
Frequently asked questions
Is it free to learn Bitcoin development?
Yes. The best materials (Decoding Bitcoin, Mastering Bitcoin, Learning Bitcoin from the Command Line) are free, and all Code Orange programs are free.
Which programming language should I learn for Bitcoin?
Start with Python to experiment. Learn Rust for wallets and libraries (BDK, LDK, rust-payjoin) and C++ if you want to work on Bitcoin Core.
Can I become a Bitcoin developer without a computer science degree?
Yes. Contributions are judged on the code and the review, not on degrees. Many Bitcoin developers are self-taught.
How do Bitcoin developers get paid?
Mostly through grants and fellowships from organisations such as Btrust, Brink, OpenSats, Spiral and HRF, or by working at Bitcoin companies.
Where can I learn Bitcoin development in person in Bali?
Code Orange Dev School runs free workshops and meetups in Bali, plus online sessions on Discord. See the calendar.