Skip to main content

How to Use This Roadmap

Structure

The roadmap is divided into two main sections:

Universal Fundamentals

These are the topics every Bitcoin developer needs to understand, regardless of specialization. They are organized in a suggested learning order:

  1. Prerequisites — Programming, math, and systems knowledge you should have before diving into Bitcoin
  2. Bitcoin Fundamentals — History, philosophy, and core cryptographic concepts
  3. Bitcoin Architecture — The UTXO model, transactions, and Bitcoin Script
  4. P2P Network — How nodes communicate and the network protocol
  5. Basic Development — Setting up a node, understanding networks (mainnet/testnet/regtest), and basic wallet operations

Specialization Tracks

After completing the fundamentals, choose one (or more) tracks:

  • Protocol Developer — Work on Bitcoin Core itself, consensus mechanisms, and protocol improvements
  • Application Developer — Build applications on top of Bitcoin: wallets, payment processors, exchanges
  • Infrastructure Developer — Create the tools and services the ecosystem depends on: explorers, indexers, APIs
  • Mining Developer — Develop mining software, pool infrastructure, and hardware optimization

Tips

  • Don't rush the fundamentals. A strong foundation makes specialization much easier.
  • Practice as you learn. Each section includes practical exercises and project suggestions.
  • Use regtest for experiments. The regtest network lets you mine blocks instantly and test without real funds.
  • Refer to primary sources. We link to BIPs, Bitcoin Core source code, and official documentation wherever possible.
  • Join the community. Bitcoin development is collaborative — ask questions, review code, and share what you learn.