# Become a Btrust Builder

Structured pathways to learn Bitcoin, build real skills, and prepare for open-source contribution.

Btrust Builders is our program to educate software developers from Africa about Bitcoin and Lightning development, and start them on their journey as open-source Bitcoin contributors.

The pathways are designed to build strong foundations in Bitcoin and progress toward meaningful open-source contribution, whether you’re just getting started or sharpening advanced skills.

You can learn at your own pace using our always-available materials, or [apply](https://btrust.homerun.co/btrust-builders-application/en) to join a live, guided cohort with small study groups, mentorship, and evaluation.

Pick a pathway. Learn deeply. Build readiness for open-source Bitcoin.

***

### How the Builders Journey Works

Btrust Builders operates as a progressive contributor pipeline:&#x20;

<div align="center" data-full-width="false"><figure><img src="/files/IemCsyCLAYntHPK2I6xh" alt="" width="375"><figcaption></figcaption></figure></div>

* **Pathways (On-Ramps)**\
  Structured learning programs that build technical understanding, contribution habits, and readiness.
* **Open Source Fellowship (Acceleration)**\
  A contribution-driven program for top performers working on real Bitcoin open-source projects.
* **Outcomes**\
  Long-term contribution, grants, ecosystem roles, and alumni collaboration.

Pathways are the entry point. Progression is based on demonstrated readiness, not automatic advancement.

***

### Choose Your Learning Mode

<details>

<summary>Self-Paced Learning (Always Available)</summary>

Learn independently using Builders materials and the [Resource Hub](/resource-hub).

* No application required
* Learn on your own schedule
* Access readings, exercises, and discussion prompts
* Ideal for exploration, skill-building, or busy schedules

<a href="/pages/AdDModMQnhhBNyEmgSmy" class="button primary">Start Self-Paced Learning</a>

</details>

<details>

<summary>Live Cohort (Limited &#x26; Selective)</summary>

A guided learning experience with structure, accountability, and mentorship.&#x20;

* Application-based, fixed start/end dates
* Weekly study groups and mandatory cohort sessions
* Assigned chaperone for guidance, mentoring, and grading
* Graduates listed publicly
* Required for Fellowship consideration

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply for a Live Cohort</a>

*Due to high application volume, not all learners will join live cohorts, and that’s intentional. The Pathways are built to support both independent and guided learning without loss of quality.*

</details>

***

### All Pathways&#x20;

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th></th><th align="center"></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>pathway #01</td><td><strong>Mastering Bitcoin</strong></td><td>Build strong conceptual foundations and Bitcoin mental models using <em>Mastering Bitcoin: Programming the Open Blockchain (3rd Edition)</em>. </td><td><ul><li>Duration: 8 weeks</li><li>Level: Beginner (Theory)</li><li>Best for: Developers new to Bitcoin or seeking deeper protocol understanding</li></ul></td><td></td><td align="center"><a href="/pages/nJA0O9O44ceSh0o7T7YL" class="button primary">View Pathway</a> </td><td><a href="/files/sCyDTBLHDfUZ4TyBnrLe">/files/sCyDTBLHDfUZ4TyBnrLe</a></td><td></td></tr><tr><td>pathway #02</td><td><strong>Learn Bitcoin from the Command Line</strong></td><td>Get hands-on with Bitcoin Core and interact directly with the protocol.</td><td><ul><li>Duration: 7 weeks</li><li>Level: Intermediate (Hands-On)</li><li>Best for: Developers ready to work with real Bitcoin infrastructure</li></ul></td><td></td><td align="center"><a href="/pages/2P63RdAvcuiQqmAap10A" class="button primary">View Pathway</a></td><td><a href="/files/pUjkL5SYvZ1NLsB4Cuet">/files/pUjkL5SYvZ1NLsB4Cuet</a></td><td></td></tr><tr><td>pathway #03</td><td><strong>Rust for Bitcoiners</strong></td><td>Learn Rust with a focus on Bitcoin-related open-source development.</td><td><ul><li>Duration: 6 weeks</li><li>Level: Intermediate → Advanced</li><li>Best for: Developers preparing for modern Bitcoin OSS stacks</li></ul></td><td></td><td align="center"><a href="/pages/NHTBPk7YePgnN6hDtXR3" class="button primary">View Pathway</a></td><td><a href="/files/5z36a6vdKTRriQGEpI6e">/files/5z36a6vdKTRriQGEpI6e</a></td><td></td></tr><tr><td>pathway #04</td><td><strong>Language Clubs</strong></td><td>Sharpen your skills in Bitcoin-relevant programming languages.</td><td><ul><li>Duration: 6 weeks</li><li>Level: Intermediate → Advanced</li><li>Languages: Python, C++</li><li>Best for: Developers improving fluency and codebase reading</li></ul></td><td></td><td align="center"><a href="/pages/I7lw8LBY9gYMqfJqjcMJ" class="button primary">View Pathway</a></td><td><a href="/files/iVa2uJm3OkfvdI1rLFiQ">/files/iVa2uJm3OkfvdI1rLFiQ</a></td><td></td></tr><tr><td>pathway #05</td><td><strong>Start Your Career in ₿OSS</strong></td><td>Join a one-month challenge on Bitcoin and open-source software (₿OSS) by Builders in partnership with Chaincode Labs.</td><td><ul><li>Duration: 4 weeks</li><li>Level: All levels (with a focus on starting your open-source journey)</li></ul></td><td></td><td align="center"><a href="/pages/klGm2l4TyjZZLXh5AF2o" class="button primary">View Pathway</a></td><td><a href="/files/xOxZA0O6AIYGK3q9VdcE">/files/xOxZA0O6AIYGK3q9VdcE</a></td><td></td></tr></tbody></table>

***

### Program Calendar

Builders pathways run multiple times per year, with different cohorts opening across quarters.

* Cohort start windows vary by pathway
* Applications open ahead of each cohort
* Self-paced learning is always available

<table data-full-width="false"><thead><tr><th>Pathways (Live Cohorts) | Projects</th><th>Timeline</th></tr></thead><tbody><tr><td>BOSS challenge</td><td>Starts January 2026</td></tr><tr><td>#01: Mastering Bitcoin - Cohort 1 </td><td>Starts March 2026</td></tr><tr><td>#02: Learn Bitcoin from the Command Line - Cohort 1 </td><td>Starts March 2026</td></tr><tr><td>#03: Rust for Bitcoiners - Cohort 1</td><td>Starts May 2026</td></tr><tr><td>#04: Language Clubs - Cohort 1 </td><td>Starts May 2026</td></tr><tr><td>#01: Mastering Bitcoin - Cohort 2 </td><td>Starts June 2026</td></tr><tr><td>#02: Learn Bitcoin from the Command Line - Cohort 2 </td><td>Starts June 2026</td></tr><tr><td>Open Source Fellowship (10 weeks)</td><td>Starts August 2026</td></tr><tr><td>#03: Rust for Bitcoiners - Cohort 2</td><td>Starts October 2026</td></tr><tr><td>#04: Language Clubs - Cohort 2</td><td>Starts October 2026</td></tr><tr><td>Program close, review, and 2027 planning</td><td>Starts November 2026</td></tr><tr><td>2027 program plan launched</td><td>December 2026</td></tr></tbody></table>

***

### What To Expect

Whether you learn independently or in a live cohort, Builders pathways emphasize:

{% tabs %}
{% tab title="Deep, structured learning" %}

<figure><img src="/files/BaRJf6Esjm0kW3r6k299" alt="" width="563"><figcaption></figcaption></figure>

Foundational and practical Bitcoin & Lightning knowledge built step by step.
{% endtab %}

{% tab title="Open-source habits" %}

<figure><img src="/files/uynShtFX5GR0Uj7dMsh6" alt="" width="563"><figcaption></figcaption></figure>

Learning how to read code, ask good questions, collaborate, and contribute.
{% endtab %}

{% tab title="High-quality materials" %}

<figure><img src="/files/yQnXPy0RmDpsK2KrK17v" alt="" width="563"><figcaption></figcaption></figure>

Carefully curated readings, exercises, prompts, and walkthroughs.
{% endtab %}

{% tab title="Community & support" %}

<figure><img src="/files/HXmTaD0Vgdu1jWH1dICw" alt="" width="563"><figcaption></figcaption></figure>

A network of developers learning and building together across Africa.
{% endtab %}

{% tab title="Clear progression signals" %}

<figure><img src="/files/wgT99lR47eyEeScXaHMo" alt="" width="563"><figcaption></figcaption></figure>

Understanding what readiness for deeper contribution really looks like.
{% endtab %}
{% endtabs %}

***

### Community

Join the **Btrust Builders** community of people who:

* Learn in public
* Ask thoughtful questions
* Collaborate respectfully
* Build long-term open-source habits

{% embed url="<https://discord.com/invite/wFt6puhmwk>" %}

***

### Frequently Asked Questions

<details>

<summary>How do the pathways work in 2026?</summary>

Btrust Builders Pathways are structured learning tracks designed to help developers build real capability in Bitcoin and open-source development.

In 2026:

* Most pathways are available year-round in self-paced mode
* Some pathways also run live, guided cohorts at specific times
* You can enter at different levels depending on your background
* Progress is measured through proof of work, not attendance

Each pathway clearly explains:

* Who it’s for
* What you’ll learn
* How to participate (self-paced or live)
* What completion looks like

You choose the pathway and learning mode that best fits your goals and availability.

</details>

<details>

<summary>What’s the difference between self-paced learning and live cohorts?</summary>

**Self-Paced Learning**

* Learn independently, on your own schedule
* No deadlines, live sessions, or evaluations
* Structured materials, prompts, and guidance provided
* Best for busy schedules, exploration, or refreshers

**Live Cohorts**

* Fixed schedule with weekly sessions
* Small study or homegroups with peer accountability
* Guided discussions, feedback, and evaluation
* Limited spots and selective admission
* Required for progression into certain advanced Builders programs

Both modes are designed to be high-quality. The difference is structure and accountability, not content quality.

</details>

<details>

<summary>Do I have to pay to join?</summary>

All pathways are **free to participate in**.

We remove financial barriers so learners can focus on:

* Showing up consistently
* Doing the work
* Building real skills and public proof

What we *do* require is commitment. Pathways are demanding by design, and spots in live cohorts are limited.

</details>

<details>

<summary>How do I choose the right pathway?</summary>

Start by being honest about where you are right now.

As a general guide:

* New to Bitcoin or want strong fundamentals?\
  → Start with *Mastering Bitcoin*
* Understand Bitcoin basics and want hands-on experience?\
  → *Learn Bitcoin from the Command Line*
* Comfortable with programming and ready for real code?\
  → *Rust for Bitcoiners* or *Language Clubs*
* Unsure where you fit?\
  → Start with a foundational pathway, then progress forward

Each pathway page clearly states:

* Prerequisites
* Level
* Expected commitment

When in doubt, start earlier rather than later. Foundations compound.

</details>

<details>

<summary>Can I join more than one pathway?</summary>

Yes — but not at the same time in most cases.

We strongly recommend focusing on one pathway at a time, especially for live cohorts.&#x20;

Why:

* Pathways require consistent weekly effort
* Splitting attention usually leads to shallow learning
* Builders prioritizes depth over speed
* Most pathway cohorts run in parallel.

You’re welcome to complete pathways sequentially as you progress.

</details>

<details>

<summary>How does the Open Source Fellowship work?</summary>

The Open Source Fellowship is a separate, advanced program.

* It is not open enrollment
* It is by invitation or application
* Selection is based on demonstrated proof of work, not credentials

Typically:

* Strong performance in live cohorts
* High-quality public work (code, research, contributions)
* Consistency, collaboration, and reliability over time

Completing a pathway does not guarantee fellowship placement, but it is often the first step toward it.

</details>

<details>

<summary>What if I am already well past all these pathways and fellowship?</summary>

You might be ready for the Btrust Grants. Grants are based on proof of work.

We currently offer:

* **Starter Grant** (full-time funding for six months)
* **Open-Source Cohort** (structured support while contributing long-time)

See [btrust.tech/grants](https://www.btrust.tech/grants) for details.

</details>

<details>

<summary>Do you have resources on open-source contribution?</summary>

Yes. Start with [Open Source Contribution Notes](/resource-hub/open-source-contribution-notes).

You can also browse the [Resource Hub](/resource-hub) for developer tools and reading.

</details>

<details>

<summary>Will I get a job with Btrust after completing one or more of the pathways?</summary>

Btrust does not hire developers directly. We support contributors through grants.

Pathways help you build proof of work. Proof of work helps you qualify for grants.

</details>

***

### Ready To Start?

Explore the Pathways, choose your learning mode, and begin your Builders journey.&#x20;

{% columns %}
{% column valign="middle" %}

<p align="center"><a href="/pages/kzTlst3tKo255yz4YpDi#all-pathways" class="button primary" data-icon="magnifying-glass-waveform">View Pathways</a></p>
{% endcolumn %}

{% column valign="middle" %}

<p align="center"><a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary" data-icon="arrow-pointer">Apply for a Live Cohort</a></p>
{% endcolumn %}
{% endcolumns %}


# Resource Hub

Curated resources divided into sections for easy digest

Resources and articles are provided in no particular order. They may (or may not!) provide additional insight into one or more facets of Bitcoin understanding. Resources found below are not representative of the views of Btrust Builders or its members.&#x20;

{% hint style="info" %}
Resources have not been verified as accurate; don't trust, verify!
{% endhint %}

***

### Jump to:

* [Open Source Contribution Notes](/resource-hub/open-source-contribution-notes)
* [Open Source Cheat Sheets](#open-source-cheat-sheets)
* [Open Source Projects (with stacks) ](#open-source-projects)
* [Developer Tools](#developer-tools)&#x20;
* [Writing](#writing)&#x20;
  * [Articles](#articles-1)&#x20;
    * [Technical](#technical)&#x20;
    * [Economics](#economics)&#x20;
    * [Energy](#energy)&#x20;
    * [Lightning](#lightning)&#x20;
    * [Culture](#culture)&#x20;
* [Cryptography](#cryptography)
* [Learning](#learning-resources)
  * [Miniscript](#miniscript)
  * [Taproot](#taproot)&#x20;
  * [SegWit](#segwit)
  * [Open Source](#open-source)&#x20;

***

## Open Source: Cheat Sheets

| Link                                                                                                                                                                                                                                                                    | Notes                                                                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Getting Started in BOSS Contribution](https://docs.google.com/document/d/16oms6LEkxVWZRovxbX9wAkSTFSUg1bJIRTXGiHg3SV4/edit?usp=drivesdk)                                                                                                                               | How to start contributing to OSS projects. Find good projects to start with at <https://bitcoindevs.xyz/>                     |
| [Your First PR](https://docs.google.com/document/d/1uBmLfGrtXQbw7GfOIBUZF4aXoCkAvIcl8IYFxN9NliM/edit?usp=sharing)                                                                                                                                                       | How to prepare, submit your PR, and address reviews                                                                           |
| [Working in Public](https://docs.google.com/document/d/17oQ5QU66QHhCvtMeAl3xxbD63Gqjt8eCxWPjPWiO144/edit?usp=sharing)                                                                                                                                                   | Tips for doing the quiet work out loud                                                                                        |
| [Working in Public: The Making and Maintenance of Open Source Software](https://www.google.com/search?kgmid=/g/11sv8pwsqc\&hl=en-US\&q=Working+in+Public:+The+Making+and+Maintenance+of+Open+Source+Software\&shndl=17\&source=sh/x/kp/osrp/m5/1\&kgs=1d01d8bf1405305d) | Book by Nadia Eghbal. An inside look at modern open source software development and its influence on our online social world. |
| [How to survive open source (sort of)](https://docs.google.com/presentation/d/1GkkE7bW8G2060OqxSZaV96QFWy7BdRVeF8P9nGIvp4U/edit?usp=sharing)                                                                                                                            | Presentation by [Carla Kirk-Cohen](https://github.com/carlakc) on working in open source                                      |

## Open Source Projects

* [Bitcoin Core](https://github.com/bitcoin/bitcoin/issues) - C++, Python, C
* [Bitcoin JS](https://github.com/bitcoinjs/bitcoinjs-lib) - TS, JS
* [Bitcoin XPUB Converter](https://github.com/jlopp/xpub-converter) - JS
* [BtcPayServer](https://github.com/btcpayserver/btcpayserver/issues) - C#, Shell
* [Blue Wallet](https://github.com/bluewallet/bluewallet) - TS, JS
* [Electrum](https://github.com/spesmilo/electrum) - Python
* [Fedimint](https://github.com/fedimint/fedimint/issues) - Rust, Shell
* [LNDHub](https://github.com/BlueWallet/LndHub) - JS
* [Polar](https://github.com/jamaljsr/polar/issues) - Typescript, Docker
* [React Native LDK](https://github.com/BlueWallet/rn-ldk) - C++
* [Samourai wallet](https://code.samourai.io/wallet) - Kotlin, Java
* [Wasabi](https://github.com/zkSNACKs/WalletWasabi/issues) - C#
* [Phoenix](https://github.com/ACINQ/phoenix) - C
* [Eclair](https://github.com/ACINQ/eclair) - Scala
* [Lightning Kotlin Multiplatform](https://github.com/ACINQ/lightning-kmp) -Kotlin
* [Btcd](https://github.com/btcsuite/btcd) - Go
* [Lightning Loop](https://github.com/lightninglabs/loop) - Go
* [RTL](https://github.com/Ride-The-Lightning/RTL) - JS, TS
* [RGB](https://github.com/RGB-WG/rgb) - Rust
* [Mempool](https://github.com/mempool/mempool) - TS
* [Element Projects](https://github.com/elementsproject/elements) - C++, Python
* [Pyblock](https://github.com/curly60e/pyblock) - Python
* [Bitcoinj](https://github.com/bitcoinj/bitcoinj) - Java
* [Bitbox Wallet App](https://github.com/digitalbitbox/bitbox-wallet-app) - GO, TS
* [Trezor firmware](https://github.com/trezor/trezor-firmware) - Python, C
* [JoinMarket](https://github.com/JoinMarket-Org/joinmarket-clientserver) - Python
* [Elements Lightning](https://github.com/ElementsProject/lightning) - C, Python
* [Lightning Pool](https://github.com/lightninglabs/pool) - GO
* [Warden Terminal](https://github.com/pxsocs/warden_terminal) - Python, TS
* [Robosats](https://github.com/RoboSats/robosats) - Python
* [JoinMarket WebUI](https://github.com/joinmarket-webui/jam/) - TS
* [Thunderhub](https://github.com/apotdevin/thunderhub) - TS

***

## Developer Tools

| Link                                                                                                                       | Notes                                                                                  |
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [Onboarding to Bitcoin Core](https://obc.256k1.dev/)                                                                       | GitHub repository: [link](https://github.com/chaincodelabs/onboarding-to-bitcoin-core) |
| [LND developer resources](https://docs.lightning.engineering/)                                                             |                                                                                        |
| [C-Lightning documentation](https://lightning.readthedocs.io/)                                                             | Including information on how to write and use custom plugins in any language           |
| [Bitcoin Programming with BitcoinJS, Bitcoin Core and LND](https://bitcoinjs-guide.bitcoin-studio.com/bitcoinjs-guide/v5/) |                                                                                        |

***

## Writing

### Articles

Writing is one of the cornerstones of the Btrust Builders program. One benefit is that it can help make your learning process more effective by forcing you to think about the subject in more depth. Another benefit is that it contributes to your online portfolio. A good article is a valuable digital artifact that can help you get better exposure to employers, or to the industry in general. [This guide](/resource-hub/writing-guidelines) contains information and tips on how to write better articles and get more out of your time spent on writing.

### Technical Writing

As a SW engineer, you'll have to do quite a bit of technical writing. Technical writing is hard and not something most of us get taught, but doing it well makes all the difference to the reader and can really make your material stand out. If your project is kick ass but people struggle to understand or use it, is it really kick ass?

| **Link**                                                                   | **Notes**                                |
| -------------------------------------------------------------------------- | ---------------------------------------- |
| [Google tech writing](https://developers.google.com/tech-writing/overview) | Technical writing for software engineers |

## Articles

[bitcoin-resources.com](https://bitcoin-resources.com/articles/) has collected a great list of articles covering a broad range of subject areas in and around bitcoin.

In addition to this (and possibly with some overlap) some additional articles and resources are provided below.

### Technical

| **Name**                                                                                                                                                 | **Author** |
| -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [Bitcoin Optech](https://bitcoinops.org/en/topics/)                                                                                                      | Various    |
| [Bitcoin StackExchange](https://bitcoin.stackexchange.com/)                                                                                              | Various    |
| [From scratch tour of bitcoin in python](https://karpathy.github.io/2021/06/21/blockchain/)                                                              | Karpathy   |
| [Bitcoin script 101](https://bitcoindev.network/bitcoin-script-101/)                                                                                     | Grokchain  |
| [Bitcoins the hard way: Using the raw bitcoin protocol](https://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html)                         | Shirriff   |
| [Upgrade path to post-quantum](https://gist.github.com/harding/bfd094ab488fd3932df59452e5ec753f)                                                         | Ruffing    |
| [Taproot is coming. What is it and how will it benefit us](https://bitcoinmagazine.com/technical/taproot-coming-what-it-and-how-it-will-benefit-bitcoin) | Van Wirdum |
| [Using BDK to create BIP157 SPV wallet (aka Neutrino)](https://bitcoindevkit.org/blog/2021/06/using-bdk-to-create-bip157-spv-wallet-aka-neutrino/)       | Maitra     |
| [Soft fork activation](https://deploy-preview-531--bitcoinops.netlify.app/en/topics/soft-fork-activation/)                                               | Various    |
| [Timelocks in a nutshell](https://medium.com/@RobinHung/bitcoin-timelocks-in-a-nutshell-4c95aafc7a59)                                                    | Hung       |
| [SPV node assumptions](https://www.reddit.com/r/BitcoinBeginners/comments/3eq3y7/full_node_question/ctk4lnd/)                                            | Wuille     |
| [Understanding the block header](https://medium.com/fcats-blockchain-incubator/understanding-the-bitcoin-blockchain-header-a2b0db06b515)                 | Rybarczyk  |
| [Why is it taking 20 minutes to mine this block?](https://r6.ca/blog/20180225T160548Z.html)                                                              | O'Connor   |
| [Compact Block Filters Deep Dive](https://bitcoin-dev.blog/blog/bip158-deep-dive/)                                                                       | Mouton     |
| [Schnorr Basics](https://bitcoin-dev.blog/blog/schnorr-basics/)                                                                                          | Rosenbaum  |
| [Compact Block Filters (BIP158) deep dive](https://ellemouton.com/posts/bip158/)                                                                         | Mouton     |

### Economics

| **Name**                                                                                                                                    | **Author**      |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| [Why Bitcoin](https://medium.com/@wiz/why-bitcoin-359ada12629e)                                                                             | Wiz             |
| [Cryptoeconomics](https://github.com/libbitcoin/libbitcoin-system/wiki/Cryptoeconomics)                                                     | Voskuil et. al. |
| [ASICs and decentralization](https://download.wpsoftware.net/bitcoin/asic-faq.pdf)                                                          | Poelstra        |
| [The bullish case for bitcoin](https://vijayboyapati.medium.com/the-bullish-case-for-bitcoin-6ecc8bdecc1)                                   | Boyapati        |
| [Shelling out: The origins of money](https://nakamotoinstitute.org/shelling-out/)                                                           | Szabo           |
| [Bitcoin for safety](https://jameso.be/2019/08/24/bitcoin-is-for-this.html)                                                                 | O’Beirne        |
| [Check your financial privilege](https://bitcoinmagazine.com/culture/check-your-financial-privilege)                                        | Gladstein       |
| [The monetary case for bitcoin](https://medium.com/coinmonks/the-monetary-case-for-bitcoin-778cd51ff272)                                    | Kaufman         |
| [Bitcoin is time](https://dergigi.com/2021/01/14/bitcoin-is-time/)                                                                          | Gigi            |
| [Masters and slaves of Money](https://breedlove22.medium.com/masters-and-slaves-of-money-255ecc93404f)                                      | Breedlove       |
| [Reject Nocoiner orthodoxy](https://elaineou.com/2018/10/10/reject-nocoiner-orthodoxy/)                                                     | Ou              |
| [Financial freedom in the post-cash world](https://www.cato.org/cato-journal/spring/summer-2021/financial-freedom-privacy-post-cash-world#) | Gladstein       |
| [Fighting monetary colonialism](https://bitcoinmagazine.com/culture/bitcoin-a-currency-of-decolonization)                                   | Gladstein       |
| [The humanitarian case for Bitcoin](https://bitcoinmagazine.com/culture/bitcoin-is-humanitarian-and-environmental)                          | Gladstein       |
| [Bitcoin is a trojan horse for freedom](https://bitcoinmagazine.com/culture/bitcoin-is-a-trojan-horse-for-freedom)                          | Gladstein       |

### Energy

| **Name**                                                                                                                                                                   | **Author** |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [End the FUD](https://endthefud.org/)                                                                                                                                      | Various    |
| [The hidden costs of the petrodollar](https://bitcoinmagazine.com/culture/the-hidden-costs-of-the-petrodollar)                                                             | Gladstein  |
| [Nic Carter archive](https://niccarter.info/)                                                                                                                              | Carter     |
| [Jack Dorsey says Bitcoin can make the world greener. Is he right?](https://nymag.com/intelligencer/2021/05/jack-dorsey-says-bitcoin-is-climate-friendly-is-he-right.html) | Wieczner   |
| [Bitcoin does not waste energy](https://unchained.com/blog/bitcoin-does-not-waste-energy/)                                                                                 | Lewis      |
| [Bitcoin is not backed by nothing](https://unchained.com/blog/bitcoin-is-not-backed-by-nothing/)                                                                           | Lewis      |

### Lightning

| **Name**                                                                                                                           | **Author**               |
| ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| [Lightning Network - Fundamental Limitations](http://www.truthcoin.info/blog/lightning-limitations/)                               | Truthcoin (Paul Sztorc)  |
| [How Lightning Actually Works](https://www.youtube.com/watch?v=yKdK-7AtAMQ)                                                        | Curious Inventor (Video) |
| [Bitcoin and lightning Transactions & Protocol Deep Dive](https://youtu.be/to8XItlplac)                                            | Curious Inventor (Video) |
| [Shortcomings of the Lightning Network](https://stacker.news/items/26339) May-2022                                                 | @nout                    |
| [Async lightning payment recieving (with LSP)](https://lists.linuxfoundation.org/pipermail/lightning-dev/2021-October/003307.html) | Corallo                  |
| [Creating a channel](https://ellemouton.com/posts/creating-a-channel/)                                                             | Mouton                   |
| [Updating state](https://ellemouton.com/posts/updating-state/)                                                                     | Mouton                   |
| [Revocation in more detail](https://ellemouton.com/posts/revocation/)                                                              | Mouton                   |
| [HTLC overview](https://ellemouton.com/posts/htlc/)                                                                                | Mouton                   |
| [HTLC deep dive](https://ellemouton.com/posts/htlc-deep-dive/)                                                                     | Mouton                   |

### Culture

| **Name**                                                                                                                                                                              | **Author**       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| [In defense of Bitcoin Maximalism](https://vitalik.ca/general/2022/04/01/maximalist.html)                                                                                             | Vitalik Buterin  |
| [Various topics](https://dergigi.com/words/)                                                                                                                                          | Gigi             |
| [The Bitcoin Library](https://casebitcoin.com/library)                                                                                                                                | Various          |
| [Who controls Bitcoin Core](https://blog.lopp.net/who-controls-bitcoin-core-/)                                                                                                        | Lopp             |
| [Bitcoinstrings.com (OP\_RETURN)](https://bitcoinstrings.com/)                                                                                                                        | Anduck           |
| [Books recommended by Bitcoiners](https://www.bitcoinerbooks.com/)                                                                                                                    | Various          |
| [Search Bitcoin Stack Exchange](https://bitcoin.stackexchange.com/search?q=%s)                                                                                                        | Various          |
| [Freelancing platforms which pay in Bitcoin](https://cointastical.medium.com/freelancing-platforms-which-pay-in-bitcoin-e38be56166df)                                                 | Various          |
| [True names not required](https://dergigi.com/2020/07/21/true-names-not-required/)                                                                                                    | Gigi             |
| [I AM HODLING](https://bitcointalk.org/index.php?topic=375643.0)                                                                                                                      | GameKyuubi       |
| [The History of the Mt Gox Hack: Bitcoin’s Biggest Heist](https://blockonomi.com/mt-gox-hack/)                                                                                        | Norry            |
| [The Rise and Fall of Mt. Gox](https://darknetdiaries.com/episode/9/) (Podcast, [transcript](https://darknetdiaries.com/transcript/9/))                                               | Darknet Diaries  |
| [The Blocksize War – Chapter 1 – First Strike](https://blog.bitmex.com/the-blocksize-war-chapter-1-first-strike/)                                                                     | Bier/BitMex      |
| [MtGox investigation update and preliminary release](https://blog.wizsec.jp/2015/02/mtgox-investigation-release.html)                                                                 | Wiz              |
| [Dr Bitcoin - The Man Who Wasn't Satoshi Nakamoto](https://anchor.fm/dr-bitcoin) (Podcast)                                                                                            | CONTENT:ED Audio |
| [The Craig Wright May 2016 Signing Sessions Debacle, In Full Context](https://mylegacykit.medium.com/the-craig-wright-may-2016-signing-sessions-debacle-in-full-context-338e2b316310) | MyLegacyKit      |
| [Private Presentations Aren't Proof](https://blog.wizsec.jp/2021/07/ppap.html)                                                                                                        | Wiz              |

## Cryptography

| **Name**                                                                                                                                                                                                             | **Author** |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| [ROAST is an async. protocol that makes t-of-n FROST signing robust: t honest signers can produce a Schnorr signature even if other signers disrupt.](https://twitter.com/real_or_random/status/1523964246945636352) | Ruffing    |
| [Practical Cryptography for Developers](https://cryptobook.nakov.com/)                                                                                                                                               | Nakov      |

In a Bitcoin context the chapters from Practical Cryptography for Developers (PCfD) on [Digital Signatures](https://cryptobook.nakov.com/digital-signatures) and specifically [ECDSA Signatures](https://cryptobook.nakov.com/digital-signatures/ecdsa-sign-verify-messages) are well-worth reading, as is the chapter on [Hash Functions](https://cryptobook.nakov.com/cryptographic-hash-functions).

In a lightning context, and in addition to the above, its worth also reading the [MAC and Key Derivation](https://cryptobook.nakov.com/mac-and-key-derivation) and [ECDH Key Exchange](https://cryptobook.nakov.com/asymmetric-key-ciphers/ecdh-key-exchange) chapters from PCfD, both of which are used as [part](https://github.com/lightning/bolts/blob/master/08-transport.md#cryptographic-messaging-overview) of the encrypted transport layer.

## Learning Resources

* [Mastering Bitcoin](https://github.com/bitcoinbook/bitcoinbook) - Andreas M. Antonopoulos
* [How Bitcoin Works](https://www.lopp.net/bitcoin-information.html) - Jameson Lopp
* [Bitcoin Developer Guide](https://developer.bitcoin.org/) - Bitcoin.org
* [Learning Bitcoin from the Cli](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line) - Christopher Allen and Shannon Appelcline
* [Understanding the Lightning Network](https://bitcoinmagazine.com/technical/understanding-the-lightning-network-part-building-a-bidirectional-payment-channel-1464710791) - Aaron van Wirdum
* [Bitcoin OPCODES](https://en.bitcoin.it/wiki/Script) - Wiki
* [A Gentle Introduction to Bitcoin development](https://programmingblockchain.gitbook.io/programmingblockchain/) - Gitbook
* [Bitcoin Addresses prefix](https://en.bitcoin.it/wiki/List_of_address_prefixes) - Wiki
* [Curated technical and Non technical articles for developers](https://bitcoinmagazine.com/tags/developers) - Bitcoin Magazine
* [LND](https://dev.lightning.community/overview/) - LND Documentation
* [BITCOIN FOR DEVELOPERS](https://learn.saylor.org/course/CS120) - Saylor.org

#### **Miniscript**

* [Understanding Miniscript](https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-August/017270.html) - Peter Weille
* [Miniscript](https://bitcoin.sipa.be/miniscript/)- Peter Weille
* [Miniscript Workshop](https://github.com/apoelstra/miniscript-workshop) - Andrew Polster

#### **Taproot**

* [Taproot Workshop](https://github.com/bitcoinops/taproot-workshop) - Bitcoinops
* [Optech Taproot Workshop](https://bitcoinops.org/en/schorr-taproot-workshop/) - Bitcoinops

#### **SegWit**

* [Benefits of SEGWIT](https://en.bitcoin.it/wiki/Segregated_Witness#Benefits) - Bitcoin Wiki
* [BIP 141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki) - Eric Lombrozo, Johnson Lau and Pieter Wuille

#### Open Source

* [How to Contribute to Open Source Project](https://opensource.guide/how-to-contribute/) - Open Source Guide
* [Contributing to Bitcoin - tips and tricks](https://danielabrozzoni.com/posts/contributing_to_oss/) - Daniela Brozzoni
* [Bitcoin Core Onboarding](https://bitcoincore.academy/) - Will Clark
* [A Gentle Introduction to Bitcoin Core Development](https://medium.com/bitcoin-tech-talk/a-gentle-introduction-to-bitcoin-core-development-fdc95eaee6b8) - Jimmy Song
* [Onboarding to Bitcoin Core](https://medium.com/@amitiu/onboarding-to-bitcoin-core-7c1a83b20365)- Amiti Uttarwar


# Open Source Contribution Notes

This content was originally published as part of the Btrust Builders Course Materials and is reproduced here without modification

## The crux of modern open source projects

The tragedy of the commons relates to to the self-interest of individuals with unhindered access to a common resource who cause the depletion of that resource. In the world of open source software, that common resource takes on many forms. It could be the limited number of maintainers and reviewers for contributors, the lack of people willing to contribute, but many users in the community making feature requests, and so on. These days it also includes funding of the actual software project itself. An open source tool may be consumed by multinational enterprises, but only funded by a select few community members and perhaps smaller companies.

A decent lay-of-the-land when it comes to the social and economical story of open source software can be found in Nadia Eghbal's [*Working in Public: The Making and Maintenance of Open Source Software*](https://www.goodreads.com/book/show/54216469-working-in-public)

## Etiquette

### There are no dumb questions, but there are repeated ones

If you're about to ask a question on any sort of community forum, please ensure you've made some effort in the following way:

* You've searched the forum and web *properly*. Search can be a powerful tool and you'll need to learn how to use it effectively. General programming questions which are very likely to have been already answered on StackOverflow or within the language's documentation, should not be asked on community forums. It's just noisy. Use the power of search by quoting parts of errors to find exact matches, use filters provided by GitHub. It's very likely you're not the first asking the question. This is one way to ensure we don't deplete the resources of the commons.
* You've spent enough time trying to figure out the solution yourself. If you ask for assistance before you've struggled through a problem for some time, you're not going to retain that experience and remember it for when the problem comes about again.
* Maintainers and fellow contributors are humans. Don't expect an immediate reply and always be courteous (this isn't a Twitter thread). While waiting for a reply, try working on something else or you could even try researching your problem even further.

### Code of conduct

Ensure that you always read a project's code of conduct if one is present. Often, these will be very similar, for example, in the Rust community, there is a lot of *borrowing* (pun intended) of the Rust Language project's Code of Conduct going on.

NOTE: If you're a good and genuine person who communicates in a respectful manner and keeps discussion away from personal traits, you will ace basically any code of conduct.

For projects that don't have a code of conduct, refer to NOTE above.

### Contributing Guidelines

These guidelines are what standardize the way we work on a project. You are coming to a project that you are new to. It's not going to go down well if you try to force your opinions on style and Git workflow. Discussions around these can definitely be had in GitHub issues to update the guidelines over time, but while contributing, stick to the prescribed guidelines and things will go smoothly.

## Git style

### Good messages

Writing good commit messages takes practice. So if you've been merging in garbage commits like "fix 1", "more updates", "fix 3", take note that these are not helpful at all to open source projects. I'd even say that unless your project is a throwaway toy, never make commits on shared history like this. I'd go further to say that for practice, you should ideally never ever make commits like these on shared history, even for throwaway toys.

Here are some good write-ups on some generally accepted best practices:

* [https://cbea.ms/git-commit/ ](<https://cbea.ms/git-commit/ >)
* <https://www.conventionalcommits.org/en/v1.0.0/>

## Review

Reviewing in open source projects is almost always the main bottleneck of development. Everyone wants to push code, but who will review? Review is actually an incredibly powerful way to understand more of the project over time. Good quality review is always highly appreciated, and the ability to do good quality review comes with time and built-up experience.&#x20;

See: <https://conventionalcomments.org/>&#x20;

Page Content Source: [Btrust Builders Course Materials](https://github.com/Qala-Dev/course-materials/blob/main/open-source.md)


# Writing Guidelines

This content was originally published as part of the Btrust Builders Course Materials and is reproduced here without modification

### 1. Table of Contents

* [Writing Guidelines](#id-1.-table-of-contents)
  * [1. Table of Contents](#id-1.-table-of-contents)
  * [2. Goals](#id-2.-goals)
    * [2.1. Why you write](#id-2.1.-why-you-write)
  * [3. Topic](#id-3.-topic)
    * [3.1. Choosing a topic](#id-3.1.-choosing-a-topic)
    * [3.2. Describing your own journey](#id-3.2.-describing-your-own-journey)
    * [3.3. Diving deep into a very narrow topic](#id-3.3.-diving-deep-into-a-very-narrow-topic)
    * [3.4. Tutorial for a small prototype application](#id-3.4.-tutorial-for-a-small-prototype-application)
  * [4. Know your audience](#id-4.-know-your-audience)
    * [4.1. Why your audience matters](#id-4.1.-why-your-audience-matters)
    * [4.2. The Btrust Builders target audience](#id-4.2.-the-btrust-builders-target-audience)
  * [5. Iterate](#id-5.-iterate)
  * [6. Don't forget](#id-6.-dont-forget)
    * [6.1. Grammar](#id-6.1.-grammar)
    * [6.2. Plagiarism](#id-6.2.-plagiarism)
  * [7. In summary](#id-7.-in-summary)

Writing is one of the cornerstones of the Btrust Builders program. One benefit is that it can help make your learning process more effective by forcing you to think about the subject in more depth. Another benefit is that it contributes to your online portfolio. A good article is a valuable digital artifact that can help you get better exposure to employers, or to the industry in general. This guide contains information and tips on how to write better articles and get more out of your time spent on writing. This is largely based on observations from previous students, and will hopefully prove to apply to your situation too.

In a nutshell, the process described here goes as follows:

> Define your goals. From your goals, choose a topic. Given a topic, what is the most appropriate audience? Identify what your audience already knows and what you want them to learn, and define the structure that will provide the most natural way of getting there. Start writing your content iteratively and keep optimizing for the goals you are trying to achieve. Run your article through a grammar-checking tool, and format it for the intended medium. Conscientiously proofread everything before publishing.

### 2. Goals

#### 2.1. Why you write

The Btrust Builders program requires you to publish articles regularly, so naturally one of your goals will be to satisfy that requirement. If that is your *only* goal, however, your writing will usually come across as uninspired, and often unoriginal and uninteresting. This should not come as a surprise, since you explicitly weren't optimizing for anything but finishing an article.

Additional goals could be (but are not limited to):

* Learn something new and synthesize your learnings for your own reference
* Produce digital artifacts of things you've learned, researched, solved, ...
* Build an online reputation or following in one or multiple domains
* Help readers avoid going through the same struggles you did when studying or building something specific
* Promote a new tool you've built or a new insight you've found
* ...

These goals can vary based on your ambitions, your skill level, the stage of the program, ... You can have multiple goals when writing an article, but as in life generally - if you set too many goals, you may end up struggling to achieve any of them.

Once you understand the goal(s) of your article, make sure to remind yourself of them frequently. For example, if one of your goals is to help readers avoid going through the same struggle you did, ensure you're rigorous about describing the exact process they need to follow, and not just a high-level description.

Having clearly defined goals helps you:

* decide where to put priorities (e.g. completeness, original thought, simplicity, ...)
* decide which content is suitable and which content is interesting but would not sufficiently suit your goals and muddle the article
* increase your chances that the reader takes something away from the article

### 3. Topic

#### 3.1. Choosing a topic

An important constraint we take into account is time. Writing requires research, and research takes time. Given the amount of time you have (or want to spend), you have to ensure that your choice of topic will allow you to always ensure that:

* all content is factually correct without [plagiarizing](#id-6.2.-plagiarism) existing sources. Rephrasing or synthesizing information without having deep knowledge can lead to inaccuracies, e.g. through loss of nuance.
* the topic is sufficiently covered so that it does not leave out crucial components (simply referencing them can be enough)

However, satisfying these basic requirements just ensures that the article is publishable - not that it is compelling. To achieve that, the article should have as many as possible of these attributes:

* add value in a way that no other existing article has
* represent information in the most logical and concise way possible
* contain original thought. This can be something simple, like a new analogy to simplify a difficult topic, your experience in using a library, difficulties you had understanding a topic, ...

It is usually best to avoid broad, generic topics. Because of their broadness, you typically won't be able to achieve the level of mastery needed to write content that is (at least in some ways) better than the existing literature. Instead of "Privacy in Bitcoin", why don't you focus on "How the shadow heuristic leaks privacy"? Or instead of "What is Bitcoin Script?", talk about "Bitcoin Script: some unexpected quirks I found while building a multisig wallet". Even though the topic is specific, you can (and oftentimes should) still introduce the more generic concepts, but now they'll have a purpose and won't be the focus of the article.

Good recipes for a solid topic - each described in more detail below - are:

* [Describing your own journey](#id-3.2.-describing-your-own-journey)
* [Diving deep into a very narrow topic](#id-3.3.-diving-deep-into-a-very-narrow-topic)
* [Tutorial for a small prototype application](#id-3.4.-tutorial-for-a-small-prototype-application)

#### 3.2. Describing your own journey

If something was difficult for you, chances are it was for at least a few other people as well. One of the easiest sure-fire ways to find a good topic is to describe your journey of how you achieved something that took a bit of a struggle. This could be trying to understand a concept that was poorly (or not at all) explained in existing documentation or building an application that turned out to be difficult in areas you did not expect. Documenting your struggle will help people understand it more quickly.

> Hint: take quick notes/scribbles/links during your struggle to make it easier to write later on, and ensure you don't miss any steps that were vital to your understanding (but may seem obvious in hindsight)

#### 3.3. Diving deep into a very narrow topic

When you're rigorous in keeping the scope narrow enough, you may be able to become enough of an expert to produce new insight (relationships with other topics, benefits and drawbacks, potential implementation problems, ...) or accurately summarize, simplify or explain the topic to a reader with a lesser understanding than you do.

A topic is narrow enough if you're able to confidently research *everything* there is to know about that topic and fully understand all the nuances, criticisms, ... It's okay to set boundaries and clearly state that a certain (underlying) principle or topic is outside of the scope of an article.

#### 3.4. Tutorial for a small prototype application

Your content is almost guaranteed to be both useful and original if you walk the user through the process of building a (small and/or prototype) application, ideally after something you've built yourself. Even if the application idea isn't new or original, it's very easy to make your article stand out, for example through the use of specific languages or libraries, or by having certain features that other tutorials don't yet have.

> Hint: when writing a tutorial, you have to be *really* careful that no crucial information is missing, and that every single step is correct. Ensure the prerequisites and dependencies are properly specified. Triple check all the commands or instructions you provide and try to be thoughtful about having code that is compatible across platforms (or specify when it doesn't).

> Hint: see <https://developers.google.com/tech-writing> for detailed documentation on how to improve your technical writing.

### 4. Know your audience

#### 4.1. Why your audience matters

Say, after a year of dabbling in Bitcoin development you're interested in writing advanced Bitcoin Scripts and are excited to find a book called "The Bitcoin Script Expert". 3 hours and multiple chapters in, all you've read is how to switch on your computer and download a browser to visit the [https://bitcoin.org](https://bitcoin.org/) website. Frustrated, you put the book away and leave a not very flattering 1-star review. Even though the book claimed to cater to advanced Bitcoin users, the author didn't properly anticipate the knowledge his targeted audience would already have and scared away exactly the kind of profile the book should have been written for.

It's important to have a well-defined understanding of who you think will be the main audience that can benefit from your writing. Be explicit (at least with yourself, but it can help to define this in the article too) about which knowledge you expect them to have, what you expect them to learn, and what you think could be the best way to do so.

If you define your audience too broadly, you will upset your actual audience as you would be when reading "The Bitcoin Script Expert". Conversely, if you define your audience too narrowly, you may lose some readers that otherwise would have benefited from your writing, but are lacking just a bit too much background knowledge to follow along.

Defining your audience and finding a good balance between assuming not too much and not too little pre-existing knowledge is a delicate exercise, but one that needs to be done anyway. It is often a good idea to link to other sources for prior reading to ensure your audience can fill in any gaps in assumed knowledge before diving into your article.

#### 4.2. The Btrust Builders target audience

The Btrust Builders program has a very clear technical focus. Most of your writing should reflect that. Even though articles catered to a general audience can be helpful (and are important for the Bitcoin ecosystem in general), these will often not be the best choice for two reasons:

* Writing for a general audience typically requires the subject matter to be significantly summarized and simplified. Perhaps paradoxically, it usually takes an expert to make a sound judgment on how that can be done without losing too much nuance or even being plain wrong.
* Your goal should be to make yourself stand out for potential employers (and their technical recruiters) and show your level of technical understanding. This is much easier to do with an article catered toward a technical, educated audience.

Even though it's always a good idea to quickly rehash the fundamentals that underlie the article you're writing about, in general, you could assume that your audience already has a reasonable understanding of the basics of the Bitcoin and Lightning Network protocols, and has at least a basic understanding of the programming language you're using (if any).

### 5. Iterate

Everyone's writing process is different, and this guide does not prescribe how you should organize yours. However, especially for inexperienced writers, it's important to realize that your best writing often doesn't come from the first stroke of the pen.

A good place to start is the outline. Which topics do you want to cover, and what is the most natural order for them to be in? Being explicit about the outline also helps the reader understand what to expect from your article. As you progress with the writing, you can keep reorganizing the outline based on new insights you've gained.

When writing down your thoughts, it helps to be critical throughout, but there's no need to get it perfect right away. You can write down a few sentences, reread them, and see if it makes sense. Is it accurate? Is it complete? Is this the most concise and clear way this could be written? Does it fit in the structure I have laid out? Switching to a different task and revisiting your writing later on can also help bring clarity.

When you've finished the body of your article, don't forget to summarize the most important takeaways by means of a conclusion. Often times, the introduction and the conclusion are the only sections of an article that people read when they quickly want to understand if your article is worth spending time on. Most people struggle to write a high quality conclusion, so make sure to look up some resources on improving your conclusion such as [this one on indeed.com](https://www.indeed.com/career-advice/career-development/how-to-write-a-conclusion).

The most important thing is to not be too content too quickly, and keep iterating until you feel like you're not changing much anymore and that you have achieved the kind of quality that you would like your name to be associated with.

### 6. Don't forget

#### 6.1. Grammar

Even though it has nothing to do with the content, having poor grammar is one of the easiest ways to make your article look bad. In general, the reasoning is that if you can't get something as simple as that right, what else is wrong with the article?

Agree with that reasoning or not, improving your grammar has become much easier nowadays thanks to the help of various tools. Many text editors already have this functionality built-in, and there are dedicated tools such as [grammarly](https://www.grammarly.com/) that offer such services for free.

If you're asking someone to review your article, make sure to grammar check your writing every time before submitting it as a draft to avoid wasting their time on easy-to-correct mistakes.

#### 6.2. Plagiarism

> Plagiarism is presenting someone else’s work or ideas as your own, with or without their consent, by incorporating it into your work without full acknowledgement.
>
> <https://www.ox.ac.uk/students/academic/guidance/skills/plagiarism>

When presenting an idea that is not yours, you'll have to choose between using your own wording or quoting/paraphrasing the original author. You should always strive to rephrase a topic in your own words (e.g. by phrasing from it an alternative perspective, or in simpler terms, or by combining it with other topics). Sometimes rephrasing is not possible or sensible. In that case, it is okay to quote or paraphrase, but you *always* need to clearly indicate which content is quoted/paraphrased and reference the source.

Even though plagiarism is often not illegal, it is almost guaranteed to blemish your reputation if and when it is discovered. Especially in an open-source community such as Bitcoin's, be generous with your references. It ensures the original author receives credit for their work where it is due. Taking credit for someone else's work without creating value can be seen as a sign of laziness.

On the upside, providing ample references to high-quality sources is a great way to make your own article more useful. Even if your writing is sufficiently original, it's usually a good idea to consistently reference the sources that inspired your thinking.

### 7. In summary

This guide presents you with a basic framework to help you improve the quality of the articles you're writing. It is not exhaustive, and you may want to deviate from it in certain ways, but regardless of your process the below checklist should help you increase the impact your articles can make.

Before you start writing, ensure that:

* [ ] &#x20;the goals of your article are clear and articulated in the article if relevant
* [ ] &#x20;you have identified and stated your target audience, which ideally is sufficiently technical
* [ ] &#x20;the topic is narrow enough in scope to ensure that you're able to be(come) enough of an expert on the entire topic

During and after the writing, ensure that:

* [ ] &#x20;your article does the best job possible at achieving the stated goals
* [ ] &#x20;your article does not contain too much information that your target audience should already know, and does not omit any crucial information your target audience is not yet supposed to know
* [ ] &#x20;the topic is clearly stated, and the provided outline helps the reader understand how the article is structured
* [ ] &#x20;you've revisited your article multiple times, and feel confident that you cannot reasonably improve it anymore
* [ ] &#x20;you've used at least one grammar checking tool and fixed all issues
* [ ] &#x20;all sources used for the article are clearly referenced wherever used

Improving your writing takes time and practice. Enjoy the process, and hopefully you'll soon see your articles attract more readers and attention. Have fun!&#x20;

Page Content Source: [Btrust Builders Course Materials](https://github.com/Qala-Dev/course-materials/blob/main/writing-guidelines.md)


# Pathways Index

Choose the learning path that matches your experience, goals, and availability.

Builders pathways are structured learning activities that help software developers build Bitcoin knowledge, technical skills, and open-source readiness. Each pathway can be completed independently (self-paced) or through a live, guided cohort when available.

Not sure where to start? This page helps you compare pathways and choose the right fit.

***

## How to Use this Page

{% stepper %}
{% step %}
Review the [pathway descriptions and levels](/#all-pathways)
{% endstep %}

{% step %}
Decide between [self-paced learning](/#self-paced-learning-always-available) or applying for a [live cohort](/#live-cohort-limited-and-selective)
{% endstep %}

{% step %}
Click into a pathway page for full details, curriculum, and expectation
{% endstep %}
{% endstepper %}

You do not need to join a live cohort to start learning.

***

## Comparison Snapshot

| Pathway                             | Level                   | Focus                 | Capstone | Live Cohort |
| ----------------------------------- | ----------------------- | --------------------- | -------- | ----------- |
| Mastering Bitcoin                   | Beginner                | Theory & fundamentals | No       | Yes         |
| Learn Bitcoin from the Command Line | Intermediate            | Bitcoin Core & CLI    | No       | Yes         |
| Rust for Bitcoiners                 | Intermediate → Advanced | Rust & OSS            | Yes      | Yes         |
| Language Clubs                      | Intermediate → Advanced | Python / C++          | Yes      | Yes         |

Self-paced learning is available for all pathways. Live cohorts run at [specific times](/#program-calendar) during the year.&#x20;

***

## Not Sure Where You Fit?

* New to Bitcoin? → Start with [Mastering Bitcoin](/01/mastering-bitcoin)
* Know the basics, want hands-on experience? → [Learn Bitcoin from the Command Line](/02/learn-bitcoin-from-the-command-line)
* Targeting serious OSS contributions? → [Rust for Bitcoiners](/03/rust-for-bitcoiners) or [Language Clubs](/04/language-clubs-not-rust)
* Busy schedule or exploring first? → Start self-paced and apply later

If you already have strong proof-of-work and active open-source contributions, you may be closer to the Open Source Fellowship or long-term contribution paths.

***

## What Happens After a Pathway?

* Continued learning via the Builders [Resource Hub](/resource-hub)
* Optional application to additional pathways
* Top performers from live cohorts may be invited to the Open Source Fellowship
* Long-term engagement through the Builders community and alumni network

Completion alone does not guarantee progression, readiness and consistency matter.


# Mastering Bitcoin

Build strong Bitcoin fundamentals and mental models, the right way.

Mastering Bitcoin is an 8-week foundational pathway designed to help developers deeply understand how Bitcoin works, from first principles to protocol-level mechanics.

This pathway emphasizes technical reading, critical thinking, and discussion, the skills required to engage seriously with Bitcoin development and open-source work.

You can complete this pathway independently (self-paced) or apply to join a live, guided cohort.

#### **CTAs**

<a href="/pages/AdDModMQnhhBNyEmgSmy" class="button primary">Start Self-Paced Learning</a>

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply join a Live Cohort</a>

***

## What This Pathway Is

Mastering Bitcoin is about understanding before building.

Rather than jumping straight into tooling or code, this pathway focuses on developing correct mental models of Bitcoin: how the protocol works, why it is designed the way it is, and what trade-offs it makes.

This foundation is essential for anyone who wants to move from being a Bitcoin user to becoming a serious contributor to Bitcoin open-source software.

## Who It's For

This pathway is designed for:

* Developers new to Bitcoin
* Engineers seeking deeper protocol understanding
* Builders transitioning from *“user”* to *“contributor”*
* Anyone serious about learning Bitcoin correctly

You do not need to be an expert. Curiosity, discipline, and consistency matter more than prior knowledge.

## Prerequisites

* No formal Bitcoin background required
* Basic programming familiarity is helpful, but not required
* Willingness to read carefully and think deeply

## What You’ll Learn

By the end of this pathway, you will be able to:

* Understand how Bitcoin works under the hood
* Develop accurate Bitcoin mental models
* Read and reason about protocol-level concepts
* Discuss Bitcoin tradeoffs clearly and precisely
* Build strong technical reading and discussion habits

This pathway is a prerequisite for meaningful contribution later.

## Core Study Material

This pathway is built around:

{% embed url="<https://github.com/bitcoinbook/bitcoinbook>" %}

All readings, reflection prompts, and discussions are anchored to this text.&#x20;

***

### Choose Your Learning Mode

<details>

<summary>Self-Paced Learning (Always Available)</summary>

Learn independently using Builders materials, at your own pace.

Includes

* Full access to all pathway materials
* Structured chapter reading breakdowns
* Curated reflection prompts
* Suggested 7-week pacing schedule
* Access to the Builders [Resource Hub](/resource-hub)
* Dedicated community channels for questions and discussion
* Occasional office hours or open community sessions (optional)

Does not include

* Live weekly sessions
* Group assignments
* Evaluation or grading
* Graduation status
* Automatic progression to Fellowship consideration

Best for

* Independent learners
* Developers with busy schedules
* Exploratory or refresher learning
* Those preparing for deeper Bitcoin development study

<a href="/pages/AdDModMQnhhBNyEmgSmy" class="button primary">Start Self-Paced Learning</a>

</details>

<details>

<summary>Live Cohort (Limited &#x26; Selective)</summary>

A structured, guided experience with accountability and evaluation.

Includes

* Fixed 8-week schedule
* Weekly live Socratic discussions
* Small study groups (4–6 learners)
* Assigned chaperone (experienced guide)
* Evaluation and graduation
* Eligibility for Fellowship consideration

Expectations

* Consistent weekly participation
* Preparedness for discussion
* Respectful collaboration
* Learning in public

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply for a Live Cohort</a>

*Due to high demand, not all learners are accepted into live cohorts. The pathway is intentionally designed so self-paced learners still receive a high-quality experience.*

</details>

***

## What Comes After This Pathway?

* Continue learning via the Builders [Resource Hub](/resource-hub)
* Apply to additional Btrust Builders [Pathways](/#all-pathways)
* Top performers may be invited to the Open Source Fellowship (live-cohort participants only)
* Long-term engagement through the Builders community and alumni network

This pathway is a foundation, not an endpoint.


# Self-Paced Learning

Learn independently using Builders materials, at your own pace.

The self-paced version of [Mastering Bitcoin](/01/mastering-bitcoin) is designed for developers who want to deeply understand how Bitcoin works without the structure of a scheduled cohort.

You will move through the same foundational material used in the live pathway, but with full flexibility to study on your own timeline.

To help maintain momentum, the pathway includes a suggested weekly pacing schedule, structured chapter breakdowns, socratic reflection prompts, access to the Builders [Resource Hub](/resource-hub), and a dedicated community space for questions and peer discussion.&#x20;

There are no live sessions, deadlines, or evaluations. Completion is entirely self-directed. This pathway is best suited for developers who prefer independent learning and deep reading.

***

## Study Materials

Pathway content is divided into chapters for easy digest:

* [Chapter 1: Introduction](/01/mastering-bitcoin/study-materials#chapter-1-introduction)
* [Chapter 2: How Bitcoin Works](/01/mastering-bitcoin/study-materials#chapter-2-how-bitcoin-works)&#x20;
* [Chapter 3: Bitcoin Core: The Reference Implementation](/01/mastering-bitcoin/study-materials#chapter-3-bitcoin-core-the-reference-implementation)&#x20;
* [Chapter 4: Keys and Addresses](/01/mastering-bitcoin/study-materials#chapter-4-keys-and-addresses)
* [Chapter 5: Wallet Recovery](/01/mastering-bitcoin/study-materials#chapter-5-wallet-recovery)
* [Chapter 6: Transactions](/01/mastering-bitcoin/study-materials#chapter-6-transactions)
* [Chapter 7: Authorization and Authentication](/01/mastering-bitcoin/study-materials#chapter-7-authorization-and-authentication)
* [Chapter 8: Digital Signatures](/01/mastering-bitcoin/study-materials#chapter-8-digital-signatures)&#x20;
* [Chapter 9: Transaction Fees](/01/mastering-bitcoin/study-materials#chapter-9-transaction-fees)
* [Chapter 10: The Bitcoin Network](/01/mastering-bitcoin/study-materials#chapter-10-the-bitcoin-network)
* [Chapter 11: The Blockchain](/01/mastering-bitcoin/study-materials#chapter-11-the-blockchain)
* [Chapter 12: Mining and Consensus](/01/mastering-bitcoin/study-materials#chapter-12-mining-and-consensus)
* [Chapter 13: Bitcoin Security](/01/mastering-bitcoin/study-materials#chapter-13-bitcoin-security)
* [Chapter 14: Second-Layer Applications](/01/mastering-bitcoin/study-materials#chapter-14-second-layer-applications)

***

## Suggested Study Pace

While the pathway is fully self-paced, many learners find it helpful to follow a structured rhythm.

A 7-week study guide is provided to help you maintain steady progress without feeling rushed.

<a href="/pages/VzHJbibOBb8FnIKUEq5r" class="button primary">See the Suggested Weekly Pace →</a>

***

## Reflection Prompts

Each chapter includes Socratic discussion questions to help you reason through the material. You are encouraged to write your answers before discussing them with others or revisiting the text.&#x20;

<details>

<summary>Chapter 1</summary>

Why isn't Bitcoin designed with a hierarchical network structure?

What is the difference between the bitcoin network and bitcoin as a currency?

What is the double-spend problem, and how did bitcoin solve it?

What determines the rate of inflation in bitcoin?

Do you think it would be better if bitcoin transactions were reversible? Pros and Cons?

Do you believe that bitcoin needs to be competitive with Visa/MasterCard to succeed?

</details>

<details>

<summary>Chapter 2</summary>

What are transaction inputs and outputs and what do they have to do with the transfer of value?

Why is a transaction fee needed and how is it calculated?

Why will many bitcoin transactions include an output controlled by the sender, in addition to the output paying the receiver? When would this not occur?

What is a mining pool and why would someone belong to one?

What is the status of a transaction that has not yet been included in a block, but has been propagated around the network? Why do some services require 6 confirmations to clear funds?

What kind of privacy is there for transactions on a public ledger?

</details>

<details>

<summary>Chapter 3</summary>

What are Bitcoin Improvement Proposals (BIPs) and what role do they play in determining the Bitcoin protocol?

Why is Bitcoin Core referred to as the reference implementation? Are there other widely used implementations?

What are some common reasons you would run your own full node?

What are some of the most important configuration options to set when running your own node?

What is the difference between a pruned node and a full (AKA archival) node?&#x20;

</details>

<details>

<summary>Chapter 4</summary>

What is the relationship between private keys, public keys, addresses, and signatures?&#x20;

What is a one-way cryptographic function, and how do we use it to derive public keys?&#x20;

Why will many bitcoin transactions include an output controlled by the sender, in addition to the output paying the receiver? When would this not occur?&#x20;

How do we know that the discrete log problem is hard to break?&#x20;

Bitcoin uses the elliptic curve over a finite field of prime order. What does that mean using common English terms? Why is the order prime?&#x20;

What are output and input scripts? How do they relate to receiving and spending Bitcoins?

What are the differences between P2PKH, P2SH, and P2TR?

What are Bech32 and Base58 addresses? What issues are associated with each?

</details>

<details>

<summary>Chapter 5</summary>

Why does address reuse reduce privacy? Can you think of other de-anonymizing missteps that might happen due to bad user-experience design or lack of privacy education?&#x20;

Why does the author argue that BIP32 wallets are a superior wallet?&#x20;

Are there wallets with mnemonic seeds in languages other than English? Why is this a good or not a good idea?&#x20;

What are the 3 items needed to generate children keys from a parent key? Is there a limit as to how many times this can be done? What combination of the 3 items makes up an extended key?&#x20;

Why does the author argue that BIP32 wallets are a superior wallet?&#x20;

</details>

<details>

<summary>Chapter 6</summary>

When people refer to the bitcoin ledger or a wallet that displays a received bitcoin balance, what is actually being monitored to come up with those numbers?

What are the different components of a Bitcoin transaction? What's the difference between a legacy transaction and a Segwit transaction?

How can you calculate the fees for a transaction? Why isn’t this information just included in the transaction? Is there a better way to do this?

Explain the first transaction in a block; how many confirmations does it require before it can be spent? Would reducing the required number of confirmations improve security or efficiency?

Can a transaction be malleable by a third party? How does this relate to the Segwit upgrade?

</details>

<details>

<summary>Chapter 7</summary>

There is a bug in the CHECKMUTLISIG opcode. Why don’t we just fix it?

P2SH shifts the burden of fees and complexity from the sender to the spender? Why would you want to do this?

Timelocks (nlocktime) are used to lock funds until after a certain time or blockheight. How might one lock funds until a certain time or blockheight before it expires?

Provide a scenario that you’d personally use a multisig transaction for.

</details>

<details>

<summary>Chapter 8</summary>

Besides signing transactions, what are some other uses of digital signatures?

How do digital signatures ensure the integrity of a transaction?

How do Schnorr and ECDSA signatures differ in terms of their serialization formats?

How can different SIGHASH flags affect the parts of the transaction that a signature commits to?

What is nonrepudiation, and why is it important in Bitcoin transactions?

</details>

<details>

<summary>Chapter 9</summary>

How do transaction fees function as a bidding mechanism in the Bitcoin network?

What challenges are associated with estimating appropriate fee rates for transactions?

Can you think of scenarios where inadvertently paying a large fee might be beneficial or harmful to a user?&#x20;

Why is package relay particularly important for time-sensitive protocols like the Lightning Network?

How does the CPFP mechanism incentivize miners to confirm transactions?&#x20;

How do current wallet implementations balance the need for anti-fee sniping measures with other uses of the lock time field? What are some possible trade-offs involved?

</details>

<details>

<summary>Chapter 10</summary>

Do SPV nodes help or hurt the network?

The Bitcoin Relay Network section describes multiple projects intended to reduce block propagation latency. Why is so much effort being put into this?

How do new nodes discover peers on the network when they first come online?

What are the privacy concerns of using an SPV node?

What happened to the proposal to add p2p encryption (BIP150/151)?

</details>

<details>

<summary>Chapter 11</summary>

The genesis block contains a hidden message within it. What OP\_CODE is used for this and what are some other examples of this OP\_CODE being used? Do you think superfluous data should be allowed in the blockchain?

How much data would be required to calculate a Merkle path for a tree with 4 transactions?

What is signet and how is it different from testnet and regtest?

Bloom filters have some problems, how are block filters better?

</details>

<details>

<summary>Chapter 12</summary>

How does mining solve the Byzantine Generals Problem?

What happens to a transaction that isn't validated by your node?

What happens if a miner tries to pay itself a higher subsidy than allowed?

In 2016, there was \~3 EH/sec of processing power. Today there are 150 EH/sec. What is the right threshold for securing the network? Can you have too much security?

Under what circumstances would a node receive an orphan block? Why would it not be discarded if its parent hasn't been received? How long should a node wait? Do you see any problems with keeping it for a long time?

A 10-minute block interval was set by Satoshi. Is that too slow? How might we speed it up? What problems might be caused by a shorter interval?

How is work by a miner monitored by pools? Could this be gamed?

What prevents miners from signaling that they will support an upgrade but later not enforce it?

Upgrades have become increasingly more difficult to get merged and accepted by the community. Should we make it easier? If so, how?

Bonus: How do p2pools work? Why is this not the main method used?

Bonus: What are the largest pools today and what risk do they pose?

</details>

<details>

<summary>Chapter 13</summary>

Bitcoin's security relies on decentralized control over keys and on independent transaction validation by miners. Are there instances when centralization might be appropriate or even encouraged?

How do developers of the protocol fit into the trust model? What safeguards are in place to ensure there are not any single points of failure?

How can we protect ourselves from the thousands of software components that run on our personal computers?

</details>

<details>

<summary>Chapter 14</summary>

What do you see as the biggest weakness of the Lightning Network?

Do you think the punishment mechanism in the Lightning Network incentivized the right kind of behavior?

People say that the Lightning Network is better for privacy, but each node has a persistent identity, so how is that possible?

Lightning sounds complicated. Couldn't we just use unidirectional payment channels? It's not like my coffee shop will ever be paying me, right?&#x20;

</details>

***

## The Resource Hub

The Builders Resource Hub is a continuously updated knowledge base supporting you before, during, and after your pathway.

The Hub includes:

* Open-source contribution guides and cheat sheets
* First PR and code review walkthroughs
* Curated Bitcoin OSS projects by language and skill level
* Developer tools, setup guides, and workflows
* Articles on Bitcoin internals and open-source culture

Access to the Resource Hub remains available even after you finish the pathway.

<a href="/pages/v4BKVpId6tRMUrM3wWJN" class="button primary">Go to the Resource Hub →</a>

***

## Community

Self-paced learners have access to a dedicated community channel where they can:

* Ask technical questions
* Discuss reflection prompts
* Share notes and diagrams
* Help other learners

This shared space helps reduce drop-off and maintain momentum for independent learners.

<a href="/pages/lrFYrBYZ9VCk4iKuxFnr" class="button primary">See Community Norms →</a>

***

## How to Study Effectively

Self-paced learning works best when you focus on depth rather than speed.

Recommended practices:

* Read slowly and deliberately
* Diagram systems and flows as you study
* Write answers to reflection prompts before searching for explanations
* Revisit earlier chapters as your understanding deepens
* Discuss ideas with peers in the community

Bitcoin is a complex system. Your understanding will compound as the pathway progresses

<a href="/pages/2iMDceeM9JTdr5QJzfb7" class="button primary">See the Learner Guide →</a>

<a href="/pages/lhVnQr6contD8IAVLp11" class="button primary">Follow the Progress Milestones →</a>

***

## Start the Pathway

Once you enroll, you’ll receive access to:

* The Mastering Bitcoin Self-Paced learning space
* The community discussion channel
* The Builders [Resource Hub](/resource-hub)

Take a moment to introduce yourself in the community channel and share your background, why you're studying Bitcoin and what you hope to build or learn.<br>

These communities work best when learners get to know each other.


# Suggested Weekly Pace

7-Week Guide

The self-paced pathway has no deadlines, but this suggested rhythm helps most learners maintain consistent progress.

You are free to move faster or slower.

***

### Week 1: Foundations

* [Chapter 1: Introduction](/01/mastering-bitcoin/study-materials#chapter-1-introduction)
* [Chapter 2: How Bitcoin Works](/01/mastering-bitcoin/study-materials#chapter-2-how-bitcoin-works)&#x20;

Focus on understanding:

* The double-spend problem
* Peer-to-peer architecture
* Bitcoin’s monetary design
* The difference between the protocol and the currency

> **Goal for the week**: *Understand the core problem Bitcoin solves and how a decentralized peer-to-peer system enables digital money without a central authority.*

***

### Week 2: Bitcoin Software

* [Chapter 3: Bitcoin Core: The Reference Implementation](/01/mastering-bitcoin/study-materials#chapter-3-bitcoin-core-the-reference-implementation)&#x20;
* [Chapter 4: Keys and Addresses](/01/mastering-bitcoin/study-materials#chapter-4-keys-and-addresses)

Focus on understanding:

* Bitcoin Core’s role in the ecosystem
* Public/private key cryptography
* Address derivation

> **Goal for the week**: *Understand how Bitcoin software interacts with the protocol and how cryptographic keys enable ownership and control of bitcoin.*

***

### Week 3: Wallet Mechanics

* [Chapter 5: Wallet Recovery](/01/mastering-bitcoin/study-materials#chapter-5-wallet-recovery)
* [Chapter 6: Transactions](/01/mastering-bitcoin/study-materials#chapter-6-transactions)

Focus on:

* Wallet architecture
* Transaction structure
* Inputs and outputs

> **Goal for the week**: *Be able to reason about how Bitcoin transactions are structured and how wallets manage funds and recovery.*

***

### Week 4: Authorization Systems

* [Chapter 7: Authorization and Authentication](/01/mastering-bitcoin/study-materials#chapter-7-authorization-and-authentication)
* [Chapter 8: Digital Signatures](/01/mastering-bitcoin/study-materials#chapter-8-digital-signatures)&#x20;

Focus on:

* Script fundamentals
* How Bitcoin proves ownership
* Signature verification

> **Goal for the week**: *Understand how Bitcoin authorizes transactions cryptographically and how digital signatures prove control of funds.*

***

### Week 5: Network Economics

* [Chapter 9: Transaction Fees](/01/mastering-bitcoin/study-materials#chapter-9-transaction-fees)
* [Chapter 10: The Bitcoin Network](/01/mastering-bitcoin/study-materials#chapter-10-the-bitcoin-network)

Focus on:

* Fee markets
* Node communication
* Transaction propagation

> **Goal for the week:** *Understand how Bitcoin’s network infrastructure and fee incentives coordinate transaction processing across nodes.*

***

### Week 6: Consensus Systems

* [Chapter 11: The Blockchain](/01/mastering-bitcoin/study-materials#chapter-11-the-blockchain)
* [Chapter 12: Mining and Consensus](/01/mastering-bitcoin/study-materials#chapter-12-mining-and-consensus)

Focus on:

* Block construction
* Proof-of-work
* Consensus rules

> **Goal for the week**: *Understand how Bitcoin achieves distributed consensus and maintains a secure global ledger without central coordination.*

***

### Week 7: Security and Scaling

* [Chapter 13: Bitcoin Security](/01/mastering-bitcoin/study-materials#chapter-13-bitcoin-security)
* [Chapter 14: Second-Layer Applications](/01/mastering-bitcoin/study-materials#chapter-14-second-layer-applications)

Focus on:

* Security assumptions
* Threat models
* Scaling approaches such as Lightning

> **Goal for the week**: *Understand Bitcoin’s long-term security model and how second-layer technologies enable scalability while preserving decentralization.*


# Learner Guide

Welcome to the Mastering Bitcoin Self-Paced pathway.

This learning mode is designed for developers who want to study Bitcoin deeply and independently.

Unlike the live cohort, this mode does not include scheduled sessions or structured group discussions. Your progress is self-directed.&#x20;

***

### Expectations

Self-paced learners are expected to:

* Move through the material independently
* Engage with reflection prompts
* Ask questions when stuck
* Support other learners when possible

There are no deadlines and no evaluations, but consistent engagement will lead to a stronger understanding.

***

### How to Study

Effective learners typically follow this process:

1. Read the assigned chapter carefully
2. Take notes or diagram the concepts
3. Answer the [reflection prompts](/01/mastering-bitcoin/self-paced-learning#reflection-prompts) in writing
4. Revisit confusing sections
5. Discuss questions in the community channel<br>

The goal is not to finish quickly. The goal is to understand the system deeply.

***

### When You Get Stuck

If you encounter difficulty:&#x20;

* Re-read the relevant section
* Try to diagram the system being described
* Search the Builders [Resource Hub](/resource-hub)
* Ask a question in the community channel

Bitcoin concepts often become clearer through discussion and iteration.

***

### Support Available

Self-paced learners have access to:

* The community discussion channel
* Peer learning and discussion
* Occasional office hours or open sessions
* Builders [Resource Hub](/resource-hub) materials

While this mode does not include mentorship, the community is an important support system.


# Community Norms

The self-paced community exists to support independent learners studying Bitcoin together.

Everyone benefits when the space remains thoughtful, respectful, and collaborative.&#x20;

***

### Asking Good Questions

When asking a question, try to include:<br>

* The chapter or concept you’re studying
* What you already understand
* Where exactly you are confused
* Any diagrams or notes you created

{% hint style="info" icon="question" %}
**Example**: *“In Chapter 6 I understand transaction inputs and outputs, but I’m confused about how change addresses work. Is the change always sent back to the same wallet address?”*
{% endhint %}

Clear questions lead to better discussions.

***

### Helping Others

You do not need to be an expert to help someone else.

Helpful contributions include:

* Sharing how you understood a concept
* Linking relevant documentation
* Explaining how you solved a similar confusion

Teaching a concept is one of the best ways to reinforce your own understanding.

***

### Discussion Etiquette

* Be respectful and patient
* Avoid dismissing beginner questions
* Focus on reasoning rather than “quick answers”
* Encourage curiosity and exploration

Bitcoin is a complex system. Everyone is learning.


# Progress Milestones

Self-paced pathways work best when learners can periodically check their understanding.

These milestones are not evaluations or requirements. They simply help you confirm that your understanding is progressing as expected.

If you can confidently explain the concepts below, you are likely on track with the pathway.

***

### Milestone 1 — Understanding Bitcoin’s Core Design

After completing Week 1, you should be able to explain:

* The double-spend problem
* Why Bitcoin uses a peer-to-peer network
* The difference between Bitcoin as a protocol and bitcoin as a currency
* How Bitcoin maintains a predictable monetary supply

> You should now understand why Bitcoin was designed the way it was.

***

### Milestone 2 — Ownership and Cryptography

After completing Week 2, you should be able to explain:

* The role of Bitcoin Core in the ecosystem
* How public and private keys work
* How Bitcoin addresses are derived
* Why key management is fundamental to Bitcoin security

> You should now understand how ownership of bitcoin is defined cryptographically.

***

### Milestone 3 — Transactions and Wallets

After completing Week 3, you should be able to explain:

* How Bitcoin transactions are structured
* The purpose of inputs and outputs
* How wallets track balances
* How wallet recovery works

> You should now understand how value actually moves across the Bitcoin network.

***

### Milestone 4 — Authorization and Validation

After completing Week 4, you should be able to explain:

* How digital signatures prove ownership
* The role of Bitcoin Script
* How nodes verify that transactions are valid
* Why signatures cannot be forged

> You should now understand how Bitcoin ensures only the rightful owner can spend funds.

***

### Milestone 5 — Network Operation

After completing Week 5, you should be able to explain:

* How transactions propagate through the network
* Why transaction fees exist
* How nodes communicate and maintain the mempool
* How miners choose which transactions to include in blocks

> You should now understand how Bitcoin operates as a decentralized network.

***

### Milestone 6 — Consensus and Mining

After completing Week 6, you should be able to explain:

* How blocks are created
* How proof-of-work secures the network
* How nodes reach consensus
* Why forks and chain selection occur

> You should now understand how Bitcoin maintains a shared global ledger.

***

### Milestone 7 — Security and Scaling&#x20;

After completing Week 7, you should be able to explain:

* Bitcoin’s primary security assumptions
* Major threat models to the network
* Why scaling directly on-chain is difficult
* How second-layer systems like Lightning extend Bitcoin

> You should now understand how Bitcoin continues evolving while preserving its core properties.

***

### Completion Signal

If you can clearly explain how Bitcoin transactions are created, validated, propagated, and secured by the network, you have achieved the core objective of the Mastering Bitcoin pathway.

This foundational understanding prepares you to explore:

* Bitcoin development environments
* Bitcoin Core internals
* Open-source contribution pathways
* Advanced Bitcoin engineering topics


# Where to Go Next

Completing the Mastering Bitcoin pathway gives you a strong conceptual understanding of how the Bitcoin protocol works.

Many learners choose to continue by building practical skills, exploring open-source projects, or contributing to the Bitcoin ecosystem.

Below are a few common next steps.

***

### Build Practical Bitcoin Core Skills

If you want to move from theory into hands-on interaction with Bitcoin software, consider studying: [**Learn Bitcoin from the Command Line**](/02/learn-bitcoin-from-the-command-line)

This pathway focuses on practical interaction with Bitcoin Core using bitcoin-cli, including:

* Running and inspecting a node
* Constructing transactions
* Working with multisig and PSBTs
* Exploring Bitcoin Script

It is one of the most effective ways to build operational familiarity with Bitcoin’s core software.&#x20;

***

### Start Exploring Bitcoin Development

If you’re interested in writing code for Bitcoin-related software, the next step is to begin exploring development tools and environments.

You can start by:

* Running a local Bitcoin development environment
* Reading Bitcoin Core documentation
* Exploring open-source repositories
* Reviewing issues and discussions in Bitcoin developer communities

Many learners begin by understanding how Bitcoin Core itself is structured.&#x20;

***

### Study a Bitcoin Development Language

Many Bitcoin developers work in languages such as:

* Rust
* C++
* Python
* JavaScript

Builders pathways such as [**Rust for Bitcoiners**](/03/rust-for-bitcoiners) and [**Language Clubs**](/04/language-clubs-not-rust) are designed to help developers begin building tools, libraries, and infrastructure around Bitcoin.

***

### Explore the Builders Resource Hub

The Builders [Resource Hub](/resource-hub) contains curated resources for developers entering the Bitcoin ecosystem.

This includes:

* Guides for making your first open-source contribution
* Developer tools and setup walkthroughs
* Curated Bitcoin open-source projects
* Code review and collaboration practices

Many learners use the Hub as their starting point for contributing to Bitcoin open source.

***

### Join the Builders Community

Learning Bitcoin development works best when you connect with others doing the same work.

In the Builders community you can:

* Discuss technical concepts
* Ask questions about development workflows
* Discover open-source opportunities
* Share your learning progress

Many contributors begin simply by participating in discussions and helping others understand concepts.

<a href="/pages/kzTlst3tKo255yz4YpDi#community" class="button primary">Join Our Community →</a>

***

### Begin Contributing to Bitcoin Open Source

Once you are comfortable with the fundamentals, you may choose to explore contributing to open-source Bitcoin projects.

Common starting points include:

* Documentation improvements
* Testing and bug reports
* Small feature fixes
* Developer tooling

Every contribution helps strengthen the ecosystem.&#x20;

***

### A Note on Progress

Bitcoin development is a long-term journey. Most contributors start by:

* Reading and experimenting
* Participating in technical discussions
* Submitting small improvements
* Gradually building deeper expertise


# Community Moderation

Guide for Light-Touch Facilitators

The self-paced community exists to support independent learners studying Bitcoin together.

The self-paced pathway uses light-touch community moderation to keep discussions healthy and productive.

Moderators are not instructors and not evaluators. Your role is to help maintain a constructive learning environment.

***

### Moderator Responsibilities

Moderators may:

* Welcome new learners
* Encourage thoughtful discussion
* Help clarify questions
* Share useful resources
* Redirect off-topic conversations

***

### What Moderators Do Not Do

Moderators do not:

* Grade or evaluate learners
* Provide formal mentorship
* Lead structured study sessions
* Track completion progress

The pathway remains fully self-directed.

***

### Office Hours and Open Sessions

From time to time, Builders may host:

* Informal Q\&A sessions
* Open discussion calls
* Community meetups

Participation is optional and does not affect pathway completion.


# Live Cohort

A structured, guided experience with accountability and evaluation.

The live cohort version of [Mastering Bitcoin](/01/mastering-bitcoin) is designed for learners who want structure, discussion, and peer accountability.

{% hint style="info" %}
**Live cohort 2 for 2026 is in progress...**
{% endhint %}

***

## Cohort Details

* **Registration deadline**: May 31, 2026
* **Commencement date**: June 8, 2026
* **Duration**: 8 Weeks
* **Level**: Beginner (Theory)
* **Mode**: Self-study with weekly live sessions
* **Format**: Online (Discord and Jitsi)

***

## Timeframe&#x20;

We meet weekly for eight weeks. Each study session lasts 90 minutes, starting Wednesday, June 17.

We expect everyone to attend every session, but understand that life happens. You are allowed two absences during the 8-week course. If you are absent a third time, we ask that you withdraw from the group. We would be happy to welcome you back in the future.&#x20;

## Study Sessions

We encourage you to turn your camera on for a more personal experience, but we respect anyone’s objections in regards to privacy. You are not being recorded during the study sessions and having the face to face experience leads to more meaningful discussion. If you have any issues with your personal internet connection, please let us know in advance and we will work with you to come up with a solution.

Every week:

One week prior to the meeting, you will receive:

* Your assigned partner(s)
* [Discussion questions](/01/mastering-bitcoin/live-cohort/discussion-questions) to prepare on and cover in your private partner chats, ahead of the group live session&#x20;
* Your breakout group (and deputy assignment)

At the meeting:

* Breakout groups meet first.
* Every member of the breakout group will take turns facilitating the discussion. Note that no single question is “assigned” — you are expected to prepares answers to all questions.&#x20;
* The designated deputy (whose name changes weekly) will ensure the group is on track. See the [deputy guide](/01/mastering-bitcoin/live-cohort/deputy-guide) for more information.
* The final \~30 minutes are spent in a full-group wrap-up session.

## Schedule

{% stepper %}
{% step %}

### Week

Chapter 1: Introduction

Chapter 2: How Bitcoin Works
{% endstep %}

{% step %}

### Week

Chapter 3: Bitcoin Core: The Reference Implementation

Chapter 4: Keys and Addresses
{% endstep %}

{% step %}

### Week

Chapter 5: Wallet Recovery

Chapter 6: Transactions
{% endstep %}

{% step %}

### Week

Chapter 7: Authorization and Authentication

Chapter 8: Digital Signatures
{% endstep %}

{% step %}

### Week

Chapter 9: Transaction Fees

Chapter 10: The Bitcoin Network
{% endstep %}

{% step %}

### Week

Chapter 11: The Blockchain

Chapter 12: Mining and Consensus
{% endstep %}

{% step %}

### Week

Chapter 13: Bitcoin Security

Chapter 14: Second-Layer Applications
{% endstep %}

{% step %}

### Week

Pathway wrap-up and next steps&#x20;
{% endstep %}
{% endstepper %}

***

## Evaluation & Graduation

Learners are evaluated holistically based on:

* Consistent participation
* Quality of engagement
* Preparedness
* Clarity of reasoning
* Collaboration and communication

Graduates:

* Are [listed publicly](/graduates)
* Receive a clear readiness signal
* May be considered for the Open Source Fellowship

Completion alone does not guarantee progression or fellowship placement.

## Start the Pathway

When you’re accepted into Mastering Bitcoin, you’ll receive access to the private **#mastering-bitcoin** channel on our [Discord](https://discord.gg/UJ5znDaCac) workspace. Once you join, take time to introduce yourself. Say a little bit about yourself, whether it be what area you’re from, what you do for work, or something you do for fun. If you don’t want to use your personal photo as your icon, that is totally fine. Just please change it to a unique image.

These groups work best when we get to know each other.

<a href="/pages/8gwu8S93qcpcxxJQzRRo" class="button primary">Begin Mastering Bitcoin</a>


# Discussion Questions

These questions are based on the Mastering Bitcoin Book, 3rd edition (2023).

### Chapter 1

***

Why isn't Bitcoin designed with a hierarchical network structure?

What is the difference between the bitcoin network and bitcoin as a currency?

What is the double-spend problem, and how did bitcoin solve it?

What determines the rate of inflation in bitcoin?

Do you think it would be better if bitcoin transactions were reversible? Pros and Cons?

Do you believe that bitcoin needs to be competitive with Visa/MasterCard to succeed?

### Chapter 2

***

What are transaction inputs and outputs and what do they have to do with the transfer of value?

Why is a transaction fee needed and how is it calculated?

Why will many bitcoin transactions include an output controlled by the sender, in addition to the output paying the receiver? When would this not occur?

What is a mining pool and why would someone belong to one?

What is the status of a transaction that has not yet been included in a block, but has been propagated around the network? Why do some services require 6 confirmations to clear funds?

What kind of privacy is there for transactions on a public ledger?

### Chapter 3

***

What are Bitcoin Improvement Proposals (BIPs) and what role do they play in determining the Bitcoin protocol?

Why is Bitcoin Core referred to as the reference implementation? Are there other widely used implementations?

What are some common reasons you would run your own full node?

What are some of the most important configuration options to set when running your own node?

What is the difference between a pruned node and a full (AKA archival) node?&#x20;

### Chapter 4

***

What is the relationship between private keys, public keys, addresses, and signatures?&#x20;

What is a one-way cryptographic function, and how do we use it to derive public keys?&#x20;

Why will many bitcoin transactions include an output controlled by the sender, in addition to the output paying the receiver? When would this not occur?&#x20;

How do we know that the discrete log problem is hard to break?&#x20;

Bitcoin uses the elliptic curve over a finite field of prime order. What does that mean using common English terms? Why is the order prime?&#x20;

What are output and input scripts? How do they relate to receiving and spending Bitcoins?

What are the differences between P2PKH, P2SH, and P2TR?

What are Bech32 and Base58 addresses? What issues are associated with each?

### Chapter 5

***

Why does address reuse reduce privacy? Can you think of other de-anonymizing missteps that might happen due to bad user-experience design or lack of privacy education?&#x20;

Are there wallets with mnemonic seeds in languages other than English? Why is this a good or not a good idea?&#x20;

What are the 3 items needed to generate children keys from a parent key? Is there a limit as to how many times this can be done? What combination of the 3 items makes up an extended key?&#x20;

Why does the author argue that BIP32 wallets are a superior wallet?&#x20;

### Chapter 6

***

When people refer to the bitcoin ledger or a wallet that displays a received bitcoin balance, what is actually being monitored to come up with those numbers?

What are the different components of a Bitcoin transaction? What's the difference between a legacy transaction and a Segwit transaction?

How can you calculate the fees for a transaction? Why isn’t this information just included in the transaction? Is there a better way to do this?

Explain the first transaction in a block; how many confirmations does it require before it can be spent? Would reducing the required number of confirmations improve security or efficiency?

Can a transaction be malleable by a third party? How does this relate to the Segwit upgrade?

### Chapter 7

***

There is a bug in the CHECKMUTLISIG opcode. Why don’t we just fix it?

P2SH shifts the burden of fees and complexity from the sender to the spender? Why would you want to do this?

Timelocks (nlocktime) are used to lock funds until after a certain time or blockheight. How might one lock funds until a certain time or blockheight before it expires?

Provide a scenario that you’d personally use a multisig transaction for.

### Chapter 8

***

Besides signing transactions, what are some other uses of digital signatures?

How do digital signatures ensure the integrity of a transaction?

How do Schnorr and ECDSA signatures differ in terms of their serialization formats?

How can different SIGHASH flags affect the parts of the transaction that a signature commits to?

What is nonrepudiation, and why is it important in Bitcoin transactions?

### Chapter 9

***

How do transaction fees function as a bidding mechanism in the Bitcoin network?

What challenges are associated with estimating appropriate fee rates for transactions?

Can you think of scenarios where inadvertently paying a large fee might be beneficial or harmful to a user?&#x20;

Why is package relay particularly important for time-sensitive protocols like the Lightning Network?

How does the CPFP mechanism incentivize miners to confirm transactions?&#x20;

How do current wallet implementations balance the need for anti-fee sniping measures with other uses of the lock time field? What are some possible trade-offs involved?

### Chapter 10

***

Do SPV nodes help or hurt the network?

The Bitcoin Relay Network section describes multiple projects intended to reduce block propagation latency. Why is so much effort being put into this?

How do new nodes discover peers on the network when they first come online?

What are the privacy concerns of using an SPV node?

What happened to the proposal to add p2p encryption (BIP150/151)?

### Chapter 11

***

The genesis block contains a hidden message within it. What OP\_CODE is used for this and what are some other examples of this OP\_CODE being used? Do you think superfluous data should be allowed in the blockchain?

How much data would be required to calculate a Merkle path for a tree with 4 transactions?

What is signet and how is it different from testnet and regtest?

Bloom filters have some problems, how are block filters better?

### Chapter 12

***

How does mining solve the Byzantine Generals Problem?

What happens to a transaction that isn't validated by your node?

What happens if a miner tries to pay itself a higher subsidy than allowed?

In 2016, there was \~3 EH/sec of processing power. Today there are 150 EH/sec. What is the right threshold for securing the network? Can you have too much security?

Under what circumstances would a node receive an orphan block? Why would it not be discarded if its parent hasn't been received? How long should a node wait? Do you see any problems with keeping it for a long time?

A 10-minute block interval was set by Satoshi. Is that too slow? How might we speed it up? What problems might be caused by a shorter interval?

How is work by a miner monitored by pools? Could this be gamed?

What prevents miners from signaling that they will support an upgrade but later not enforce it?

Upgrades have become increasingly more difficult to get merged and accepted by the community. Should we make it easier? If so, how?

Bonus: How do p2pools work? Why is this not the main method used?

Bonus: What are the largest pools today and what risk do they pose?

### Chapter 13

***

Bitcoin's security relies on decentralized control over keys and on independent transaction validation by miners. Are there instances when centralization might be appropriate or even encouraged?

How do developers of the protocol fit into the trust model? What safeguards are in place to ensure there are not any single points of failure?

How can we protect ourselves from the thousands of software components that run on our personal computers?

### Chapter 14

***

What do you see as the biggest weakness of the Lightning Network?

Do you think the punishment mechanism in the Lightning Network incentivized the right kind of behavior?

People say that the Lightning Network is better for privacy, but each node has a persistent identity, so how is that possible?

Lightning sounds complicated. Couldn't we just use unidirectional payment channels? It's not like my coffee shop will ever be paying me, right?&#x20;


# Deputy Guide

Each week, deputies are selected at random. The idea isn’t to add any pressure, it’s just to pick a person to smooth out the interactions and keep everyone on task.

A week prior to the meeting, deputy assignments along with breakout groups are posted. Each group has their own Jitsi link and 5-6 participants. On the day of the study session, go straight to your assigned breakout room.

Your job isn’t to lead but to facilitate. You are a timekeeper and a traffic cop. There is no expectation to be an authority on all subjects. Ask others to take turns talking and exploring the questions. Use the jitsi metrics (jitsi records how long everyone has spoken for) as a guide of who to draw into the conversation.&#x20;

As a deputy, you should:&#x20;

* Make sure everyone introduces themselves before you get started.
* Individuals were asked to come up with their own questions. Ask people to share the new questions they came up with in their 1:1 groups. Invite participants in your room to answer the new questions or answer them yourself.&#x20;
* If there are no new questions, you have the discussion questions for the week to fall back on. Share your screen to display the discussion questions. Read out the questions and invite participants in your room to answer or answer them yourself.&#x20;
* Ensure each participant answer at least one question in a round-robin format.  &#x20;After a response to a question, one or two participants may add their thoughts.&#x20;

If you need a hand or feel like things are sort of dead, you can defer to the chaperone in your breakout room.

There will be a post in the Discord channel alerting everyone when it’s time to return as a full group for wrap-up. This will be the last \~30 minutes of our session. Encourage your group to join their wrap-up rooms when alerted. Then you’re off duty!

Have fun!&#x20;


# Chaperone Guide

Each breakout room has a Chaperone whose role is to support the learning process and observe discussions. The goal is not to lead the conversation, but to help create a productive learning environment while assessing participation.

A week prior to the meeting, breakout groups and deputies are posted. Each group has their own Jitsi link and 5–6 participants. On the day of the study session, go straight to your assigned breakout room.

Your role is to observe, guide when necessary, and assess learner participation.

***

### As a Chaperone, you should:

#### Join the weekly study sessions

* Attend the weekly group study sessions for your assigned breakout room. All sessions are added to your calendar.
* Please keep your camera on and encourage participants to do the same. This helps create a more focused and interactive session.

#### Support the Deputy

Each breakout room has a [Deputy](/01/mastering-bitcoin/live-cohort/deputy-guide) who facilitates the discussion.

If the designated Deputy is unavailable, someone else in the group should volunteer to step in. At the beginning of the session, briefly confirm the Deputy’s responsibilities:

* The Deputy should share their screen to display the discussion questions.
* They should read out each question and invite participants to answer.
* Each participant should answer at least one question in a round-robin format.
* After a response, one or two participants may add their thoughts and ask new questions.

If the discussion slows down or becomes unclear, you can step in to help maintain the flow.

#### Guide the learning process

Chaperones should not answer discussion questions directly.

Instead, encourage learners to think through their answers by asking guiding questions. If responses are unclear or incorrect, you can address them briefly at the end of the session. Your role is to support discussion and learning, not dominate it.

#### Observe and assess participation

During each session, you will assess 5–6 learners in your breakout group.

A grading system and rubric will be shared for the cohort. While observing the discussion:

* Monitor learner participation and engagement
* Add scores to the assessment rubric
* Include clear comments for each learner (comments are very important)

You may add scores and comments during or immediately after the discussion.

#### Support learners outside the session

Learners may ask questions in the cohort's Discord channel. Chaperones should:

* Respond to questions when possible
* Provide helpful feedback
* Encourage constructive discussion among learners

#### Participate in the final review

At the end of the pathway, chaperones will participate in the final learner review and confirmation of graduates. Your session observations and assessment comments will help determine successful completion of the program.

#### Final note

Your presence helps ensure that discussions remain thoughtful, engaging, and supportive for everyone involved.

Observe carefully, guide when necessary, and help create a learning environment where participants feel encouraged to contribute.

Have fun!


# Study Materials

Study content divided into chapters and weeks for easy digest

### Jump to:

* Week 1&#x20;
  * [Chapter 1: Introduction](#chapter-1-introduction)
  * [Chapter 2: How Bitcoin Works](#chapter-2-how-bitcoin-works)
* Week 2&#x20;
  * [Chapter 3: Bitcoin Core: The Reference Implementation](#chapter-3-bitcoin-core-the-reference-implementation)&#x20;
  * [Chapter 4: Keys and Addresses](/01/mastering-bitcoin/study-materials#chapter-4-keys-and-addresses)
* Week 3&#x20;
  * [Chapter 5: Wallet Recovery](#chapter-5-wallet-recovery)
  * [Chapter 6: Transactions](#chapter-6-transactions)
* Week 4&#x20;
  * [Chapter 7: Authorization and Authentication](#chapter-7-authorization-and-authentication)
  * [Chapter 8: Digital Signatures](#chapter-8-digital-signatures)
* Week 5&#x20;
  * [Chapter 9: Transaction Fees](#chapter-9-transaction-fees)
  * [Chapter 10: The Bitcoin Network](#chapter-10-the-bitcoin-network)
* Week 6
  * [Chapter 11: The Blockchain](#chapter-11-the-blockchain)
  * [Chapter 12: Mining and Consensus](#chapter-12-mining-and-consensus)
* Week 7&#x20;
  * [Chapter 13: Bitcoin Security](#chapter-13-bitcoin-security)
  * [Chapter 14: Second-Layer Applications](#chapter-14-second-layer-applications)

***

### Week 1

***

#### Chapter 1: Introduction

{% embed url="<https://drive.google.com/file/d/1OKxkqPJjQHka92SJpCPjUMVhyceehMLj/view?usp=sharing>" %}

#### Chapter 2: How Bitcoin Works

{% embed url="<https://drive.google.com/file/d/1IUSxCyUvCbIMBkWuIfdb91GBrDFMaNfB/view?usp=drive_link>" %}

### Week 2

***

#### Chapter 3: Bitcoin Core: The Reference Implementation

{% embed url="<https://drive.google.com/file/d/1nHEXRXm_U3pKru3Q354o9Gw_ntBPJm04/view?usp=drive_link>" %}

#### Chapter 4: Keys and Addresses

{% embed url="<https://drive.google.com/file/d/1dV1fZTSTPq2zuwYu_VKcYo9kZtwFXH0-/view?usp=drive_link>" %}

### Week 3

***

#### Chapter 5: Wallet Recovery

{% embed url="<https://drive.google.com/file/d/1_tEfUOEzqy-AYAMPEhkDVosS6tU9CagI/view?usp=drive_link>" %}

#### Chapter 6: Transactions

{% embed url="<https://drive.google.com/file/d/1I0tFOV8XQTHgc27cdg1fpVZfohd2NzcP/view?usp=drive_link>" %}

### Week 4

***

#### Chapter 7: Authorization and Authentication

{% embed url="<https://drive.google.com/file/d/1JYdSyVhu7S3YhtgqtMAeDirFUS0iswXN/view?usp=drive_link>" %}

#### Chapter 8: Digital Signatures

{% embed url="<https://drive.google.com/file/d/1ZpvFGnSzlnKnkLa83DB8LDwHluV3gPfm/view?usp=drive_link>" %}

### Week 5

***

#### Chapter 9: Transaction Fees

{% embed url="<https://drive.google.com/file/d/1aokABdQCVWtPurNq4T9wtf6vFLtDtQZj/view?usp=drive_link>" %}

#### Chapter 10: The Bitcoin Network

{% embed url="<https://drive.google.com/file/d/1sGvi7Bt47RTgzKja4R9fSxrOMuwrujGW/view?usp=drive_link>" %}

### Week 6

***

#### Chapter 11: The Blockchain

{% embed url="<https://drive.google.com/file/d/1KmoOXWeu-5wsICi8XAPkKEFfOJjjixXY/view?usp=drive_link>" %}

#### Chapter 12: Mining and Consensus

{% embed url="<https://drive.google.com/file/d/1f5X4aHmAD1Zj6sfJr8BzK-aF_p2JIEOn/view?usp=drive_link>" %}

### Week 7

***

#### Chapter 13: Bitcoin Security

{% embed url="<https://drive.google.com/file/d/1TrZFJ303FPFKsMZDmPnLlFOVSSZNc3Ke/view?usp=drive_link>" %}

#### Chapter 14: Second-Layer Applications

{% embed url="<https://drive.google.com/file/d/1orsoVVlmSyLrQOFjFrojBkRs7E5UZvO3/view?usp=drive_link>" %}


# Learn Bitcoin from the Command Line

Develop real Bitcoin Core skills by working directly with the protocol.

Learn Bitcoin from the Command Line is a 7-week, hands-on pathway designed to teach developers how to interact directly with Bitcoin Core using the command-line interface.

This pathway focuses on doing, not abstraction: running nodes, constructing transactions, inspecting scripts, and understanding Bitcoin by interacting with it at the lowest practical level.

You can complete this pathway independently (self-paced) or apply to join a live, guided cohort.

#### **CTAs**

<a href="/pages/uJWOloQuxMw9ISVpQwln" class="button primary">Start Self-Paced Learning</a>

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply join a Live Cohort</a>

***

## What This Pathway Is

Learn Bitcoin from the Command Line’ is about building intuition through direct interaction.

Rather than relying on SDKs, libraries, or graphical interfaces, this pathway teaches you to work directly with bitcoind and bitcoin-cli. You will learn how Bitcoin behaves by observing, querying, and manipulating it yourself.

This pathway bridges the gap between theoretical understanding and real Bitcoin development work.

## Who It's For

This pathway is designed for:

* Developers with basic Bitcoin knowledge
* Engineers ready to move from theory to hands-on practice
* Builders who want to understand Bitcoin Core behavior directly
* Anyone planning to contribute to Bitcoin OSS at a technical level

This is not an introductory pathway. Learners are expected to have a basic understanding of Bitcoin, wish to develop practical skills with bitcoin-cli and local bitcoin nodes, and are comfortable experimenting and troubleshooting.

## Prerequisites

* Basic understanding of Bitcoin concepts
* Comfort using Unix/Linux command-line environments
* Familiarity with concepts covered in Mastering Bitcoin is strongly recommended

This pathway assumes you can read technical documentation and follow terminal-based workflows.

## What You’ll Learn

By the end of this pathway, you will be able to:

* Run and configure Bitcoin Core nodes
* Interact with Bitcoin using bitcoin-cli
* Construct, inspect, and control transactions
* Work with multisig, PSBTs, and scripts
* Develop practical intuition for Bitcoin Core behavior

This pathway prepares you for deeper protocol work and open-source contribution.

## Core Study Material

This pathway is built around:

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line>" %}

All readings, reflection prompts, and discussions are anchored to this text.&#x20;

***

### Choose Your Learning Mode

<details>

<summary>Self-Paced Learning (Always Available)</summary>

Learn independently using Builders materials, at your own pace.

Includes

* Full access to all pathway materials
* Structured reading and command walkthroughs
* Sample exercises and practical command exploration
* Curated reflection prompts
* Suggested 6-week pacing schedule
* Access to the Builders [Resource Hub](/resource-hub)
* Dedicated community channels for questions and discussion
* Occasional office hours or open community sessions (optional)

Does not include

* Live weekly sessions
* Group exercises
* Evaluation or grading
* Graduation status
* Automatic progression to Fellowship consideration

Best for

* Independent learners
* Developers refreshing or strengthening CLI skills
* Learners preparing for future live cohorts
* Developers interested in hands-on Bitcoin Core interaction

<a href="/pages/uJWOloQuxMw9ISVpQwln" class="button primary">Start Self-Paced Learning</a>

</details>

<details>

<summary>Live Cohort (Limited &#x26; Selective)</summary>

A structured, guided experience with accountability and evaluation.

Includes

* Fixed 7-week schedule
* Weekly live study sessions
* Practical exercises and discussion
* Small study groups (5–6 learners)
* Assigned chaperone (experienced guide)
* Deputy-facilitated discussions
* Evaluation and graduation
* Eligibility for Fellowship consideration

Expectations

* Consistent weekly participation
* Comfort working in public
* Preparedness for hands-on discussion
* Collaborative problem-solving

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply for a Live Cohort</a>

*Due to high demand, not all learners are accepted into live cohorts. The pathway is intentionally designed so self-paced learners still receive a high-quality experience.*

</details>

***

## What Comes After This Pathway?

* Continue building via the Builders [Resource Hub](/resource-hub)
* Apply to advanced Btrust Builders [Pathways](/#all-pathways)
* Top performers may be invited to the Open Source Fellowship (live-cohort participants only)
* Long-term engagement through the Builders community and alumni network

This pathway is a bridge from learning to contribution.


# Self-Paced Learning

Learn independently using Builders materials, at your own pace.

The self-paced version of [Learn Bitcoin from the Command Line](/02/learn-bitcoin-from-the-command-line) is designed for developers who want to build practical Bitcoin Core skills directly through the command line.

You will move through the same foundational material used in the live pathway, but with full flexibility to study on your own timeline.

To help maintain momentum, the pathway includes:

* A suggested weekly pacing schedule
* Structured chapter breakdowns
* Sample hands-on exercises and command walkthroughs
* Socratic reflection prompts
* Access to the Builders [Resource Hub](/resource-hub)
* A dedicated community space for questions and discussion

There are no live sessions, deadlines, or evaluations. Completion is entirely self-directed.

This pathway is best suited for developers who want to build direct operational experience with Bitcoin Core.

***

## Study Materials

Pathway content is divided into chapters for easy digest:

* [Chapter 1: Introduction](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-1-introduction)
* [Chapter 2: Setting Up Bitcoin Core VPS](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-2-setting-up-bitcoin-core-vps)
* [Chapter 3: Understanding Your Bitcoin Setup](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-3-understanding-your-bitcoin-setup)
* [Chapter 4: Sending Bitcoin TXNs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-4-sending-bitcoin-txns)&#x20;
* [Chapter 5: Controlling Bitcoin TXNs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-5-controlling-bitcoin-txns)
* [Chapter 6: Expanding Bitcoin TXNs - Multisigs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-6-expanding-bitcoin-txns-multisigs)
* [Chapter 7: Expanding Bitcoin TXNs - PSBTs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-7-expanding-bitcoin-txns-psbts)
* [Chapter 8: Expanding Bitcoin TXNs - Other](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-8-expanding-bitcoin-txns-other)
* [Chapter 9: Introducing Bitcoin Scripts](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-9-introducing-bitcoin-scripts)
* [Chapter 10: Embedding Bitcoin Scripts in p2SH TXNs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-10-embedding-bitcoin-scripts-in-p2sh-txns)
* [Chapter 11: Empowering Timelock with Bitcoin Script](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-11-empowering-timelock-with-bitcoin-scripts)
* [Chapter 12: Expanding Bitcoin Scripts](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-12-expanding-bitcoin-scripts)
* [Chapter 13: Designing Bitcoin Scripts](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-13-designing-bitcoin-scripts)

[Chapters 14–20](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line) explore advanced Bitcoin Core functionality and are recommended for independent follow-up after completing the pathway.&#x20;

***

## Suggested Study Pace

While the pathway is fully self-paced, many learners find it helpful to follow a structured rhythm.

A 6-week study guide is provided to help you maintain steady progress while allowing enough time to practice commands and experiment with Bitcoin Core.

<a href="/pages/RU1hqQg8VfpNVXw5lI8m" class="button primary">See the Suggested Weekly Pace →</a>

***

## Reflection Prompts

Each chapter includes Socratic discussion questions designed to deepen your understanding of how Bitcoin Core works in practice. You are encouraged to write your answers before discussing them with others or revisiting the text.&#x20;

<details>

<summary>Chapter 1</summary>

Why is direct interaction with Bitcoin Core and c-lightning via the command line considered more robust and secure compared to using higher-level libraries?

How does the decentralization of Bitcoin challenge traditional centralized payment systems?

What are the potential risks and benefits of working directly with `bitcoind` and `lightningd` for cryptocurrency development?

Why is Bitcoin considered pseudonymous rather than fully anonymous?

How does Bitcoin prevent censorship of transactions?

What is the role of RPC (Remote Procedure Call) in interacting with Bitcoin Core and Lightning?

</details>

<details>

<summary>Chapter 2</summary>

How do the five major types of Bitcoin nodes differ?

What are the benefits of using a VPS (Virtual Private Server) for running a Bitcoin node versus a local machine?

How does running a full node contribute to the security and decentralization of the Bitcoin network?

How does a pruned Bitcoin node differ from an unpruned node, and when should you use each?

What are the differences between Mainnet, Testnet, and Regtest, and in what scenarios would each be used?

What security priorities should be considered when setting up a Bitcoin node on a VPS?

What are the advantages of using a StackScript to set up a Bitcoin Core VPS?

Why might a developer choose to run a local instance of the Bitcoin blockchain rather than using a remote node?

</details>

<details>

<summary>Chapter 3</summary>

What are the basic steps to create a Bitcoin address to receive funds?

What is a descriptor, and how does it relate to address generation?

What are the key files and directories in a Bitcoin node’s file layout?

How can you use informational commands in `bitcoin-cli` to understand your node's status?

Why is it important to verify your Bitcoin setup before engaging in transactions?

What are the benefits of using command-line variables when working with Bitcoin Core?&#x20;

</details>

<details>

<summary>Chapter 4</summary>

What are the different methods for sending Bitcoin transactions using `bitcoin-cli`?

What is the difference between Legacy and SegWit transactions?

How do transaction fees work, and how are they determined?

What are the risks and dangers associated with raw transactions?

How can you use `bitcoin-cli` to send Bitcoin in the simplest way?

What are the benefits of using named arguments when creating raw transactions?

How can automation be used to send raw Bitcoin transactions?

How does `jq` help when working with Bitcoin transactions?

What role does `curl` play in sending Bitcoin transactions via command-line tools?

</details>

<details>

<summary>Chapter 5</summary>

What is the mempool, and how does it affect Bitcoin transactions?

How do Replace-By-Fee (RBF) and Child-Pays-For-Parent (CPFP) mechanisms differ in resolving unconfirmed transactions?

How do you determine if a Bitcoin transaction is stuck?

How does RBF help in modifying an unconfirmed transaction?

How does CPFP allow a child transaction to push a parent transaction through?

When should you use RBF versus CPFP?

What are the risks of using RBF and CPFP?

How do miners prioritize transactions in the mempool?Why does the author argue that BIP32 wallets are a superior wallet?&#x20;

</details>

<details>

<summary>Chapter 6</summary>

What is a multisignature (multisig) Bitcoin address, and how does it work?

How does a multisig transaction differ from a standard Bitcoin transaction?

What are the benefits of using multisig addresses?

How do you create a multisig address using Bitcoin Core commands?

What is the difference between a 2-of-3 and a 3-of-5 multisig setup?

How do you fund a multisig address and verify the transaction?

What are the steps to spend Bitcoin from a multisig address?

How do multiple signers coordinate to approve and broadcast a multisig transaction?

What are some common use cases for multisig wallets?

What are the security risks and best practices for managing multisig setups?

</details>

<details>

<summary>Chapter 7</summary>

How do PSBTs enable collaboration in Bitcoin transaction creation compared to multisignatures?

How can command-line tools be utilized to create, modify, and complete a PSBT?

What advantages do PSBTs offer when it comes to funding and authenticating Bitcoin transactions?

How does integrating HWI with a hardware wallet enhance the security and usability of PSBTs?

In what ways do PSBTs differ from multisignature transactions in terms of flexibility and use cases?

</details>

<details>

<summary>Chapter 8</summary>

What is a locktime in a Bitcoin transaction, and how does it change the way funds are managed compared to immediate transfers?&#x20;

How do absolute timelocks differ from relative timelocks, and what unique benefits might each offer?&#x20;

In what scenarios would you choose to delay a transaction using a locktime, and what potential advantages does this provide?&#x20;

How does the OP\_RETURN opcode enable the inclusion of data in a transaction, and what are the implications of embedding such data?&#x20;

In what ways can adding data to a Bitcoin transaction expand its functionality beyond just transferring funds?&#x20;

What are the possible challenges or risks associated with using timelocks in Bitcoin transactions?&#x20;

How might the inclusion of additional data within a transaction impact blockchain efficiency and privacy?

</details>

<details>

<summary>Chapter 9</summary>

In what ways does interacting with Bitcoin through its scripting language differ from using high-level bitcoin-cli commands?

What are the key components of a Bitcoin Script, and how do they work together to secure transactions?

How does the P2PKH script structure protect funds, and why is it considered fundamental to Bitcoin transactions?

What are the differences between P2PKH and P2WPKH scripts, and how do these differences impact transaction efficiency and security?

Why is testing an essential part of developing Bitcoin Scripts, and what methods can be used to ensure that a script functions as intended?

How does understanding the underlying foundation of Bitcoin transactions influence the design of custom scripts?

</details>

<details>

<summary>Chapter 10</summary>

What is a P2SH transaction, and how does it incorporate Bitcoin Scripts into standard transaction workflows?

How does the design of a P2SH transaction differ from traditional Bitcoin transactions in terms of security and flexibility?

In what ways do multisignature and SegWit scripts integrate with P2SH to enhance transaction functionality?

How can you build and structure a P2SH transaction to ensure that the underlying script conditions are met?

What are the benefits of embedding complex Bitcoin Scripts within a P2SH transaction compared to using simpler transaction types?

How does spending funds from a P2SH address differ from spending funds in standard transactions?

What role does the multisig script play in a P2SH transaction, and how does it affect transaction approval processes?

How do the various SegWit variations of scripts influence the construction and execution of P2SH transactions?

</details>

<details>

<summary>Chapter 11</summary>

How do the timelocking opcodes in Bitcoin Scripts differ from the basic `nLockTime` feature?

In what scenarios might you choose to use CLTV (CheckLockTimeVerify) over CSV (CheckSequenceVerify) when designing a script?

How does CLTV enforce an absolute time or block height before funds can be spent?

How does CSV enable the creation of relative timelocks, and what advantages does this offer?

How can you generate relative times within a Bitcoin Script using CSV?

What potential risks or challenges might arise when incorporating timelocks into Bitcoin Scripts?

How do timelocks enhance the flexibility and security of Bitcoin transactions?

In what ways can the proper use of timelocks influence the overall behavior of a Bitcoin smart contract?

</details>

<details>

<summary>Chapter 12</summary>

In what ways can conditionals be used to create more complex decision-making processes within a Bitcoin Script?

What are some examples of non-conditional opcodes that can extend the functionality of Bitcoin Scripts?

How do conditionals and additional opcodes work together to enable the creation of more sophisticated Bitcoin contracts?

How can understanding the full range of scripting opcodes improve the security and versatility of a Bitcoin Script?

How do conditionals affect the predictability and verification of Bitcoin Scripts during transaction validation?

</details>

<details>

<summary>Chapter 13</summary>

How can custom Bitcoin scripts be designed to solve specific problems or implement unique features?

What role do digital signatures play in ensuring the integrity of Bitcoin Scripts, and why are they essential?

What are the challenges in creating and deploying custom scripts on the Bitcoin network?

How do puzzle scripts illustrate the creative potential of Bitcoin Script programming?

How does the complexity of a script affect its security and usability in Bitcoin transactions?

</details>

***

## The Resource Hub

The Builders Resource Hub is a continuously updated knowledge base supporting you before, during, and after your pathway.

The Hub includes:

* Open-source contribution guides and cheat sheets
* First PR and code review walkthroughs
* Curated Bitcoin OSS projects by language and skill level
* Developer tools, setup guides, and workflows
* Articles on Bitcoin internals and open-source culture

Access to the Resource Hub remains available even after your study content ends.

<a href="/pages/v4BKVpId6tRMUrM3wWJN" class="button primary">Go to the Resource Hub</a>

***

## Community

Self-paced learners have access to a dedicated community channel where they can:

* Ask technical questions
* Share command outputs and debugging insights
* Discuss reflection prompts
* Share notes and diagrams
* Help other learners troubleshoot issues

This shared space helps reduce drop-off and maintain momentum for independent learners.

<a href="/pages/Ei9iC90dqRUUwqGDKpTy" class="button primary">See Community Norms →</a>

***

## How to Study Effectively

This pathway is hands-on by design.

To get the most out of it:

* Run every command yourself
* Read command outputs carefully
* Break things safely and learn how to recover
* Keep notes of commands and observations
* Revisit earlier chapters as your understanding deepens

Practical experimentation is the most effective way to understand Bitcoin Core. Depth of experimentation matters more than speed.

<a href="/pages/dlBlBVetqR4Wk1cLPCTp" class="button primary">See the Learner Guide →</a>

<a href="/pages/aJmt11lBcwDXkc2VPoEk" class="button primary">Follow the Progress Milestones →</a>

***

## Start the Pathway

Once you enroll, you’ll receive access to:

* The Bitcoin CLI Self-Paced learning space
* The community discussion channel
* The Builders Resource Hub

Take a moment to introduce yourself in the community channel and share your background, your experience with Bitcoin or Linux and what you hope to build or learn.&#x20;

These communities work best when learners get to know each other.


# Suggested Weekly Pace

6-Week Guide

The self-paced pathway has no deadlines, but this suggested rhythm helps most learners maintain steady progress while practicing commands.

You are free to move faster or slower.

The pathway moves from node setup → transaction mechanics → advanced transactions → script design, allowing your practical skills to build gradually.

***

### Week 1: Environment and Bitcoin Core Setup

* [Chapter 1: Introduction](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-1-introduction)
* [Chapter 2: Setting Up Bitcoin Core VPS](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-2-setting-up-bitcoin-core-vps)

Focus on:

* Understanding the CLI approach to Bitcoin Core
* Installing and configuring bitcoind
* Running a Bitcoin node
* Making your first RPC calls
* Understanding how Bitcoin Core exposes functionality

> **Goal for the week**: *Be comfortable interacting with Bitcoin Core through the command line.*

***

### Week 2: Understanding Your Node

* [Chapter 3: Understanding Your Bitcoin Setup](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-3-understanding-your-bitcoin-setup)

Focus on:

* Node architecture
* Wallet functionality
* Blockchain synchronization
* Inspecting node state through RPC commands
* Understanding how your node interacts with the network

> **Goal for the week**: *Be able to query and inspect your node confidently using CLI commands.*

***

### Week 3: Transaction Fundamentals

* [Chapter 4: Sending Bitcoin TXNs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-4-sending-bitcoin-txns)&#x20;
* [Chapter 5: Controlling Bitcoin TXNs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-5-controlling-bitcoin-txns)

Focus on:

* Creating and broadcasting transactions
* Transaction inputs and outputs
* Fee selection and transaction confirmation
* Inspecting transactions through CLI

> **Goal for the week**: *Be able to construct, send, and inspect Bitcoin transactions directly through CLI.*

***

### Week 4: Advanced Transaction Construction

* [Chapter 6: Expanding Bitcoin TXNs - Multisigs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-6-expanding-bitcoin-txns-multisigs)
* [Chapter 7: Expanding Bitcoin TXNs - PSBTs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-7-expanding-bitcoin-txns-psbts)
* [Chapter 8: Expanding Bitcoin TXNs - Other](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-8-expanding-bitcoin-txns-other)

Focus on:

* Multisignature wallets
* Collaborative transaction signing
* PSBT workflows
* More advanced transaction manipulation

> **Goal for the week**: *Understand how complex transactions are constructed and coordinated across multiple participants.*

***

### Week 5: Introduction to Bitcoin Scripts

* [Chapter 9: Introducing Bitcoin Scripts](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-9-introducing-bitcoin-scripts)
* [Chapter 10: Embedding Bitcoin Scripts in p2SH TXNs](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-10-embedding-bitcoin-scripts-in-p2sh-txns)

Focus on:

* Script fundamentals
* Locking and unlocking conditions
* How scripts control spending conditions
* Embedding scripts in transactions

> **Goal for the week**: *Understand how Bitcoin transactions enforce spending conditions through Script.*

***

### Week 6: Script Design and Advanced Conditions

* [Chapter 11: Empowering Timelock with Bitcoin Script](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-11-empowering-timelock-with-bitcoin-scripts)
* [Chapter 12: Expanding Bitcoin Scripts](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-12-expanding-bitcoin-scripts)
* [Chapter 13: Designing Bitcoin Scripts](/02/learn-bitcoin-from-the-command-line/study-materials#chapter-13-designing-bitcoin-scripts)

Focus on:

* Timelocks and conditional spending
* Advanced script patterns
* Designing custom spending conditions

> **Goal for the week**: *Be able to reason about and design complex script conditions for Bitcoin transactions.*

***

### After the Pathway

[Chapters 14–20](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line) explore more advanced Bitcoin Core capabilities, including deeper RPC usage and system-level interaction.

These chapters are recommended for independent follow-up exploration after completing the pathway.


# Learner Guide

Welcome to the Learn Bitcoin from the Command Line Self-Paced pathway.

This learning mode is designed for developers who want to build practical Bitcoin Core experience independently.

Unlike the live cohort, this mode does not include scheduled sessions or structured group exercises. Your progress is self-directed.&#x20;

***

### Expectations

Self-paced learners are expected to:

* Move through the material independently
* Run and experiment with commands locally
* Engage with [reflection prompts](/02/learn-bitcoin-from-the-command-line/self-paced-learning#reflection-prompts)
* Ask questions when stuck
* Support other learners when possible

There are no deadlines and no evaluations, but consistent hands-on practice will lead to a stronger understanding.

***

### How to Study

Effective learners typically follow this process:

1. Read the assigned chapter carefully
2. Run every command yourself
3. Observe the outputs and experiment with variations
4. Write answers to the [reflection prompts](/02/learn-bitcoin-from-the-command-line/self-paced-learning#reflection-prompts)
5. Document useful commands in your notes
6. Ask questions when something behaves unexpectedly

Understanding Bitcoin Core comes from direct interaction and experimentation.

***

### When You Get Stuck

If something doesn’t work as expected:

* Re-read the relevant section
* Review the command syntax carefully
* Check your node status and environment configuration
* Search the Builders [Resource Hub](/resource-hub)
* Ask a question in the community channel

Debugging is a normal part of learning how Bitcoin Core works.

***

### Support Available

Self-paced learners have access to:

* The community discussion channel
* Peer troubleshooting and discussion
* Occasional office hours or open sessions
* Builders [Resource Hub](/resource-hub) materials

While this mode does not include mentorship, the community can help you work through challenges.


# Community Norms

The self-paced community exists to support independent developers learning Bitcoin Core together.

Everyone benefits when the space remains curious, respectful, and collaborative.&#x20;

***

### Asking Good Questions

When asking a question, try to include:<br>

* The chapter you are working on
* The command you executed
* The output you received
* What you expected to happen

{% hint style="info" icon="question" %}
**Example**: *“In Chapter 4 I ran bitcoin-cli sendtoaddress, but the transaction did not appear in the mempool. Is there a way to verify whether the transaction was successfully broadcast?”*
{% endhint %}

Clear questions make it easier for others to help.

***

### Helping Others

You do not need to be an expert to help someone else.

Helpful contributions include:

* Sharing command outputs
* Explaining how you solved a problem
* Linking documentation or resources
* Suggesting debugging steps

Teaching a concept is one of the best ways to strengthen your own understanding.

***

### Discussion Etiquette

* Be respectful and patient
* Avoid dismissing beginner questions
* Focus on understanding systems rather than quick fixes
* Encourage experimentation and curiosity

Bitcoin is a complex system. Everyone is learning.


# Progress Milestones

Self-paced pathways work best when learners can periodically check their progress.

These milestones are not evaluations or requirements. Instead, they help you confirm that your understanding and practical skills are developing as expected.

If you can comfortably complete the tasks below, you’re likely on track with the pathway.

***

### Milestone 1 — Running Bitcoin Core

After completing Week 1, you should be able to:

* Run a Bitcoin Core node (bitcoind)
* Connect to your node using bitcoin-cli
* Execute basic RPC commands
* Inspect node information (e.g., getblockchaininfo, getnetworkinfo)

> You should feel comfortable interacting with your node through the command line.

***

### Milestone 2 — Inspecting Your Node

After completing Week 2, you should be able to:

* Query blockchain state and node status
* Understand wallet behavior inside Bitcoin Core
* Inspect transactions and blocks through CLI commands
* Interpret common RPC outputs

> You should be able to explore your node and understand what the outputs mean.

***

### Milestone 3 — Sending Transactions

After completing Week 3, you should be able to:

* Generate new addresses
* Send Bitcoin transactions using CLI commands
* Inspect transaction details
* Track transaction confirmation status

> At this stage, you should feel confident creating and broadcasting transactions directly from the command line.

***

### Milestone 4 — Constructing Advanced Transactions

After completing Week 4, you should be able to:

* Create and manage multisignature wallets
* Work with Partially Signed Bitcoin Transactions (PSBTs)
* Coordinate transaction construction across multiple participants
* Inspect and analyze more complex transaction structures

> You should now understand how collaborative and multi-party transactions work in Bitcoin.

***

### Milestone 5 — Working with Bitcoin Script

After completing Week 5, you should be able to:

* Understand the role of Bitcoin Script in transaction validation
* Inspect locking and unlocking scripts
* Embed scripts into P2SH transactions
* Understand how script conditions control spending

> You should now understand how Bitcoin enforces spending rules programmatically.

***

### Milestone 6 — Designing Script Conditions

After completing Week 6, you should be able to:

* Work with timelocks and conditional spending
* Reason about complex script structures
* Design simple custom spending conditions
* Understand how scripts combine to create advanced transaction logic

> At this point, you should have a strong practical foundation in interacting with Bitcoin Core through the command line.

***

### Continuing Your Learning

After completing this pathway, consider:

* Exploring [Chapters 14–20](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line) of the book
* Running additional experiments with Bitcoin Core RPC commands
* Reviewing the Builders [Resource Hub](/resource-hub)
* Beginning to explore Bitcoin open-source projects

Many developers use this pathway as a bridge toward contributing to Bitcoin open-source software.


# Where to Go Next

Completing the Learn Bitcoin from the Command Line pathway means you now understand how to interact directly with Bitcoin Core through the command line.

You have worked with:

* Running and inspecting a node
* Constructing and analyzing transactions
* Working with multisig and PSBTs
* Exploring Bitcoin Script

Many learners use this pathway as a bridge between understanding Bitcoin and actively building with it.

Below are a few common next steps.

***

### Deepen Your Protocol Understanding

If you want to strengthen your conceptual understanding of the Bitcoin protocol, consider studying: [**Mastering Bitcoin**](/01/mastering-bitcoin)

This pathway explores the underlying systems that power Bitcoin, including:

* The Bitcoin transaction model
* Digital signatures and authorization
* Peer-to-peer networking
* Mining and consensus
* Bitcoin security assumptions

Combining CLI experience with protocol knowledge creates a strong foundation for Bitcoin development.

***

### Continue Exploring Bitcoin Core

The pathway covers Chapters 1–13 of Learning Bitcoin from the Command Line.&#x20;

[Chapters 14–20](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line) explore more advanced Bitcoin Core capabilities, including deeper RPC functionality and system-level interaction.

Many learners continue experimenting by:

* Running additional RPC commands
* Exploring wallet functionality in more depth
* Inspecting blocks and transactions in detail
* Testing Bitcoin Core behavior in different scenarios

Hands-on experimentation is one of the best ways to strengthen your understanding.

***

### Begin Exploring Bitcoin Development

Once you are comfortable interacting with Bitcoin Core, the next step is often to begin exploring Bitcoin development workflows.

You can start by:

* Running a local Bitcoin development environment
* Exploring Bitcoin Core source code
* Reading developer documentation
* Following discussions in Bitcoin developer communities

Understanding how Bitcoin software works internally is a natural next step after learning the CLI.

***

### Study a Bitcoin Development Language

Many developers working on Bitcoin tools and infrastructure use languages such as:

* Rust
* C++
* Python
* JavaScript

Builders pathways such as [**Rust for Bitcoiners**](/03/rust-for-bitcoiners) and [**Language Clubs**](/04/language-clubs-not-rust) are designed to help developers begin building tools, libraries, and infrastructure around Bitcoin.

***

### Explore the Builders Resource Hub

The Builders [Resource Hub](/resource-hub) contains curated resources for developers entering the Bitcoin ecosystem.

This includes:

* Guides for making your first open-source contribution
* Developer tools and setup walkthroughs
* Curated Bitcoin open-source projects
* Code review and collaboration practices

Many learners use the Hub to begin identifying their first open-source contribution opportunities.

***

### Join the Builders Community

Learning Bitcoin development works best when you connect with others doing the same work.

In the Builders community you can:

* Discuss technical concepts
* Ask questions about development workflows
* Discover open-source opportunities
* Share your learning progress

Many contributors begin simply by participating in discussions and helping others understand concepts.

<a href="/pages/kzTlst3tKo255yz4YpDi#community" class="button primary">Join Our Community</a>

***

### Begin Contributing to Bitcoin Open Source

Once you are comfortable with the fundamentals, you may choose to explore contributing to open-source Bitcoin projects.

Common starting points include:

* Documentation improvements
* Testing and bug reports
* Small feature fixes
* Developer tooling improvements

Even small contributions help strengthen the ecosystem and build your experience.&#x20;

***

### A Note on Progress

Bitcoin development is a long-term journey.

Most contributors start by:

* Experimenting with Bitcoin software
* Reading documentation and code
* Asking questions in developer communities
* Making small improvements to open-source projects

Over time, these small steps build deep technical understanding and meaningful contributions.


# Community Moderation

Guide for Light-Touch Facilitators

The self-paced community exists to support independent learners studying Bitcoin together.

The self-paced pathway uses light-touch moderation to keep discussions constructive and supportive.

Moderators are not instructors and not evaluators. Your role is simply to help maintain a healthy learning environment.

***

### Moderator Responsibilities

Moderators may:

* Welcome new learners
* Encourage thoughtful discussion
* Help redirect technical questions
* Share helpful documentation or resources
* Encourage learners to troubleshoot problems themselves

***

### What Moderators Do Not Do

Moderators do not:

* Grade exercises or submissions
* Track learner progress
* Provide structured teaching
* Lead scheduled study sessions

The pathway remains fully self-directed.

***

### Office Hours and Open Sessions

From time to time, Builders may host:

* Informal troubleshooting sessions
* Technical Q\&A discussions
* Community meetups

Participation is optional and does not affect pathway completion.


# Live Cohort

A structured, guided experience with accountability and evaluation.

This live cohort version of [Learn Bitcoin from the Command Line](/02/learn-bitcoin-from-the-command-line) is designed for learners who want hands-on guidance, peer accountability, and structured progression.

{% hint style="info" %}
**Live cohort 2 for 2026 is in progress...**
{% endhint %}

***

## Cohort Details

* **Registration deadline**: May 31, 2026
* **Commencement date**: June 15, 2026
* **Duration**: 7 Weeks
* **Level**: Intermediate (Hands-On)
* **Mode**: Self-study with weekly live sessions
* **Format**: Online (Discord, GitHub, Jitsi)

***

## Timeframe&#x20;

We meet weekly for seven weeks. Each study session lasts 90 minutes, starting Thursday, June 18.

We expect everyone to attend every session, but understand that life happens. You are allowed one absence during the 7-week course. If you are absent a second time, we ask that you withdraw from the group. We would be happy to welcome you back in the future.&#x20;

## Study Sessions

We encourage you to turn your camera on for a more personal experience, but we respect anyone’s objections in regards to privacy. You are not being recorded during the study sessions and having the face to face experience leads to more meaningful discussion. If you have any issues with your personal internet connection, please let us know in advance and we will work with you to come up with a solution.

Every week:

One week prior to the meeting, you will receive:

* Your assigned partner(s)
* [Discussion questions](/02/learn-bitcoin-from-the-command-line/live-cohort/discussion-questions) to prepare on and cover in your private partner chats, ahead of the group live session&#x20;
* An assigned technical exercise to practice what you’ve learned
* Your breakout group (and deputy assignment)

At the meeting:

* Breakout groups meet first.
* Every member of the breakout group will take turns facilitating the discussion. Note that no single question is “assigned” — you are expected to prepares answers to all questions. Technical exercise methodology/approach can also be discussed.&#x20;
* The designated deputy (whose name changes weekly) will ensure the group is on track. See the [deputy guide](/02/learn-bitcoin-from-the-command-line/live-cohort/deputy-guide) for more information.
* The final \~30 minutes are spent in a full-group wrap-up session.

## Schedule

{% stepper %}
{% step %}

### Week

Chapter 1: Introduction

Chapter 2: Setting Up Bitcoin Core VPS

Chapter 3: Understanding Your Bitcoin Setup
{% endstep %}

{% step %}

### Week

Chapter 4: Sending Bitcoin Transactions

Chapter 5: Controlling Bitcoin Transactions
{% endstep %}

{% step %}

### Week

Chapter 6: Expanding Bitcoin Transactions - Multisigs

Chapter 7: Expanding Bitcoin Transactions - PSBTs
{% endstep %}

{% step %}

### Week

Chapter 8: Expanding Bitcoin Transactions - Others

Chapter 9: Introducing Bitcoin Scripts
{% endstep %}

{% step %}

### Week

Chapter 10: Embedding Bitcoin Scripts in p2SH Transactions

Chapter 11: Empowering Timelock with Bitcoin Scripts
{% endstep %}

{% step %}

### Week

Chapter 12: Expanding Bitcoin Scripts

Chapter 13: Designing Bitcoin Scripts
{% endstep %}

{% step %}

### Week

Pathway wrap-up and next steps&#x20;
{% endstep %}
{% endstepper %}

The pathway covers chapters 01–13 of "[Learning Bitcoin From Command Line](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line)”. After the cohort, independently explore chapters 14–20, which explores the advanced functionalities of Bitcoin Core.&#x20;

***

## Evaluation & Graduation

Learners are evaluated holistically based on:

* Consistent participation
* Quality of engagement
* Technical skill
* Preparedness
* Problem-solving
* Clarity of reasoning
* Collaboration and communication

Graduates:

* Are [listed publicly](/graduates)
* Receive a clear readiness signal
* May be considered for the Open Source Fellowship

Completion alone does not guarantee progression or fellowship placement.

## Start the Pathway

When you’re accepted into Learn Bitcoin from the Command Line, you’ll receive access to the private **#bitcoin-cli** channel on our [Discord](https://discord.gg/UJ5znDaCac) workspace. Once you join, take time to introduce yourself. Say a little bit about yourself, whether it be what area you’re from, what you do for work, or something you do for fun. If you don’t want to use your personal photo as your icon, that is totally fine. Just please change it to a unique image.

These groups work best when we get to know each other.

<a href="/pages/BIXt1Vnz41buVOU9jdzu" class="button primary">Begin Learn Bitcoin from the Command Line</a>


# Discussion Questions

These questions are based on the Learn Bitcoin from the Command Line Tutorial, 2nd version (2020) - chapters 01 to 13

### Chapter 1

***

Why is direct interaction with Bitcoin Core and c-lightning via the command line considered more robust and secure compared to using higher-level libraries?

How does the decentralization of Bitcoin challenge traditional centralized payment systems?

What are the potential risks and benefits of working directly with `bitcoind` and `lightningd` for cryptocurrency development?

Why is Bitcoin considered pseudonymous rather than fully anonymous?

How does Bitcoin prevent censorship of transactions?

What is the role of RPC (Remote Procedure Call) in interacting with Bitcoin Core and Lightning?

### Chapter 2

***

How do the five major types of Bitcoin nodes differ?

What are the benefits of using a VPS (Virtual Private Server) for running a Bitcoin node versus a local machine?

How does running a full node contribute to the security and decentralization of the Bitcoin network?

How does a pruned Bitcoin node differ from an unpruned node, and when should you use each?

What are the differences between Mainnet, Testnet, and Regtest, and in what scenarios would each be used?

What security priorities should be considered when setting up a Bitcoin node on a VPS?

What are the advantages of using a StackScript to set up a Bitcoin Core VPS?

Why might a developer choose to run a local instance of the Bitcoin blockchain rather than using a remote node?

### Chapter 3

***

What are the basic steps to create a Bitcoin address to receive funds?

What is a descriptor, and how does it relate to address generation?

What are the key files and directories in a Bitcoin node’s file layout?

How can you use informational commands in `bitcoin-cli` to understand your node's status?

Why is it important to verify your Bitcoin setup before engaging in transactions?

What are the benefits of using command-line variables when working with Bitcoin Core?&#x20;

### Chapter 4

***

What are the different methods for sending Bitcoin transactions using `bitcoin-cli`?

What is the difference between Legacy and SegWit transactions?

How do transaction fees work, and how are they determined?

What are the risks and dangers associated with raw transactions?

How can you use `bitcoin-cli` to send Bitcoin in the simplest way?

What are the benefits of using named arguments when creating raw transactions?

How can automation be used to send raw Bitcoin transactions?

How does `jq` help when working with Bitcoin transactions?

What role does `curl` play in sending Bitcoin transactions via command-line tools?

### Chapter 5

***

What is the mempool, and how does it affect Bitcoin transactions?

How do Replace-By-Fee (RBF) and Child-Pays-For-Parent (CPFP) mechanisms differ in resolving unconfirmed transactions?

How do you determine if a Bitcoin transaction is stuck?

How does RBF help in modifying an unconfirmed transaction?

How does CPFP allow a child transaction to push a parent transaction through?

When should you use RBF versus CPFP?

What are the risks of using RBF and CPFP?

How do miners prioritize transactions in the mempool?

### Chapter 6

***

What is a multisignature (multisig) Bitcoin address, and how does it work?

How does a multisig transaction differ from a standard Bitcoin transaction?

What are the benefits of using multisig addresses?

How do you create a multisig address using Bitcoin Core commands?

What is the difference between a 2-of-3 and a 3-of-5 multisig setup?

How do you fund a multisig address and verify the transaction?

What are the steps to spend Bitcoin from a multisig address?

How do multiple signers coordinate to approve and broadcast a multisig transaction?

What are some common use cases for multisig wallets?

What are the security risks and best practices for managing multisig setups?

### Chapter 7

***

How do PSBTs enable collaboration in Bitcoin transaction creation compared to multisignatures?

How can command-line tools be utilized to create, modify, and complete a PSBT?

What advantages do PSBTs offer when it comes to funding and authenticating Bitcoin transactions?

How does integrating HWI with a hardware wallet enhance the security and usability of PSBTs?

In what ways do PSBTs differ from multisignature transactions in terms of flexibility and use cases?

### Chapter 8

***

What is a locktime in a Bitcoin transaction, and how does it change the way funds are managed compared to immediate transfers?&#x20;

How do absolute timelocks differ from relative timelocks, and what unique benefits might each offer?&#x20;

In what scenarios would you choose to delay a transaction using a locktime, and what potential advantages does this provide?&#x20;

How does the OP\_RETURN opcode enable the inclusion of data in a transaction, and what are the implications of embedding such data?&#x20;

In what ways can adding data to a Bitcoin transaction expand its functionality beyond just transferring funds?&#x20;

What are the possible challenges or risks associated with using timelocks in Bitcoin transactions?&#x20;

How might the inclusion of additional data within a transaction impact blockchain efficiency and privacy?

### Chapter 9

***

In what ways does interacting with Bitcoin through its scripting language differ from using high-level bitcoin-cli commands?

What are the key components of a Bitcoin Script, and how do they work together to secure transactions?

How does the P2PKH script structure protect funds, and why is it considered fundamental to Bitcoin transactions?

What are the differences between P2PKH and P2WPKH scripts, and how do these differences impact transaction efficiency and security?

Why is testing an essential part of developing Bitcoin Scripts, and what methods can be used to ensure that a script functions as intended?

How does understanding the underlying foundation of Bitcoin transactions influence the design of custom scripts?

### Chapter 10

***

What is a P2SH transaction, and how does it incorporate Bitcoin Scripts into standard transaction workflows?

How does the design of a P2SH transaction differ from traditional Bitcoin transactions in terms of security and flexibility?

In what ways do multisignature and SegWit scripts integrate with P2SH to enhance transaction functionality?

How can you build and structure a P2SH transaction to ensure that the underlying script conditions are met?

What are the benefits of embedding complex Bitcoin Scripts within a P2SH transaction compared to using simpler transaction types?

How does spending funds from a P2SH address differ from spending funds in standard transactions?

What role does the multisig script play in a P2SH transaction, and how does it affect transaction approval processes?

How do the various SegWit variations of scripts influence the construction and execution of P2SH transactions?

### Chapter 11

***

How do the timelocking opcodes in Bitcoin Scripts differ from the basic `nLockTime` feature?

In what scenarios might you choose to use CLTV (CheckLockTimeVerify) over CSV (CheckSequenceVerify) when designing a script?

How does CLTV enforce an absolute time or block height before funds can be spent?

How does CSV enable the creation of relative timelocks, and what advantages does this offer?

How can you generate relative times within a Bitcoin Script using CSV?

What potential risks or challenges might arise when incorporating timelocks into Bitcoin Scripts?

How do timelocks enhance the flexibility and security of Bitcoin transactions?

In what ways can the proper use of timelocks influence the overall behavior of a Bitcoin smart contract?

### Chapter 12

***

In what ways can conditionals be used to create more complex decision-making processes within a Bitcoin Script?

What are some examples of non-conditional opcodes that can extend the functionality of Bitcoin Scripts?

How do conditionals and additional opcodes work together to enable the creation of more sophisticated Bitcoin contracts?

How can understanding the full range of scripting opcodes improve the security and versatility of a Bitcoin Script?

How do conditionals affect the predictability and verification of Bitcoin Scripts during transaction validation?

### Chapter 13

***

How can custom Bitcoin scripts be designed to solve specific problems or implement unique features?

What role do digital signatures play in ensuring the integrity of Bitcoin Scripts, and why are they essential?

What are the challenges in creating and deploying custom scripts on the Bitcoin network?

How do puzzle scripts illustrate the creative potential of Bitcoin Script programming?

How does the complexity of a script affect its security and usability in Bitcoin transactions?


# Deputy Guide

Each week, deputies are selected at random. The idea isn’t to add any pressure, it’s just to pick a person to smooth out the interactions and keep everyone on task.

A week prior to the meeting, deputy assignments along with breakout groups are posted. Each group has their own Jitsi link and 5-6 participants. On the day of the study session, go straight to your assigned breakout room.

Your job isn’t to lead but to facilitate. You are a timekeeper and a traffic cop. There is no expectation to be an authority on all subjects. Ask others to take turns talking and exploring the questions. Use the jitsi metrics (jitsi records how long everyone has spoken for) as a guide of who to draw into the conversation.&#x20;

As a deputy, you should:&#x20;

* Make sure everyone introduces themselves before you get started.
* Individuals were asked to come up with their own questions. Ask people to share the new questions they came up with in their 1:1 groups. Invite participants in your room to answer the new questions or answer them yourself.&#x20;
* If there are no new questions, you have the discussion questions for the week to fall back on. Share your screen to display the discussion questions. Read out the questions and invite participants in your room to answer or answer them yourself.&#x20;
* Ensure each participant answer at least one question in a round-robin format.  &#x20;After a response to a question, one or two participants may add their thoughts.&#x20;

If you need a hand or feel like things are sort of dead, you can defer to the chaperone in your breakout room.

There will be a post in the Discord channel alerting everyone when it’s time to return as a full group for wrap-up. This will be the last \~30 minutes of our session. Encourage your group to join their wrap-up rooms when alerted. Then you’re off duty!

Have fun!&#x20;


# Chaperone Guide

Each breakout room has a Chaperone whose role is to support the learning process and observe discussions. The goal is not to lead the conversation, but to help create a productive learning environment while assessing participation and supporting learners technically.

A week prior to the meeting, breakout groups and deputies are posted. Each group has their own Jitsi link and 5–6 participants. On the day of the study session, go straight to your assigned breakout room.

Your role is to observe, guide when necessary, and assess learner participation.

***

### As a Chaperone, you should:

#### Join the weekly study sessions

* Attend the weekly group study sessions for your assigned breakout room. All sessions are added to your calendar.
* Please keep your camera on and encourage participants to do the same. This helps create a more focused and interactive session.

#### Support the Deputy

Each breakout room has a [Deputy](/02/learn-bitcoin-from-the-command-line/live-cohort/deputy-guide) who facilitates the discussion.

If the designated Deputy is unavailable, someone else in the group should volunteer to step in. At the beginning of the session, briefly confirm the Deputy’s responsibilities:

* The Deputy should share their screen to display the discussion questions.
* They should read out each question and invite participants to answer.
* Each participant should answer at least one question in a round-robin format.
* After a response, one or two participants may add their thoughts and ask new questions.

If the discussion slows down or becomes unclear, you can step in to help maintain the flow.

#### Guide the learning process

Chaperones should not answer discussion questions directly.

Instead, encourage learners to think through their answers by asking guiding questions. If responses are unclear or incorrect, you can address them briefly at the end of the session. Your role is to support discussion and learning, not dominate it.

#### Observe and assess participation

During each session, you will assess 4–6 learners in your breakout group.

A grading system and rubric will be shared for the cohort. While observing the discussion:

* Monitor learner participation and engagement
* Add scores to the assessment rubric
* Include clear comments for each learner (comments are very important)

You may add scores and comments during or immediately after the discussion.

#### Provide technical exercise support

Students will receive weekly technical exercises to practice what they have learned.

Chaperones support the technical learning process by:

* Helping with the curation and testing of exercises before they are shared with learners by the operations team.&#x20;
* Reviewing exercise submissions from their assigned learners ahead of the study session.&#x20;
* Providing general feedback during the session on the learners’ approach, methodology, and correctness.&#x20;

This review should be done before the group study session so you can give helpful feedback and highlight common challenges during the call.

#### Support learners outside the session

Learners may ask questions in the cohort's Discord channel. Chaperones should:

* Respond to questions when possible
* Provide helpful feedback
* Encourage constructive discussion among learners

#### Participate in the final review

At the end of the pathway, chaperones will participate in the final learner review and confirmation of graduates. Your session observations and assessment comments will help determine successful completion of the program.

#### Final note

Your presence helps ensure that discussions remain thoughtful, engaging, and supportive for everyone involved.

Observe carefully, guide when necessary, and help create a learning environment where participants feel encouraged to contribute.

Have fun!


# Study Materials

Study content divided into chapters and weeks for easy digest

### Jump to:

* Week 1&#x20;
  * [Chapter 1: Introduction](#chapter-1-introduction)
  * [Chapter 2: Setting Up Bitcoin Core VPS](#chapter-2-setting-up-bitcoin-core-vps)
  * [Chapter 3: Understanding Your Bitcoin Setup](#chapter-3-understanding-your-bitcoin-setup)
* Week 2&#x20;
  * [Chapter 4: Sending Bitcoin TXNs](#chapter-4-sending-bitcoin-txns)&#x20;
  * [Chapter 5: Controlling Bitcoin TXNs](#chapter-5-controlling-bitcoin-txns)
* Week 3&#x20;
  * [Chapter 6: Expanding Bitcoin TXNs - Multisigs](#chapter-6-expanding-bitcoin-txns-multisigs)
  * [Chapter 7: Expanding Bitcoin TXNs - PSBTs](#chapter-7-expanding-bitcoin-txns-psbts)
* Week 4&#x20;
  * [Chapter 8: Expanding Bitcoin TXNs - Other](#chapter-8-expanding-bitcoin-txns-other)
  * [Chapter 9: Introducing Bitcoin Scripts](#chapter-9-introducing-bitcoin-scripts)
* Week 5&#x20;
  * [Chapter 10: Embedding Bitcoin Scripts in p2SH TXNs](#chapter-10-embedding-bitcoin-scripts-in-p2sh-txns)
  * [Chapter 11: Empowering Timelock with Bitcoin Script](#chapter-11-empowering-timelock-with-bitcoin-scripts)
* Week 6
  * [Chapter 12: Expanding Bitcoin Scripts](#chapter-12-expanding-bitcoin-scripts)
  * [Chapter 13: Designing Bitcoin Scripts](#chapter-13-designing-bitcoin-scripts)

***

### Week 1

***

#### Chapter 1: Introduction

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/01_0_Introduction.md>" %}

#### Chapter 2: Setting Up Bitcoin Core VPS

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/02_0_Setting_Up_a_Bitcoin-Core_VPS.md>" %}

#### Chapter 3: Understanding Your Bitcoin Setup

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/03_0_Understanding_Your_Bitcoin_Setup.md>" %}

### Week 2

***

#### Chapter 4: Sending Bitcoin TXNs&#x20;

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/04_0_Sending_Bitcoin_Transactions.md>" %}

#### Chapter 5: Controlling Bitcoin TXNs

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/05_0_Controlling_Bitcoin_Transactions.md>" %}

### Week 3

***

#### Chapter 6: Expanding Bitcoin TXNs - Multisigs

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/06_0_Expanding_Bitcoin_Transactions_Multisigs.md>" %}

#### Chapter 7: Expanding Bitcoin TXNs - PSBTs

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/07_0_Expanding_Bitcoin_Transactions_PSBTs.md>" %}

### Week 4

***

#### Chapter 8: Expanding Bitcoin TXNs - Other

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/08_0_Expanding_Bitcoin_Transactions_Other.md>" %}

#### Chapter 9: Introducing Bitcoin Scripts

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/09_0_Introducing_Bitcoin_Scripts.md>" %}

### Week 5

***

#### Chapter 10: Embedding Bitcoin Scripts in p2SH TXNs

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/10_0_Embedding_Bitcoin_Scripts_in_P2SH_Transactions.md>" %}

#### Chapter 11: Empowering Timelock with Bitcoin Scripts

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/11_0_Empowering_Timelock_with_Bitcoin_Scripts.md>" %}

### Week 6

***

#### Chapter 12: Expanding Bitcoin Scripts

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/12_0_Expanding_Bitcoin_Scripts.md>" %}

#### Chapter 13: Designing Bitcoin Scripts

{% embed url="<https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/13_0_Designing_Real_Bitcoin_Scripts.md>" %}


# Rust for Bitcoiners

Learn Rust. Build Bitcoin. Contribute to Open Source.

{% hint style="info" %}
**Live cohort 1 for 2026 has recently concluded...**
{% endhint %}

Rust for Bitcoiners is a focused, self-paced learning pathway designed to help experienced developers build the Rust skills required to contribute meaningfully to Bitcoin open-source projects.

Rather than reinventing the wheel, Btrust Builders acts as a learning coordinator, curating high-quality Rust learning resources, structuring weekly progress, and surrounding you with peer and faculty support so you don’t learn alone.

This pathway is ideal if you already understand Bitcoin basics and want to move closer to real code, real repositories, and real contributions.

#### **CTAs**

<a href="/pages/HKIsF3MouvHh4jG7aAcP" class="button primary">View Weekly Gameplan</a>

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply join a Live Cohort</a>

***

## What This Pathway Is

A structured learning journey that introduces you to Rust fundamentals and shows how Rust is used in high-performance, security-critical Bitcoin development.

You’ll work through an industry-relevant Rust curriculum while completing practical Builder tasks that reinforce what you’re learning and connect it back to Bitcoin use cases.

This is not a bootcamp and not a traditional fellowship. It’s a pathway designed to help you build capability, discipline, and confidence as a Bitcoin developer.

## Who It’s For

This pathway is best suited for developers who:

* Are comfortable with at least one programming language
* Have some familiarity with the Rust programming language and Bitcoin concepts
* Want to contribute to Bitcoin or Lightning open-source projects
* Are interested in Rust for systems, performance-critical, or security-sensitive work

If you’re brand new to programming or Bitcoin, we recommend starting with earlier [Builders pathways](/#all-pathways) before joining Rust for Bitcoiners.

## What To Expect

By the end of this pathway, you should expect to have:

* A solid understanding of Rust fundamentals (e.g. ownership and borrowing, memory safety, concurrency concepts)
* Hands-on Rust coding experience
* Practical exercises connecting Rust concepts to Bitcoin-related tasks
* Experience learning independently while staying accountable to a group
* Clear next steps toward Bitcoin open-source contribution

You’ll also be supported by:

* Weekly peer sync calls
* Text-based office hours with faculty
* A private Discord channel for questions, collaboration, and accountability

## Cohort Details

* **Registration deadline:** May 10, 2026
* **Commencement date**: May 18, 2026
* **Duration:** 6 Weeks
* **Level:** Intermediate to Advanced
* **Commitment**: \~5–7 hours per week
* **Mode:** Self-paced modules, with guided structure and community support
* **Format**: Online (BTCdemy and Discord)
* **Support**: Discord community, sync calls, office hours

***

## How the Pathway Works

This pathway combines independent learning with structured support.

You’ll move through Rust content at your own pace, but each week follows a shared rhythm to keep you consistent and accountable.

#### The Learning Stack

We will be using BTCdemy to go through the material - **The Bitcoiner's Intro to Rust**

{% embed url="<https://btcdemy.thinkific.com/courses/intro-to-rust>" %}

* Practice: Weekly Builders coding tasks
* Support: Discord community, homegroup syncs, and office hours

Builders does not modify or duplicate the BTCdemy content. Instead, we:

* Organize the learning timeline
* Provide weekly structure
* Add contextual and technical Builders exercises
* Facilitate peer discussion and mentorship
* Help you stay consistent through accountability

***

## Start the Pathway

When you’re accepted into Rust for Bitcoiners, you’ll receive access to the private **#rust-for-bitcoiners** channel on our [Discord](https://discord.gg/UJ5znDaCac) workspace. Once you join, take time to introduce yourself. Say a little bit about yourself, whether it be what area you’re from, what you do for work, or something you do for fun. If you don’t want to use your personal photo as your icon, that is totally fine. Just please change it to a unique image.

These groups work best when we get to know each other.

<a href="/pages/joFlKJQF6ZSXgjAYEbAN#ctas" class="button primary">Begin Rust for Bitcoiners</a>


# Your Weekly Gameplan

Stay on track each week with this simple routine.

## **Each week, you’ll follow the same structure:**

<table><thead><tr><th width="97.8828125" align="center" valign="top">S/N</th><th>Actions</th></tr></thead><tbody><tr><td align="center" valign="top">1</td><td><p><strong>Complete One Learning Module</strong></p><ul><li>Work through one <a href="https://btcdemy.thinkific.com/courses/intro-to-rust">BTCdemy</a> module or section</li><li>Focus on understanding concepts, not speed</li><li>Take notes and flag anything unclear for discussion</li></ul></td></tr><tr><td align="center" valign="top">2</td><td><p><strong>Build One Practical Exercise</strong></p><ul><li>Complete a Builders task tied to that week’s learning</li><li>Tasks are designed to reinforce Rust concepts and practical thinking</li><li>Push your work to GitHub</li></ul></td></tr><tr><td align="center" valign="top">3</td><td><p><strong>Join Your Weekly Sync Call</strong></p><ul><li>30–45 minutes with your homegroup and faculty member</li><li>Share progress, ask questions, and unblock challenges</li><li>Get feedback and encouragement</li></ul></td></tr><tr><td align="center" valign="top">4</td><td><p><strong>Participate in Office Hours</strong></p><ul><li>Weekly text-based office hours on Discord</li><li>Ask questions, share code snippets, request feedback and get unstuck — live or asynchronously</li></ul></td></tr><tr><td align="center" valign="top">5</td><td><p><strong>Submit Weekly Progress</strong></p><p>At the end of each week, submit a short progress form including: </p><ul><li>A screenshot showing BTCdemy module completion</li><li>A GitHub link to your Builders task</li></ul></td></tr></tbody></table>

***

## **Support available:**

* **Office Hours:** Wednesdays, 5–6 PM WAT in `#rust-for-bitcoiners`
* **Sync Calls:** Scheduled with your homegroup and chaperone
* **Discord:** Ask questions anytime&#x20;

## Important Reminders:

* Sync calls are your space to share wins/blockers, ask questions, and get feedback
* Office hours are fully text-based — join even if you can’t be live
* All weekly submissions are due on Fridays


# Meetings

## Weekly Syncs

Each week, you’ll join a 30–45 minute sync call with your assigned homegroup. These sessions are designed to keep you accountable, create space for discussion and peer learning, and help you connect concepts to real development work.&#x20;

**What Happens in a Sync Call**

* Homegroup check-ins and progress sharing
* Faculty walkthrough of key concepts or exercises
* Q\&A and open discussion
* Optional student demos or mini-presentations

**How to Prepare**

* Make solid progress on your BTCdemy module or Builders task
* Be ready to share what you learned and where you’re stuck
* Show up on time — cameras are encouraged but optional

**Schedule**

* Each homegroup has a fixed weekly day and time
* Check your Discord channel or calendar invite for your group’s specific schedule
* Calls take place on Google Meet or Jitsi

***

## Office Hours

We host weekly, text-based office hours on Discord.

**How Office Hours Work**

* A thread is posted at the start of office hours
* Drop your questions, code snippets, screenshots, or blockers
* Faculty respond in real time
* Can’t join live? Post your questions anytime — we’ll respond asynchronously.
* We’ll send two reminders: one a day-before as a quick heads-up, and 1 hour before, which is the final nudge to join in.&#x20;

**Schedule**

* Timeline: Wednesdays, 5–6 PM WAT&#x20;
* Location: `#rust-for-bitcoiners` channel

**Archive**

All office hour threads are pinned, so it’s easy to catch up or search past answers


# Platforms

## Discord

Discord is the home of the Rust for Bitcoiners community.

Once invited:

* Introduce yourself in the private channel
* Share where you’re learning from and what excites you about Bitcoin
* Ask questions freely — this space exists to support you

You don’t need to use a personal photo, but please choose a unique avatar.&#x20;

***

## BTCdemy

BTCdemy hosts the core Rust curriculum used in this pathway.

{% embed url="<https://btcdemy.thinkific.com/courses/intro-to-rust>" %}

You’ll work through:

* The Bitcoiner’s Intro to Rust
* Structured modules covering Rust fundamentals
* Exercises that build toward real-world usage

Builders provide guidance and structure — BTCdemy provides the content.


# Language Clubs (not Rust)

Strengthen your language. Build foundations. Move closer to Bitcoin.

{% hint style="info" %}
**Live cohort 1 for 2026 has recently concluded...**
{% endhint %}

Language Clubs is a self-paced, community-supported learning pathway designed to help developers strengthen their proficiency in programming languages commonly used in Bitcoin development.&#x20;

Rather than teaching Bitcoin directly, this pathway focuses on language fluency — the prerequisite skill that enables meaningful contribution to Bitcoin open-source projects later on.

Builders acts as a coordinator: grouping learners by language, curating high-quality external learning resources, and providing structure, accountability, and peer support so you don’t learn alone.

#### **CTAs**

<a href="/pages/l8CoUv1LlK2Zf9h8iecL" class="button primary">View Weekly Gameplan</a>

<a href="https://btrust.homerun.co/btrust-builders-application/en" class="button primary">Apply join a Live Cohort</a>

***

## What This Pathway Is

Language Clubs is a guided learning pathway where developers improve their skills in a specific programming language while staying accountable through weekly goals, peer syncs, and Builders-supported exercises.

This pathway is:

* Self-paced, but not self-isolated
* Structured, but not a bootcamp
* Practical, not theoretical

You’ll work through an existing, industry-relevant curriculum while completing Bitcoin-adjacent Builders tasks that help you think like a Bitcoin developer, even before touching Bitcoin code.

## Who It’s For

Language Clubs is best suited for developers who:

* Are early in their Bitcoin learning journey
* Want to strengthen a core programming language used in Bitcoin development
* Prefer structured self-learning with peer support
* Are preparing for more advanced [Builders pathways](/#all-pathways)

#### **Supported Languages**

Language Clubs currently support:

* Python
* C++

Other languages may be introduced over time.

If you are already comfortable contributing to Bitcoin or Lightning repositories, you may be better suited for more advanced pathways.

## What To Expect

By the end of this pathway, you should expect to have:

* Stronger fluency in your chosen programming language
* Consistent practice writing and reading code
* Experience solving structured programming problems
* A public record of your learning and progress
* Better readiness for Bitcoin-focused technical pathways

You’ll also be supported by:

* Weekly homegroup sync calls
* Text-based office hours with faculty
* A private Discord channel for questions, collaboration, and accountability

## Cohort Details

* **Registration deadline**: May 10, 2026
* **Commencement date**: May 18, 2026
* **Duration**: 6 weeks
* **Level**: Intermediate to Advanced
* **Commitment**: \~5–7 hours per week
* **Mode**: Self-paced modules, with guided structure and community support
* **Format**: Online (Exercism and Discord)
* **Support**: Discord community, sync calls, office hours

***

## How the Pathway Works

Language Clubs combine independent learning with shared accountability.

You’ll progress through exercises at your own pace, but every week follows a shared rhythm designed to keep you consistent and engaged.

#### The Learning Stack

We will be using Exercism to go through the material (Python or C++ tracks).&#x20;

{% embed url="<https://exercism.org/>" %}

* Practice: Weekly Builders add-on exercises; Bitcoin-inspired problem framing
* Support: Discord community, homegroup syncs, and office hours

Builders does not modify or duplicate the Exercism content. Instead, we:

* Organize the learning timeline
* Provide weekly structure
* Add contextual and technical Builders exercises
* Facilitate peer discussion and mentorship
* Help you stay consistent through accountability

***

## Start the Pathway

When you’re accepted into Language Clubs, you’ll receive access to the private **#language-clubs** channel on our [Discord](https://discord.gg/UJ5znDaCac) workspace. Once you join, take time to introduce yourself. Say a little bit about yourself, whether it be what area you’re from, what you do for work, or something you do for fun. If you don’t want to use your personal photo as your icon, that is totally fine. Just please change it to a unique image.

These groups work best when we get to know each other.

<a href="/pages/sN1B7n8bWiSBDa23FlBB#ctas" class="button primary">Begin Language Clubs</a>


# Your Weekly Gameplan

Stay on track each week with this simple routine.

## **Each week, you’ll follow the same structure:**

<table><thead><tr><th width="97.8828125" align="center" valign="top">S/N</th><th>Actions</th></tr></thead><tbody><tr><td align="center" valign="top">1</td><td><p><strong>Complete Language Exercises</strong></p><ul><li>Work through <a href="https://exercism.org/">Exercism</a> exercises for your chosen language</li><li>Meet your weekly targets: Python: ~20 exercises; C++: ~15 exercises</li><li>Focus on correctness, clarity, and understanding, not speed.</li><li>Take notes and flag anything unclear for discussion</li></ul></td></tr><tr><td align="center" valign="top">2</td><td><p><strong>Complete One Builders Add-On Exercise</strong></p><ul><li>Complete a Builders task tied to that week’s exercises </li><li>Tasks are designed to reinforce core language concepts, introduce Bitcoin-relevant problem framing, and encourage clean, readable code</li><li>Submit your solution via GitHub or a shared code link</li></ul></td></tr><tr><td align="center" valign="top">3</td><td><p><strong>Join Your Weekly Sync Call</strong></p><ul><li>30–45 minutes with your homegroup and faculty member</li><li>Share progress, learnings, ask questions, and unblock challenges</li><li>Get feedback and encouragement</li></ul></td></tr><tr><td align="center" valign="top">4</td><td><p><strong>Participate in Office Hours</strong></p><ul><li>Weekly text-based office hours on Discord</li><li>Ask questions, share code snippets, request feedback and get unstuck — live or asynchronously.</li></ul></td></tr><tr><td align="center" valign="top">5</td><td><p><strong>Submit Weekly Progress</strong></p><p>At the end of each week, submit a short progress form including: </p><ul><li>Screenshot of Exercism progress</li><li>GitHub or shared code link for the Builders task</li></ul></td></tr></tbody></table>

***

## **Support available:**

* **Office Hours:** Thursdays, 5–6 PM WAT in `#language-clubs`
* **Sync Calls:** Scheduled with your homegroup and chaperone
* **Discord:** Ask questions anytime&#x20;

## Important Reminders:

* Sync calls are your space to share wins/blockers, ask questions, and get feedback
* Office hours are fully text-based — join even if you can’t be live
* All weekly submissions are due on Fridays.&#x20;


# Meetings

## Weekly Syncs

Each week, you’ll join a 30–45 minute sync call with your assigned homegroup. These sessions are designed to keep you accountable, create space for discussion and peer learning, and help you connect concepts to real development work.&#x20;

**What Happens in a Sync Call**

* Homegroup check-ins and progress sharing
* Faculty walkthrough of key concepts or exercises
* Q\&A and open discussion
* Optional student demos or mini-presentations

**How to Prepare**

* Make solid progress on your Exercism exercises
* Attempt the Builders add-on task
* Be ready to share what you learned and where you’re stuck
* Show up on time — cameras are encouraged but optional

**Schedule**

* Each homegroup has a fixed weekly day and time
* Check your Discord channel or calendar invite for your group’s specific schedule
* Calls take place on Google Meet or Jitsi

***

## Office Hours

We host weekly, text-based office hours on Discord.

**How Office Hours Work**

* A thread is posted at the start of office hours
* Drop your questions, code snippets, screenshots, or blockers
* Faculty respond in real time
* Can’t join live? Post your questions anytime — responses may come later.
* We’ll send two reminders: one a day-before as a quick heads-up, and 1 hour before, which is the final nudge to join in.&#x20;

**Schedule**

* Timeline: Thursdays, 5–6 PM WAT
* Location: `#language-clubs` channel

**Archive**

All office hour threads are pinned, so it’s easy to catch up or search past answers


# Platforms

## Discord

Discord is the home of the Language Clubs community.

Once invited:

* Introduce yourself in the private channel
* Share which language you’re learning and your goals
* Ask questions freely — this space exists to support you

You don’t need to use a personal photo, but please choose a unique avatar.&#x20;

***

## Exercism

Exercism hosts the core curriculum for Language Clubs.

{% embed url="<https://exercism.org/>" %}

You’ll use it to:

* Practice language fundamentals
* Solve progressively challenging exercises
* Receive feedback and explore community solutions

Builders provide structure and context — Exercism provides the practice environment.


# PoW & Completion Criteria

At Btrust Builders, progress is measured by what you build and contribute, not by time spent or attendance.

We don’t issue certificates for simply showing up. Instead, we recognize builders who consistently engage, complete meaningful work, and demonstrate learning through practice.

This page explains what Proof of Work (PoW) means across Builders pathways and how completion is determined.

***

## What Proof of Work Means

Proof of Work is evidence that you:

{% stepper %}
{% step %}
Actively engaged with your pathway’s learning material
{% endstep %}

{% step %}
Applied your learning through practical work
{% endstep %}

{% step %}
Maintained consistency and follow-through over time
{% endstep %}
{% endstepper %}

Your Proof of Work lives in public, verifiable spaces (GitHub repositories, submissions, discussions, demos, or written reflections), not in private claims.

This reflects how credibility works in open-source communities:

> What you build and share matters more than what you say you know.

***

## What Counts as Proof of Work

While details vary by pathway, Proof of Work generally includes:

<table data-header-hidden><thead><tr><th width="232.21484375" valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top">Learning Milestones </td><td><p>Evidence that you meaningfully engaged with the core material: </p><ul><li>Completion of required modules, chapters, or exercises</li><li>Screenshots or progress markers showing engagement</li><li>Written reflections, notes, or summaries (where required)</li></ul></td></tr><tr><td valign="top">Practical Work &#x26; Deliverables</td><td><p>Evidence that you applied your learning:</p><ul><li>Completed Builders tasks or exercises</li><li>Code written and pushed to GitHub with clear commits</li><li>Written analyses, structured responses, or reflections</li><li>Demos, walkthroughs, or presentations</li></ul><p>For technical pathways, public code and commit history are the strongest signals of progress.</p></td></tr><tr><td valign="top">Consistent Weekly Submissions</td><td><p>Proof of consistency includes:</p><ul><li>Submitting weekly progress updates on time</li><li>Sharing links to completed work and supporting evidence</li><li>Clear signals of steady effort over time</li></ul><p>Consistency matters more than perfection.</p></td></tr><tr><td valign="top">Community Participation</td><td><p>Pathways are designed to foster collaboration:</p><ul><li>Attending sync calls, study sessions, discussions or office hours</li><li>Asking thoughtful questions or sharing solutions </li><li>Helping peers, giving feedback, or sharing learnings</li></ul></td></tr></tbody></table>

***

## Core Completion Requirements

To complete a Builders pathway, participants typically must:

* [x] Complete required learning modules or materials
* [x] Submit all (or a defined majority of) Builders tasks
* [x] Provide public Proof of Work (code, writing, or demos)
* [x] Engage consistently through weekly submissions and participation

**Notes:**

* Each pathway may define minimum thresholds (e.g., “4 out of 5 tasks completed”)
* Completion is based on effort and demonstrated learning, not mastery
* Late or partial work may affect completion status
* Live pathways may include additional participation expectations

Details are always communicated clearly at the start of each pathway.

***

## What  You Receive Upon Completion

#### **Builders Proof of Work Recognition**

* Official recognition as a Btrust Builders Pathway Graduate
* Inclusion in internal Builders tracking and alumni records

> This is not a certificate, but a signal of demonstrated effort and learning.

#### Sharable Evidence of Learning

You leave with:

* Public artifacts (code, writing, or projects)
* A clear learning trail to reference for:
* Open-source contributions
* Grant or fellowship applications
* Future Builders opportunities

> Your Proof of Work is yours to carry forward.

#### Clear Next Steps

Depending on your pathway and performance, you may:

* Be encouraged toward more advanced Builders pathways
* Be recommended for open-source projects&#x20;
* Be considered for grants, fellowships, or supported work

> Completion opens doors, it does not guarantee outcomes.

***

## What Does *Not* Count as Completion

The following alone do not qualify:

* Watching content without submitting work
* Attending calls without completing required tasks
* Private or unpublished work without public proof
* Last-minute submissions without meaningful engagement.&#x20;

***

Completing a pathway means you:

* Took ownership of your learning
* Produced real, verifiable work
* Demonstrated reliability over time

#### That signal matters, inside Btrust Builders and far beyond it.


# Pathways Graduates

Welcome to our living archive of graduates from all technical learning pathways offered by Btrust Builders. Use the buttons below to jump to a specific pathway.

### Jump to:

<a href="/pages/PR0s9hwOZrGBruotd45o#mastering-bitcoin" class="button primary" data-icon="diagram-cells">Mastering Bitcoin</a>

<a href="/pages/PR0s9hwOZrGBruotd45o#learn-bitcoin-from-the-command-line" class="button primary" data-icon="diagram-cells">Learn Bitcoin from the Command Line </a>

<a href="/pages/PR0s9hwOZrGBruotd45o#rust-for-bitcoiners" class="button primary" data-icon="diagram-cells">Rust for Bitcoiners </a>

<a href="/pages/PR0s9hwOZrGBruotd45o#language-clubs" class="button primary" data-icon="diagram-cells">Language Clubs</a>

***

## Mastering Bitcoin

{% hint style="info" icon="square-poll-horizontal" %}
**Duration:** 8 weeks

**Material:** [Mastering Bitcoin: Programming the Open Blockchain (3rd Edition)](https://github.com/bitcoinbook/bitcoinbook) by Andreas Antonopoulos

**Graduation Criteria:** Graduates must read all [study materials](/01/mastering-bitcoin/study-materials); complete assigned course work (including partner discussions); prepare presentations on [Socratic questions](/01/mastering-bitcoin/live-cohort/discussion-questions); attend at least 5 of 7 weekly 90-minute group study sessions; and achieve an overall 70% pass grade.

**Grading:** Learners were evaluated based on:

* Engagement – Active participation in discussions
* Preparation – Evidence of thoughtful review beyond the shared material and questions
* Technical Depth – Ability to engage with complex technical topics in the materials
* Answer Quality – Clear, logical, and insightful responses
* Interaction Quality – Respectful and constructive communication with peers
* Attendance – Consistent and punctual presence throughout the cohort

These evaluations helped determine overall rankings and the top-performing developers in the cohort.
{% endhint %}

### Graduate Lists

{% tabs %}
{% tab title="April 2026 (NEW)" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

18 graduates\
14 male, 4 female\
9 countries (Ethiopia · Ghana · Malawi · Mozambique · Nigeria · South Africa · Uganda · Zambia · United Kingdom)
{% endhint %}

<table><thead><tr><th width="124.61627197265625">Rank</th><th width="292.985595703125">Name</th><th width="357.19976806640625">Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/Grace-Ujah">Grace Ujah</a></td><td>Nigeria</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/tumutech">Francis Tumusiime</a></td><td>Uganda</td></tr><tr><td>🥉 3</td><td><a href="https://github.com/candolp">Candolp Dompreh</a></td><td>United Kingdom</td></tr><tr><td>🏅 4</td><td><a href="https://github.com/danieldzansi">Daniel Mensah Dzansi</a></td><td>Ghana</td></tr><tr><td>🏅 5</td><td><a href="https://github.com/Bukharee-stack">Buhari Sarki</a></td><td>Nigeria</td></tr><tr><td>🏅 6</td><td><a href="https://github.com/AnishereMariam">Mariam Anishere</a></td><td>Nigeria</td></tr><tr><td>🏅 7</td><td><a href="https://github.com/fikirmekasha">Fikir Mekasha</a></td><td>Ethiopia</td></tr><tr><td>🏅 8</td><td><a href="https://github.com/lsatype5">Daniel Taju</a></td><td>Mozambique</td></tr><tr><td>🏅 9</td><td><a href="https://github.com/elsibanda">Thembelihle Sibanda</a></td><td>South Africa</td></tr><tr><td>🏅 10</td><td><a href="https://github.com/shubertm">Shubert Munthali</a></td><td>Malawi</td></tr><tr><td>11</td><td><a href="https://github.com/keithunt-35">Tugume Keith</a></td><td>Uganda</td></tr><tr><td>12</td><td><a href="https://github.com/solomontchaya">Solomon Tchaya</a></td><td>Malawi</td></tr><tr><td>13</td><td><a href="https://github.com/msteyn94">Stanley Ipkiss</a></td><td>South Africa</td></tr><tr><td>14</td><td><a href="https://github.com/cindyeme">Cynthia Emerenini</a></td><td>Nigeria</td></tr><tr><td>15</td><td><a href="https://github.com/shenryk">Henry Senkungu</a></td><td>Uganda</td></tr><tr><td>16</td><td><a href="https://github.com/SUME263">Sume Sikazwe</a></td><td>Zambia</td></tr><tr><td>17</td><td><a href="https://github.com/salifu25">Salifu Yakubu</a></td><td>Ghana</td></tr><tr><td>18</td><td><a href="https://github.com/esther-inyang">Esther Inyang</a></td><td>Nigeria</td></tr></tbody></table>
{% endtab %}

{% tab title="April 2025" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

41 graduates\
35 male, 6 female\
4 countries (Nigeria · Kenya · Uganda · Tanzania)
{% endhint %}

<table><thead><tr><th width="140.84765625">Rank</th><th width="297.41796875">Name</th><th>Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/FrankChinedu"><strong>Frank Chinedu Obi</strong></a></td><td>Nigeria</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/Mercy435"><strong>Mercy</strong> </a><a href="https://github.com/Mercy435"><strong>Isaac</strong></a></td><td>Nigeria</td></tr><tr><td>🥉 3</td><td><a href="https://github.com/ChidiChuks"><strong>Chidiebere Chukwuma</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 4</td><td><a href="https://github.com/Cyber-Lord"><strong>Umar Adamu</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 5</td><td><a href="https://github.com/devabdulsalam"><strong>Abdulsalam Mohammed</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 6</td><td><a href="https://github.com/Fideltodayy"><strong>Fidel Otieno</strong></a></td><td>Kenya</td></tr><tr><td>🏅 7</td><td><a href="https://github.com/samiromer2"><strong>Samir Ibrahim</strong></a></td><td>Uganda</td></tr><tr><td>🏅 8</td><td><a href="https://github.com/mercie-ux"><strong>Mercy Mbao</strong></a></td><td>Kenya</td></tr><tr><td>🏅 9</td><td><a href="https://github.com/LakunleD"><strong>Olakunle Dosunmu</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 10</td><td><a href="https://github.com/RaheemJnr"><strong>Raheem Jr.</strong></a></td><td>Nigeria</td></tr><tr><td>11</td><td><a href="https://github.com/matt-marly"><strong>Matthew Adeyemi</strong></a></td><td>Nigeria</td></tr><tr><td>12</td><td><a href="https://github.com/Ayrabb"><strong>Ibrahim Hamid</strong></a></td><td>Nigeria</td></tr><tr><td>13</td><td><a href="https://github.com/OShuaib"><strong>Shuaib Olurode</strong></a></td><td>Nigeria</td></tr><tr><td>14</td><td><a href="https://github.com/manlikekweks"><strong>Man Like Kweks</strong></a></td><td>Tanzania</td></tr><tr><td>15</td><td><a href="https://github.com/AHUNAM"><strong>Chidinma Peace Ahunam</strong></a></td><td>Nigeria</td></tr><tr><td>16</td><td><a href="https://github.com/richieoscar">Oscar Anyiam</a></td><td>Nigeria</td></tr><tr><td>17</td><td><a href="https://github.com/vicjuma">Victor Oluoch</a></td><td>Nigeria</td></tr><tr><td>18</td><td><a href="https://github.com/AHMAD-USM">Ahmad Usman</a></td><td>Nigeria</td></tr><tr><td>19</td><td><a href="https://github.com/Abdulmerjid">Abdulmajid Isah</a></td><td>Nigeria</td></tr><tr><td>20</td><td><a href="https://github.com/uthmaniv">Usman Yahaya</a></td><td>Nigeria</td></tr><tr><td>21</td><td><a href="https://github.com/pmuia">Paul Muia Muthama</a></td><td>Kenya</td></tr><tr><td>22</td><td><a href="https://github.com/haidar1">Aliyu Ibrahim</a></td><td>Nigeria</td></tr><tr><td>23</td><td><a href="https://github.com/princemuel">Samuel Chukwuzube</a></td><td>Nigeria</td></tr><tr><td>23</td><td><a href="https://github.com/d-lite">Daniel Olabemiwo</a></td><td>Nigeria</td></tr><tr><td>25</td><td><a href="https://github.com/dgithinjibit">Daniel Githinji</a></td><td>Kenya</td></tr><tr><td>26</td><td><a href="https://github.com/dev-olalekan">Mojeed Olalekan Otuyigha</a></td><td>Nigeria</td></tr><tr><td>27</td><td><a href="https://github.com/ebenezer-code">Ebenezer Noble</a></td><td>Nigeria</td></tr><tr><td>28</td><td><a href="https://github.com/Lymah123">Halimah Odunola</a></td><td>Nigeria</td></tr><tr><td>29</td><td><a href="https://github.com/rahmlad-aramide">Abdrahman Oladimeji</a></td><td>Nigeria</td></tr><tr><td>29</td><td><a href="https://github.com/leolionking">Chinedu Madubuko</a></td><td>Nigeria</td></tr><tr><td>31</td><td><a href="https://github.com/vincent-mutwiri">Vincent Mutwiri</a></td><td>Kenya</td></tr><tr><td>32</td><td><a href="https://github.com/Tito94-hub">Titus Parsitau</a></td><td>Kenya</td></tr><tr><td>33</td><td><a href="https://github.com/Giddyware">Iyanuoluwa Idowu</a></td><td>Nigeria</td></tr><tr><td>34</td><td><a href="https://github.com/orama254">Rama Ochieng</a></td><td>Kenya</td></tr><tr><td>35</td><td><a href="https://github.com/Yodeman">Paul Oyelabi</a></td><td>Nigeria</td></tr><tr><td>36</td><td><a href="https://github.com/Babatunde-Segun">Segun Babatunde</a></td><td>Nigeria</td></tr><tr><td>37</td><td><a href="https://github.com/8790fahad">Fahad Ado Muhammad</a></td><td>Nigeria</td></tr><tr><td>38</td><td><a href="https://github.com/calculator">Mulwa Maithya</a></td><td>Kenya</td></tr><tr><td>39</td><td><a href="https://github.com/vemerie">Victor Ezeh</a></td><td>Nigeria</td></tr><tr><td>40</td><td><a href="https://github.com/Lovina365">Lovina Amiandamhen</a></td><td>Nigeria</td></tr><tr><td>41</td><td><a href="https://github.com/everlyne-wangui">Everlyne Wangui</a></td><td>Kenya</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***

## Learn Bitcoin from the Command Line

{% hint style="info" icon="square-poll-horizontal" %}
**Duration:** 7 weeks

**Material:** Chapters 01 to 13 of the tutorial [Learning Bitcoin from the Command Line 2.2.0](/02/learn-bitcoin-from-the-command-line) by Christopher Allen and Shannon Appelcline. Run in a similar style as the study groups, specialized knowledge is built in Bitcoin Core through the CLI.

**Graduation Criteria:** Graduates must read all [study materials](/02/learn-bitcoin-from-the-command-line/study-materials); complete assigned course work (including partner discussions); prepare presentations on [Socratic questions](/02/learn-bitcoin-from-the-command-line/live-cohort/discussion-questions); pass curated weekly technical exercises (including a capstone project), attend at least 5 of 6 weekly 90-minute group study sessions, and achieve an overall 70% pass grade.

**Grading:** Learners were evaluated based on:

* Engagement – Active participation in discussions
* Preparation – Evidence of thoughtful review beyond the shared material and questions
* Technical Depth – Ability to engage with complex technical topics in the materials
* Answer Quality – Clear, logical, and insightful responses
* Interaction Quality – Respectful and constructive communication with peers
* Technical Work - Successfully completing practical exercises related to the week's learning
* Attendance – Consistent and punctual presence throughout the cohort

These evaluations helped determine overall rankings and the top-performing developers in the cohort.
{% endhint %}

### Graduate Lists

{% tabs %}
{% tab title="April 2026 (NEW)" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

19 graduates\
14 male, 5 female\
7 countries (Ghana · Kenya · Mauritius · Nigeria · South Africa · Uganda · United States)
{% endhint %}

<table><thead><tr><th width="139.30377197265625">Rank</th><th width="314.067626953125">Name</th><th width="338.21148681640625">Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/0tuedon">Tuedon Tuoyo</a></td><td>Nigeria</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/72kb">Praise Olugbemi</a></td><td>Nigeria</td></tr><tr><td>🥉 3</td><td><a href="https://github.com/aaron-leeb">Aaron Leeb</a></td><td>United States</td></tr><tr><td>🏅 4</td><td><a href="https://github.com/bagwells">Timmy Bagwells</a></td><td>Nigeria</td></tr><tr><td>🏅 5</td><td><a href="https://github.com/Ayoazeez26">Abdulhakeem Abdulazeez</a></td><td>Nigeria</td></tr><tr><td>🏅 6</td><td><a href="https://github.com/StephenChi-hi">Nwike Chisom</a></td><td>Nigeria</td></tr><tr><td>🏅 7</td><td><a href="https://github.com/vivcis">Cecilia Orji</a></td><td>Nigeria</td></tr><tr><td>🏅 8</td><td><a href="https://github.com/Yuyi5la">Emmanuella Ofulue</a></td><td>Nigeria</td></tr><tr><td>🏅 9</td><td><a href="https://github.com/muawiya1">Muawiya Abubakar</a></td><td>Nigeria</td></tr><tr><td>🏅 10</td><td><a href="https://github.com/abedmatini">Abed Matini</a></td><td>South Africa</td></tr><tr><td>11</td><td><a href="https://github.com/UfiairENE">Irene Ufia</a></td><td>Nigeria</td></tr><tr><td>12</td><td><a href="https://github.com/katocollins">Kato Collins</a></td><td>Uganda</td></tr><tr><td>13</td><td><a href="https://github.com/TechLateef">Abdullateef Mubarak</a></td><td>Nigeria</td></tr><tr><td>14</td><td><a href="https://github.com/sadeeqrabiu">Sadiq Rabiu</a></td><td>Mauritius</td></tr><tr><td>15</td><td><a href="https://github.com/joanne-cmd">Joanne Muthoni</a></td><td>Kenya</td></tr><tr><td>16</td><td><a href="https://github.com/nkatha23">Nkatha Sharon</a></td><td>Kenya</td></tr><tr><td>17</td><td><a href="https://github.com/Vincent-mutwiri">Vincent Murerwa</a></td><td>Kenya</td></tr><tr><td>18</td><td><a href="https://github.com/everythingsats">Everything Satoshi</a></td><td>Ghana</td></tr><tr><td>19</td><td><a href="https://github.com/husteem">Naim Hussain</a></td><td>Nigeria</td></tr></tbody></table>
{% endtab %}

{% tab title="April 2025" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

24 graduates\
20 male, 4 female\
8 countries (Nigeria · Kenya · Malawi · Bénin · Ghana · Uganda · Brazil · United States)
{% endhint %}

<table><thead><tr><th width="173.44439697265625">Rank</th><th width="316.333251953125">Name</th><th width="277.77789306640625">Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/busayo-OD"><strong>Busayo Dada</strong></a></td><td>Nigeria</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/codaMW"><strong>Yankho Ngolleka</strong></a></td><td>Malawi</td></tr><tr><td>🥉 3</td><td><a href="https://github.com/maaziEmeka"><strong>Maazi Emeka</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 4</td><td><a href="https://github.com/adewaleijalana"><strong>Adewale Ijalana</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 5</td><td><a href="https://github.com/ogedengbewisdom"><strong>Wisdom Ogedengbe</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 6</td><td><a href="https://github.com/b-l-u-e"><strong>Winnie Gitau</strong></a></td><td>Kenya</td></tr><tr><td>🏅 7</td><td><a href="https://github.com/yhzlsm"><strong>Yan Victor</strong></a></td><td>Brazil</td></tr><tr><td>🏅 8</td><td><a href="https://github.com/Zeegaths"><strong>Mary Wangui</strong></a></td><td>Kenya</td></tr><tr><td>🏅 9</td><td><a href="https://github.com/christify30"><strong>Ifeanyichukwu Christian Njoku</strong></a></td><td>Nigeria</td></tr><tr><td>🏅 9</td><td><a href="https://github.com/heyolaniran"><strong>Olaniran Afouda</strong></a></td><td>Bénin</td></tr><tr><td>11</td><td><a href="https://github.com/ojokne">Ojok Emmanuel Nsubuga</a></td><td>Uganda</td></tr><tr><td>11</td><td><a href="https://github.com/YussifMuniru">Yussif Muniru</a></td><td>Ghana</td></tr><tr><td>13</td><td><a href="https://github.com/gweke">William EKE</a></td><td>Bénin</td></tr><tr><td>14</td><td><a href="https://github.com/CasperDkk">Daniel Kamau</a></td><td>Kenya</td></tr><tr><td>15</td><td><a href="https://github.com/mimiprosper">Emmanuel Okeke</a></td><td>Nigeria</td></tr><tr><td>16</td><td><a href="https://github.com/chenemiken">Kenneth Akor</a></td><td>Nigeria</td></tr><tr><td>17</td><td><a href="https://github.com/BalogunMalikO">Malik Balogun</a></td><td>Nigeria</td></tr><tr><td>18</td><td><a href="https://github.com/mrjones91">D J</a></td><td>United States</td></tr><tr><td>19</td><td><a href="https://github.com/AlphonseMehounme">Alphonse Mehounme</a></td><td>Bénin</td></tr><tr><td>20</td><td><a href="https://github.com/650DataNerd">Lucy Kamau</a></td><td>Kenya</td></tr><tr><td>21</td><td><a href="https://github.com/Juwon-Ogunseye">Ogunseye Oluwajuwon</a></td><td>Nigeria</td></tr><tr><td>22</td><td><a href="https://github.com/womarow">Philip Omar Wakah</a></td><td>Nigeria</td></tr><tr><td>23</td><td><a href="https://github.com/Sammie05">Samuel Nweke</a></td><td>Nigeria</td></tr><tr><td>24</td><td><a href="https://github.com/j-kon">Jeremiah Jacob</a></td><td>Nigeria</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***

## Rust for Bitcoiners

{% hint style="info" icon="square-poll-horizontal" %}
**Duration:** 6 weeks

**Material:** The [Bitcoiner’s Intro to Rust course on BTCdemy](https://btcdemy.thinkific.com/courses/intro-to-rust), supplemented with Builders’ practical GitHub exercises. Learners explore Rust fundamentals while applying them to Bitcoin-specific tasks/projects. The pathway combines self-paced study, coding exercises, and group support to foster both language proficiency and application to Bitcoin development.

**Graduation Criteria:** Graduates must complete [BTCdemy course modules](https://btcdemy.thinkific.com/courses/intro-to-rust); submit Builders’ weekly coding tasks via GitHub; actively participate in at least 5 of 6 weekly sync calls; attend at least 2 Office Hour sessions on Discord; share weekly progress updates (screenshots and GitHub links); and complete the final Builders capstone project.&#x20;

**Grading:** Learners were evaluated based on:

* Engagement – Active participation in weekly syncs, office hours, and community discussions
* Preparation – Evidence of consistent module completion and progress submissions
* Technical Depth – Ability to apply Rust concepts to Bitcoin-specific tasks
* Exercise Completion – Consistent completion of BTCdemy modules and Builders coding tasks
* Answer & Code Quality – Clear, functional, and well-documented code solutions
* Interaction Quality – Respectful and constructive communication with peers and chaperones
* Attendance – Consistent presence in sync calls and active contributions during sessions

These evaluations helped determine overall rankings and the top-performing developers in the cohort.
{% endhint %}

### Graduate Lists&#x20;

{% tabs %}
{% tab title="June 2026 (NEW)" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

51 graduates\
45 male, 6 female\
9 countries (Nigeria · Ghana · South Africa · Senegal · Kenya · Uganda · Zambia · United States · Pakistan)
{% endhint %}

#### **🏆 Top Performers (19)**

<table><thead><tr><th width="110.11328125">Rank</th><th>Name</th><th width="294.88671875">Country</th></tr></thead><tbody><tr><td>🏆</td><td><a href="https://github.com/adewaleijalana">Adewale Ijalana</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/bvotteler">Brendon Votteler</a></td><td>South Africa</td></tr><tr><td>🏆</td><td><a href="https://github.com/cheikh-nakamoto">Cheikh Mounirou Coly Diouf</a></td><td>Sénégal</td></tr><tr><td>🏆</td><td><a href="https://github.com/danieldzansi">Daniel Mensah Dzansi</a></td><td>Ghana</td></tr><tr><td>🏆</td><td><a href="https://github.com/Conradgabe">Gabriel Isuekebho</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/kamal-ogtl">Kamal Aliyu</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Arowolokehinde">Kehinde Arowolo</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/asingizwe1">Louis Asingizwe</a></td><td>Uganda</td></tr><tr><td>🏆</td><td><a href="https://github.com/Codepocketdev">Martin Arts</a></td><td>Kenya</td></tr><tr><td>🏆</td><td><a href="https://github.com/muawiya1">Muawiya Abubakar</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Hamza1610">Muhammad Hamza</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Musab1258">Musab Habeeb</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Naomi-Gift">Naomi Gift</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/StephenChi-hi">Nwike Chisom</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Juwon-Ogunseye">Ogunseye Oluwajuwon</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Waridi318">Rose Njuguna</a></td><td>Kenya</td></tr><tr><td>🏆</td><td><a href="https://github.com/Akpahsamuel">Samuel Akpah</a></td><td>Ghana</td></tr><tr><td>🏆</td><td><a href="https://github.com/uthmaniv">Usman Yahaya Baba</a></td><td>Nigeria</td></tr><tr><td>🏆</td><td><a href="https://github.com/Yiranubari">Yiranubari Maamaa Promise</a></td><td>Nigeria</td></tr><tr><td></td><td></td><td></td></tr></tbody></table>

#### 🏅 Ranked Graduates (20–51)

<table><thead><tr><th width="113.91015625">Rank</th><th>Name</th><th>Country</th></tr></thead><tbody><tr><td>🏅20</td><td><a href="https://github.com/Drizzykhaled44">Khalid Yusuf</a></td><td>Nigeria</td></tr><tr><td>🏅21</td><td><a href="https://github.com/Bagwells">Timmy Bagwells</a></td><td>Nigeria</td></tr><tr><td>🏅22</td><td><a href="https://github.com/asapconet">Aaron Sunday</a></td><td>Nigeria</td></tr><tr><td>🏅23</td><td><a href="https://github.com/Yuyi5la">Emmanuella Ofulue</a></td><td>Nigeria</td></tr><tr><td>🏅24</td><td><a href="https://github.com/pseudozach">Zach Ozsoy</a></td><td>United States</td></tr><tr><td>🏅25</td><td><a href="https://github.com/myquery">Stanley Arua</a></td><td>Nigeria</td></tr><tr><td>🏅26</td><td><a href="https://github.com/coder256">Andrew Mugasa</a></td><td>Uganda</td></tr><tr><td>🏅27</td><td><a href="https://github.com/chandachewe10">Chanda Chewe</a></td><td>Zambia</td></tr><tr><td>🏅28</td><td><a href="https://github.com/Sandijigs">Oghenrerukevwe Sandra Idjighere</a></td><td>Nigeria</td></tr><tr><td>29</td><td><a href="https://github.com/RichoKD">Jeremiah Kaduma</a></td><td>Nigeria</td></tr><tr><td>30</td><td><a href="https://github.com/rosemary21">Chioma Chukelu Rosemary</a></td><td>Nigeria</td></tr><tr><td>31</td><td><a href="https://github.com/NupeCoder">Abubakar Liman</a></td><td>Nigeria</td></tr><tr><td>32</td><td><a href="https://github.com/Ugarba202">Usman Umar Garba</a></td><td>Nigeria</td></tr><tr><td>33</td><td><a href="https://github.com/big14way">Godswill Idolor</a></td><td>Nigeria</td></tr><tr><td>34</td><td><a href="https://github.com/dark-wiring">Hamsa Harcourt</a></td><td>Nigeria</td></tr><tr><td>35</td><td><a href="https://github.com/mubarakcoded">Mubarak Auwal</a></td><td>Nigeria</td></tr><tr><td>36</td><td><a href="https://github.com/MrNyamu">Wesley Muriithi</a></td><td>Kenya</td></tr><tr><td>37</td><td><a href="https://github.com/balogun14">Muhammed-Awwal Balogun</a></td><td>Nigeria</td></tr><tr><td>38</td><td><a href="https://github.com/kufre-abasi">Kufre-abasi Bassey</a></td><td>Nigeria</td></tr><tr><td>39</td><td><a href="https://github.com/ojiubasi-motif">Oji Ubasi</a></td><td>Nigeria</td></tr><tr><td>40</td><td><a href="https://github.com/bnKabeer">Sadik Kabir Ahmad</a></td><td>Nigeria</td></tr><tr><td>41</td><td><a href="https://github.com/whotterre">Iwegbu Jedidiah</a></td><td>Nigeria</td></tr><tr><td>42</td><td><a href="https://github.com/SusanGithaigaN">Susan Githaiga</a></td><td>Kenya</td></tr><tr><td>43</td><td><a href="https://github.com/Godbrand0">Thompson Eregha</a></td><td>Nigeria</td></tr><tr><td>44</td><td><a href="https://github.com/salmern">Salman Muhammad</a></td><td>Nigeria</td></tr><tr><td>45</td><td><a href="https://github.com/Smartgodswill">God'swill Ifiok Ufia</a></td><td>Nigeria</td></tr><tr><td>46</td><td><a href="https://github.com/Aliemeka">Emeka Allison</a></td><td>Nigeria</td></tr><tr><td>47</td><td><a href="https://github.com/BarriosXJavier">David Njoroge</a></td><td>Kenya</td></tr><tr><td>48</td><td><a href="https://github.com/cypherpulse">John Mukhwana</a></td><td>Kenya</td></tr><tr><td>49</td><td><a href="https://github.com/Smartcoder05">Saheed Adedipe</a></td><td>Nigeria</td></tr><tr><td>50</td><td><a href="https://github.com/alihamzza04">Ali Hamza</a></td><td>Pakistan</td></tr><tr><td>51</td><td><a href="https://github.com/itunuelijah">Itunu Olaitan Elijah</a></td><td>Nigeria</td></tr></tbody></table>
{% endtab %}

{% tab title="June 2025" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

38 graduates\
29 male, 9 female\
6 countries (Nigeria · Kenya · Poland · India · Senegal · Uganda)
{% endhint %}

<table><thead><tr><th width="166.33331298828125">Rank</th><th>Name</th><th>Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/0xZaddyy">Oyindamola Oladapo</a></td><td>Nigeria</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/AHUNAM">Chidinma Peace Ahunam</a></td><td>Nigeria</td></tr><tr><td>🥉 3</td><td><a href="https://github.com/Akshola00">Akinshola Akinniyi</a></td><td>Nigeria</td></tr><tr><td>🏅 4</td><td><a href="https://github.com/maaziEmeka">Maazi Emeka</a></td><td>Nigeria</td></tr><tr><td>🏅 5</td><td><a href="https://github.com/Zeegaths">Zarah Gathoni</a></td><td>Kenya</td></tr><tr><td>🏅 6</td><td><a href="https://github.com/busayo-OD">Busayo Dada</a></td><td>Nigeria</td></tr><tr><td>🏅 7</td><td><a href="https://github.com/mimiprosper">Emmanuel Okeke</a></td><td>Nigeria</td></tr><tr><td>🏅 8</td><td><a href="https://github.com/kuba-04">Jakub Gladysz</a></td><td>Poland</td></tr><tr><td>🏅 9</td><td><a href="https://github.com/dinahmaccodes">Dinah Macaulay Egbezien</a></td><td>Nigeria</td></tr><tr><td>🏅 10</td><td><a href="https://github.com/Maxtoshie">Maxwel Okoth</a></td><td>Kenya</td></tr><tr><td>🏅 11</td><td><a href="https://github.com/anonfedora">Musa Eleazar Shekoaga</a></td><td>Nigeria</td></tr><tr><td>🏅 12</td><td><a href="https://github.com/b-l-u-e">Winnie Gitau</a></td><td>Kenya</td></tr><tr><td>🏅 13</td><td><a href="https://github.com/Yunusabdul38">Abdulmajid Yunus</a></td><td>Nigeria</td></tr><tr><td>🏅 14</td><td><a href="https://github.com/GoSTEAN">Tech Hunter</a></td><td>Nigeria</td></tr><tr><td>🏅 15</td><td><a href="https://github.com/ajcodes-git">Ahmad Auwal</a></td><td>Nigeria</td></tr><tr><td>16</td><td><a href="https://github.com/ONEONUORA">Ebube Onuora</a></td><td>Nigeria</td></tr><tr><td>17</td><td><a href="https://github.com/okekechimezieglory">Chimezie Okeke</a></td><td>Nigeria</td></tr><tr><td>18</td><td><a href="https://github.com/emarc99">Emmanuel Aroso</a></td><td>Nigeria</td></tr><tr><td>19</td><td><a href="https://github.com/Mshehu5">Muhammad Shehu</a></td><td>Nigeria</td></tr><tr><td>20</td><td><a href="https://github.com/MikeTeddyOmondi">Mike Omondi</a></td><td>Kenya</td></tr><tr><td>21</td><td><a href="https://github.com/chaitika">Chaitika Bhatnagar</a></td><td>India</td></tr><tr><td>22</td><td><a href="https://github.com/psychemist">Psychemist</a></td><td>Nigeria</td></tr><tr><td>23</td><td><a href="https://github.com/e1ec30">Khalifa Khalifa</a></td><td>Nigeria</td></tr><tr><td>23</td><td><a href="https://github.com/Sammie05">Samuel Nweke</a></td><td>Nigeria</td></tr><tr><td>25</td><td><a href="https://github.com/Bukharee-stack">Buhari Sarki</a></td><td>Nigeria</td></tr><tr><td>26</td><td><a href="https://github.com/yba01">Yero BA</a></td><td>Senegal</td></tr><tr><td>27</td><td><a href="https://github.com/ayomideadeniran">Ayomide Adeniran</a></td><td>Nigeria</td></tr><tr><td>28</td><td><a href="https://github.com/martinvibes">Martin Machiebe</a></td><td>Nigeria</td></tr><tr><td>29</td><td><a href="https://github.com/princemuel">Samuel Chukwuzube</a></td><td>Nigeria</td></tr><tr><td>29</td><td><a href="https://github.com/ndungudedan">Dedan Ndungu</a></td><td>Kenya</td></tr><tr><td>31</td><td><a href="https://github.com/Bakaluba256">Bakaluba Akim</a></td><td>Uganda</td></tr><tr><td>32</td><td><a href="https://github.com/Lymah123">Halimah Odunola</a></td><td>Nigeria</td></tr><tr><td>33</td><td><a href="https://github.com/eve-o912">Everlyne Muia</a></td><td>Kenya</td></tr><tr><td>34</td><td><a href="https://github.com/monsele">Eronmonsele Oaikhina</a></td><td>Nigeria</td></tr><tr><td>35</td><td><a href="https://github.com/orama254">Rama Ochieng</a></td><td>Kenya</td></tr><tr><td>36</td><td><a href="https://github.com/HarcourtHamsa">Hamsa Harcourt</a></td><td>Nigeria</td></tr><tr><td>37</td><td><a href="https://github.com/mubarak23">Mubarak Smart Move</a></td><td>Nigeria</td></tr><tr><td>38</td><td><a href="https://github.com/Her-Code">Sharon Kahira</a></td><td>Kenya</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***

## Language Clubs

{% hint style="info" icon="square-poll-horizontal" %}
**Duration:** 6 weeks

**Material:** Language-specific tracks on [Exercism](https://exercism.org/) (Python and C++), supplemented with Builders’ add-on exercises tied to Bitcoin concepts. Developers progress through structured practice problems and apply their skills to Bitcoin-focused projects.

**Graduation Criteria:** Graduates must complete at least 85% of assigned Exercism exercises ([Python](https://exercism.org/tracks/python): 110/140, [C++](https://exercism.org/tracks/cpp): 85/99); submit Builders’ weekly coding tasks via GitHub; attend at least 5 of 6 weekly sync calls; participate in at least 2 Office Hour sessions; submit weekly progress updates (Exercism screenshots and GitHub/shared code links), and complete the final Builders capstone project.

**Grading:** Learners were evaluated based on:

* Engagement – Active participation in weekly syncs, office hours, and community discussions
* Preparation – Evidence of steady Exercism progress and readiness for group discussions
* Technical Depth – Ability to apply language fundamentals (Python or C++) to Bitcoin-related tasks
* Exercise Completion – Consistency in completing Exercism problems and Builders add-on exercises
* Answer & Code Quality – Clear, functional, and well-documented code solutions
* Interaction Quality – Respectful and constructive communication with peers and chaperones
* Attendance – Consistent presence in sync calls and active contributions during sessions

These evaluations helped determine overall rankings and the top-performing developers in the cohort.
{% endhint %}

### Graduate Lists

{% tabs %}
{% tab title="June 2026 (NEW)" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

8 graduates\
5 male, 3 female\
5 countries (Nigeria · Kenya · South Africa · Burundi · France)
{% endhint %}

<table><thead><tr><th width="106.64453125">Rank</th><th>Name</th><th>Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/bartoli">Olivier 'Bartoli' Barthelemy</a></td><td>France</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/psychemist">Ikechukwu Obunadike</a></td><td>Nigeria</td></tr><tr><td>🥉 3</td><td><a href="https://github.com/Zeegaths">Zarah Gathoni</a></td><td>Kenya</td></tr><tr><td>4</td><td><a href="https://github.com/KingPhalo">Phalo-Mihlali Mbangcolo</a></td><td>South Africa</td></tr><tr><td>5</td><td><a href="https://github.com/Leeyah-123">Aaliyah Junaid</a></td><td>Nigeria</td></tr><tr><td>6</td><td><a href="https://github.com/maaziEmeka">Maazi Emeka</a></td><td>Nigeria</td></tr><tr><td>7</td><td><a href="https://github.com/Alhibb">Ibrahim Rabiu</a></td><td>Nigeria</td></tr><tr><td>8</td><td><a href="https://github.com/Ndikuma">Ndikumana Idris</a></td><td>Burundi</td></tr></tbody></table>
{% endtab %}

{% tab title="June 2025" %}
{% hint style="info" icon="check" %}

## **Cohort Data**

6 graduates\
3 male, 3 female\
2 countries (Nigeria · Kenya)
{% endhint %}

<table><thead><tr><th width="166.33331298828125">Rank</th><th>Name</th><th>Country</th></tr></thead><tbody><tr><td>🥇 1</td><td><a href="https://github.com/ogedengbewisdom">Wisdom Ogedengbe</a></td><td>Nigeria</td></tr><tr><td>🥈 2</td><td><a href="https://github.com/joycherotich">Joy Kirui</a></td><td>Kenya</td></tr><tr><td>c</td><td><a href="https://github.com/mercie-ux">Mercy Mbao</a></td><td>Kenya</td></tr><tr><td>4</td><td><a href="https://github.com/Hamza1610">Muhammad Hamza</a></td><td>Nigeria</td></tr><tr><td>5</td><td><a href="https://github.com/nkatha23">Sharon Nkatha Kaburu</a></td><td>Kenya</td></tr><tr><td>6</td><td><a href="https://github.com/Wutche">Chikaome Wutche</a></td><td>Nigeria</td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***


# Code of Conduct

Btrust Builders is a space for learning, collaboration, and growth. We are committed to maintaining a respectful, inclusive, and supportive environment for all participants.

***

## Expected Behavior

* Be respectful and professional in all communications
* Support and encourage fellow learners
* Ask questions and share knowledge constructively
* Respect differing perspectives and experiences

## Unacceptable Behavior

* Harassment, discrimination, or abusive language
* Disruptive behavior during study sessions or online discussions
* Sharing private or sensitive information without consent

## Reporting Concerns

If you experience or witness inappropriate behavior:

* Contact pathway staff via your homegroup chaperone or pathway Discord moderators
* All reports are confidential and will be addressed promptly

## Resources

For more information about community standards and inclusivity, visit the Builders [Resource Hub](/resource-hub).


# Contact

We’re here to help. Whether you have questions about pathways, technical issues, or want to share feedback, you can reach us through the channels below.

* **Email**: <builders@btrust.tech>
* **Discord:** Use your pathway’s private channel to connect with faculty or moderators

**Response time:**\
Expect replies within 48 hours on weekdays.

#### Other Inquiries

For general inquiries about Btrust Builders program, people, or partnerships, please visit the [Builders Website](https://www.btrust.tech/builders).


# 2025 Builders BOSS Cohort

Cohort is ongoing

{% hint style="info" %}
The next cohort of this pathway will be in 2026.
{% endhint %}

## What It Is

An intensive, 3-month cohort in collaboration with Chaincode Labs that provides a gateway into Bitcoin open source software (₿OSS). This online program provides professional feedback to help participants get off ₿OSS 0, write impactful code, and solve complex technical problems.

The program is designed for all levels of experience in software development. Passion and dedication are a must. It is technically rigorous requiring a strong technical foundation. However, we aim to have as few barriers to entry as possible so if in doubt, you SHOULD apply.

## Who It’s For

**An ideal participant is -**&#x20;

* A software developer with at least 1 year of programming experience.
* Able to dedicate at least 10+ hours of prep a week.
* Excited about a challenge and wants to elevate the program for others.

## What To Expect

Chaincode curates each cohort, arranges curriculum, and provides ongoing support throughout the program. You will be expected to prep for a minimum of 10 hours per week. Outside of the first week, there are no scheduled calls.

This program will be taught and mentored by ₿OSS contributors that have stood in your shoes. Throughout the week, there will be async chat discussions and support. If you are willing to do the work, we'll give you what you need to get to where you want to go.

## Details

* **Registration deadline:** December 27, 2024
* **Commencement date**: January 13, 2025
* **Duration:** 3 Months
* **Level:** All levels (with a focus on starting your open-source journey)
* **Mode:** Self-paced with periodic sessions
* **Format**: Online classrooms (GitHub & Discord)

## Schedule

{% stepper %}
{% step %}

### Month

A code heavy month of bitcoin and lightning

* Week 0: RPC Scavenger Hunt
* Week 1: Build a wallet
* Week 2: Wallet management
* Week 3: P2P & Mining
* Week 4: Lightning
  {% endstep %}

{% step %}

### Month

Build your proof of work

* Bring a proof of concept to life
* Explore the ₿OSS ecosystem
* Meet ₿OSS maintainers
  {% endstep %}

{% step %}

### Month

Build your proof of work

* Choose a ₿OSS project and provide value
* Get coaching on the next step
  {% endstep %}
  {% endstepper %}

Don't hesitate to reach out with questions and feel free to drop any and all questions and comments in the private **#btrust** Discord channel. This is your space, so use it!&#x20;


# Btrust Support

Our support to Builders in the ongoing BOSS pathway

<figure><img src="/files/8nRNrNaxMtfPBWoYr8O9" alt=""><figcaption></figcaption></figure>

We'll be providing structured support for all the builders that scaled through month 1 of the ₿OSS program. This note shows key activities, timelines, and resources to enhance your open-source contributions, engagement, and overall experience.&#x20;

Our support plan spans the concluding two months (Month 2 and Month 3) of the ₿OSS program with periodic activities highlighted below.&#x20;

***

### **Mentorship hours: by Builders faculty**

You will be matched with a mentor from the Builders faculty. The goal of this activity is to provide personalized guidance, support, and constructive feedback to help you thrive in the programme and Bitcoin open-source.&#x20;

* **Frequency**: One call per week.&#x20;
* **Resource**: Read the [mentorship guide](/05/btrust-support/mentoring-guide).&#x20;

### **Standups**

A  60-minute virtual meeting where you share what you've worked on the previous week, what you plan to do in the new week, and any blockers you are facing.

* **Frequency**: One call per week.&#x20;
* **Resource**: Review the [format](/05/btrust-support/meetings#standups).&#x20;

### **Peer Review**

You offer (and receive) support through code reviews, article reviews, and provide constructive feedback. This helps you collaborate with and learn from other developers in the space.&#x20;

* **Frequency**: Bi-weekly.&#x20;
* **Resource**: Review the [format](/05/btrust-support/meetings#peer-review).&#x20;

### **Feelings Friday**

Open conversation about your well-being, challenges, and successes. Think of it as a mini therapy session, so come prepared to share!&#x20;

* **Frequency**: Bi-weekly.&#x20;
* **Resource**: Review the [format](/05/btrust-support/meetings#feelings-friday).&#x20;


# Mentoring Guide

We have enlisted the support of experienced Bitcoin engineers who have graciously volunteered their time to mentorship sessions for the next eight weeks to begin with.&#x20;

Outlined below are the activities and expectations for your participation.

***

#### Schedule mentoring sessions

You have to take the lead in scheduling a 30-minute weekly call with your mentor to review your progress, discuss challenges, and any other topics you wish to address.&#x20;

Ensure you are polite in these interactions, and always respect their time — don’t miss or be late for your sessions! In case of any emergencies, please inform your mentor ahead of time.&#x20;

#### Have open conversations

The mentorship discussions should be open and honest, focusing on your well-being and advancement through the programme. Given that you are probably a new contributor to open-source Bitcoin development, it's important to have conversations that fit your specific needs, goals, and areas for improvement.

Mentors also have the right and reach to communicate with the faculty and program team on your behalf. So, don’t hesitate to share your thoughts, questions, and concerns openly with your mentor, as this will help them tailor the mentorship to best support you.&#x20;

#### Put in the work

Mentors are there to provide advice and feedback on your work, highlight areas you can grow and assist in addressing any blockers you may have. This feedback is to help you navigate challenges, refine your skills, and make meaningful contributions to the Bitcoin open-source community.&#x20;

None of these will be effective if they are not implemented — you need to actually put in the work. Keep an open mind and take in every feedback you receive with a positive attitude. Implement them and also share any impact they have with your mentors. This way, they can also see how they are helping you improve.&#x20;

#### Always document

Consistently document your mentorship sessions, including details such as — when/where they happened, what areas/topics were discussed, feedback and action points. Always ensure you document for reference.&#x20;

#### Speak up

Finally, if you have any issues reaching your mentor, questions you don’t feel comfortable bringing up with your mentor or simply need some assistance — don't hesitate to contact **Stephanie** or **Kelvin**.&#x20;

***

We are always committed to supporting your growth, learning, and success in Bitcoin open-source development. Let's make the most of this together!


# Meetings

## Standups

We'll host a 60-minute virtual standup meeting once a week. It’s a focused check-in to keep us aligned and help clear obstacles.&#x20;

### Format

You should:

* come prepared with a brief update
* stick to 2 minutes or less
* share last week’s progress, upcoming goals, and any challenges
* be concise so everyone has time to speak.

***

## Peer Review

Every other week, we'll host a peer review session where you offer and receive feedback on code, articles, and other work.&#x20;

### Format

You should:

* bring work you’d like feedback on (or be ready to review others’ work)
* provide clear, constructive, and respectful feedback
* focus on actionable suggestions that help improve the work
* listen actively and engage in meaningful discussions.

***

## Feelings Friday

Every other week on Fridays, we'll have an open conversation on well-being, challenges, and successes. Think of it as a mini therapy session where we can normalize struggles and celebrate wins.&#x20;

### Format

You should:

* come prepared to honestly share your experiences
* listen with empathy and offer support
* keep the conversation respectful and confidential
* use this space to both express your feelings and help others.


