Tracking every pull request by Code Orange community members to Bitcoin open-source projects.
Last updated: May 14, 2026
| Metric | Count |
|---|---|
| Total PRs Opened | 75+ |
| PRs Merged | 45+ |
| PRs Open / Under Review | 15 |
| Distinct Projects Contributed To | 25+ |
| Active Contributors | 13 |
| Emerging Contributors (first PR imminent) | 10 |
| # | Developer | GitHub | Project | PR Link | Description | Date | Status |
|---|---|---|---|---|---|---|---|
| 1 | Peter | @pzafonte | Bitcoin Core | #34885 | kernel: expose btck_block_tree_entry_get_ancestor | Apr 2026 | Merged |
| 2 | Peter | @pzafonte | rust-bitcoin | #5968 | p2p: add encoding trait impls to NetworkMessage encoder/decoder | Apr 2026 | Merged |
| 3 | Peter | @pzafonte | rust-bitcoin | #5917 | p2p: add BlockLocator newtype with logarithmic build method | Apr 2026 | Merged |
| 4 | Peter | @pzafonte | rust-bitcoinkernel | #164 | feat(core): expose BlockTreeEntry::ancestor | Apr 2026 | Merged |
| 5 | Peter | @pzafonte | kernel-node | #30 | feat: add logarithmic block locators for getheaders and getblocks | Mar 2026 | Merged |
| 6 | Chaitika | @chaitika | silent-pay-wallet | #93 | Clean repo — root file cleanup | May 2026 | Merged |
| 7 | Chaitika | @chaitika | silent-pay-wallet | #89 | Remove BIP47 payment codes | Apr 2026 | Merged |
| 8 | Chaitika | @chaitika | silent-pay-wallet | #86 | Remove Apple platform features | Apr 2026 | Merged |
| 9 | Chaitika | @chaitika | silent-pay-wallet | #83 | Remove Multisig wallet support | Apr 2026 | Merged |
| 10 | Chaitika | @chaitika | silent-pay-wallet | #79 | FIX: handle odd Y parity for SP UTXO spend pubkeys | Apr 2026 | Merged |
| 11 | Chaitika | @chaitika | silent-pay-indexer | #100 | feat: add endpoint to get txn by txid | Feb 2026 | Merged |
| 12 | Chaitika | @chaitika | silent-pay-wallet | #67 | OPS: update integration tests with addresses and balances | Feb 2026 | Merged |
| 13 | Chaitika | @chaitika | LN-week-4-assignment | #1 | Add readme, tests and all language templates | Feb 2026 | Merged |
| 14 | Chaitika | @chaitika | LN-week-3-assignment | #1 | Add readme, tests and all language templates | Jan 2026 | Merged |
| 15 | Chaitika | @chaitika | silent-pay-wallet | View PRs | Silent Payments (BIP352) wallet implementation | 2025 | Merged |
| 16 | Chaitika | @chaitika | silent-pay-indexer | View PRs | Silent Payments indexer | 2025 | Merged |
| 17 | Chaitika | @chaitika | silent-pay | View PRs | Silent Payments library | 2025 | Merged |
| 18 | Gradale | @alexgrad42 | rust-bitcoin | #6125 | crypto: use constant-time equality for Poly1305 tags | May 2026 | Merged |
| 19 | Gradale | @alexgrad42 | hex-conservative | #245 | macros: add docs and examples to fmt_hex_exact | May 2026 | Merged |
| 20 | Vaan | @va-an | rust-payjoin | #1554 | refactor(cli): simplify bip cli args | May 2026 | Merged |
| 21 | Vaan | @va-an | rust-payjoin | #1509 | fix(mailroom): reject post requests over capacity | May 2026 | Merged |
| 22 | Vaan | @va-an | bdk-cli | #270 | fix: fix RUSTSEC-2026-0097 for rand 0.9 | Apr 2026 | Merged |
| 23 | Vaan | @va-an | rust-bitcoin | #5939 | bitcoin: derive Clone for SighashCache | Apr 2026 | Merged |
| 24 | Vaan | @va-an | esplora-cli | #3 | chore: update deps | Mar 2026 | Merged |
| 25 | Vaan | @va-an | bdk_wallet | #422 | docs(wallet): fix misleading RBF comment in create_tx | Mar 2026 | Merged |
| 26 | Vaan | @va-an | bdk-cli | #241 | chore: remove remaining MSRV mentions | Feb 2026 | Merged |
| 27 | Vaan | @va-an | bdk-cli | #237 | feat: add completions subcommand | Feb 2026 | Merged |
| 28 | Vaan | @va-an | bdk-cli | #224 | fix(pretty-format): use --pretty in any position | Oct 2025 | Merged |
| 29 | Vaan | @va-an | bdk-cli | #208 | Update compile command to support taproot descriptors | Jul 2025 | Merged |
| 30 | Arowolo | @Arowolokehinde | rust-payjoin | #1498 | Fix send success log error and order | May 2026 | Merged |
| 31 | Arowolo | @Arowolokehinde | rust-payjoin | #1457 | Unify mailbox TTL to a single value | Apr 2026 | Merged |
| 32 | Razor | @RazorBest | rust-bitcoin/corepc | #547 | Change prune_target_size type from u32 to u64 | Apr 2026 | Merged |
| 33 | Razor | @RazorBest | peer-observer | #408 | ebpf-extractor: Reload eBPF objects when bitcoind restarts | Apr 2026 | Merged |
| 34 | Razor | @RazorBest | peer-observer | #393 | fix(shared): remove glob from rerun condition in build.rs | Mar 2026 | Merged |
| 35 | Razor | @RazorBest | peer-observer | #390 | docs(rpc-extractor): document what RPCs are currently being used | Mar 2026 | Merged |
| 36 | Razor | @RazorBest | bitcointranscripts | #612 | Add merkle-trees Floresta review to tabconf/2025 | Mar 2026 | Merged |
| 37 | Psychemist | @psychemist | saving-satoshi-script | #19 | Implement OP_CHECKSIGADD opcode (BIP-342) | Mar 2026 | Merged |
| 38 | Psychemist | @psychemist | bitcointranscripts | #615 | Add cluster-mempool-by-murch review to tabconf/2024 | Mar 2026 | Merged |
| 39 | Psychemist | @psychemist | mastering-taproot | #31 | Add week-1 lab solution | Mar 2026 | Merged |
| 40 | Psychemist | @psychemist | mastering-taproot | #24 | Fix Schnorr tweak verification | Mar 2026 | Merged |
| 41 | Psychemist | @psychemist | mastering-taproot | #23 | Fix Schnorr tweak logic (BIP341) | Feb 2026 | Merged |
| 42 | Psychemist | @psychemist | mastering-taproot | #22 | Correct transaction visualizations | Feb 2026 | Merged |
| 43 | Psychemist | @psychemist | rust-lightning (LDK) | #4293 | Change Bolt11Invoice payment_hash function return type | Jan 2025 | Merged |
| 44 | Diegodev | @0xlaga | gossip-observer | — | Gossip observer contributions | 2025 | Merged |
| 45 | Bunny Rolling Dice | @rollingdice | BlueWallet | — | Bahasa Indonesia translation | 2025 | Merged |
| 46 | Muhammad | @muhahahmad68 | SurrealDB | — | OSS contribution in Rust (non-Bitcoin, demonstrating capability) | 2025 | Merged |
| 47 | Dayvvo | @dayvvo | getalby/js-sdk | — | Alby JS SDK contribution | 2025 | Merged |
| 48 | Dayvvo | @dayvvo | getalby/bitcoin-connect | — | Alby Bitcoin Connect contribution | 2025 | Merged |
| 49 | Dayvvo | @dayvvo | cashu-ts | — | Cashu TypeScript library contribution | 2025 | Merged |
| # | Developer | GitHub | Project | PR Link | Description | Status |
|---|---|---|---|---|---|---|
| 1 | Gradale | @alexgrad42 | hex-conservative | #247 | Add fmt_hex_exact_lower and fmt_hex_exact_upper macros | Open (changes requested) |
| 2 | Vaan | @va-an | bdk-cli | #281 | chore(rustsec): update rustls-webpki 0.103.10 | Open |
| 3 | Vaan | @va-an | payjoin.org | #133 | docs(typo): oblivous -> oblivious | Open |
| 4 | Vaan | @va-an | rust-bitcoin | #5951 | p2p: optional fields in version message | Open |
| 5 | Vaan | @va-an | bdk-cli | #225 | feat(compile): compile taproot descriptor with randomized unspendable internal key | Open |
| 6 | Razor | @RazorBest | peer-observer | #400 | Generic anomaly detection with Prometheus | Draft |
| 7 | Razor | @RazorBest | bip324-mitm | View repo | BIP324 MITM tool — state machine + protocol error handling | Active development |
| 8 | Peter | @pzafonte | kernel-node | #50 | Silent Payments: integrate SPDK scanning and wallet IPC | Draft |
| 9 | Peter | @pzafonte | rust-bitcoinkernel | #177 | feat(core): expose Block::check_context_free | Draft |
| 10 | Peter | @pzafonte | kernel-node | #32 | feat: add PeerManager with multi-peer IBD and per-peer stall detection | Open |
| 11 | Psychemist | @psychemist | devkit-wallet | #53 | feat: minimal sweep WIF QR-code implementation | Open |
| 12 | Chaitika | @chaitika | silent-pay-wallet | #88 | Integrate Tor/Orbot to wallet for indexer requests | Under review |
| 13 | Chaitika | @chaitika | silent-pay-wallet | #76 | FIX: persist birth height to disk | Under review |
These PRs were submitted but closed without merge — still valuable learning and contribution attempts.
| # | Developer | GitHub | Project | PR Link | Description | Status |
|---|---|---|---|---|---|---|
| 1 | Gradale | @alexgrad42 | rust-bitcoin | #6131 | Add fuzz tests for constant_time_eq | Closed |
| 2 | Gradale | @alexgrad42 | rust-bitcoin | #6112 | fuzz: rewrite hashes_json target using Arbitrary | Closed |
| 3 | Gradale | @alexgrad42 | rust-lightning (LDK) | #4589 | fuzz: remove splicing blocks in chanmon_consistency_target | Closed |
| 4 | Vaan | @va-an | rust-miniscript | #916 | tests: add regression tests for compile_tr_private_experimental panic | Closed |
| 5 | Vaan | @va-an | bitcoin-dev-project | #311 | chore: remove bdk issues | Closed |
| 6 | Vaan | @va-an | bdk-cli | #240 | ci: update pull request template | Closed |
| 7 | Psychemist | @psychemist | mastering-taproot | #25 | feat: add tweak explainer section | Closed |
| 8 | Psychemist | @psychemist | mastering-taproot | #26 | Fix table formatting | Closed |
| 9 | Mwihoti | @mwihoti | rust-bitcoin | #5801 | Add missing encoder and decoders for units crate | Closed |
| Developer | GitHub | Target Project | Expected Timeline |
|---|---|---|---|
| Captain Levi | @SIDHARTH20K4 | BDK | Q2 2026 |
| Yongki | @ywiyogo | Bitcoin Core (C++) | Q2 2026 |
| Ilie | @Ilie27 | Bitaxe / Stratum V2 | Q2 2026 |
| Elijahhh | @ElijahMwambazi | Lightning Network (Rust) | Q2 2026 |
| Muhammad | @muhahahmad68 | Floresta / BDK / SeedSigner | Q2 2026 |
| Kirito | @yomanthunder | coinswap / Stratum V2 | Q2 2026 |
| Martin Barilik | @martinbarilik | StartOs / Robosats | Q2 2026 |
| Dailycisea | @fqhhusain | Bitcoin FOSS (TBD) | Q2 2026 |
| Dashingtimmy | @awzbgr | Fedi ecosystem / BICustody | Q2 2026 |
| Mr Miyagi | (in progress) | Rust Bitcoin OSS | Q3 2026 |
| Category | Project | Contributors |
|---|---|---|
| Protocol & Privacy | Bitcoin Core (C++) | Peter |
| rust-bitcoin | Vaan, Peter, Gradale | |
| rust-miniscript | Vaan | |
| rust-payjoin (BIP77) | Arowolo, Vaan | |
| Silent Payments (BIP352) | Chaitika, Peter (kernel-node SP integration) | |
| coinswap | Kirito | |
| hex-conservative | Gradale | |
| Wallet & Infrastructure | BDK / bdk-cli / bdk_wallet | Vaan, Psychemist, Captain Levi |
| devkit-wallet | Psychemist | |
| LDK (Lightning Dev Kit) | Psychemist | |
| kernel-node | Peter | |
| rust-bitcoinkernel | Peter | |
| Network & Monitoring | peer-observer | Razor |
| gossip-observer | Diegodev | |
| bip324-mitm | Razor | |
| Stratum V2 | Kirito, Ilie | |
| Lightning & eCash | Alby (js-sdk, bitcoin-connect) | Dayvvo |
| cashu-ts | Dayvvo | |
| Fedi ecosystem (BICustody) | Dashingtimmy | |
| Education & Docs | bitcointranscripts | Psychemist, Razor |
| saving-satoshi-script | Psychemist | |
| mastering-taproot | Psychemist | |
| bitcoin-dev-project | Vaan | |
| payjoin.org | Vaan | |
| Ecosystem | BlueWallet (translation) | Bunny Rolling Dice |
| esplora-cli | Vaan | |
| corepc | Razor | |
| StartOs / Robosats | Martin Barilik |
Total distinct Bitcoin projects: 25+
- Cross-checked every PR against live GitHub data. Major corrections:
- 9 PRs moved from "Open" to "Merged" — Peter (#34885 Bitcoin Core!, #5968, #5917, #164), Vaan (#1554), Arowolo (#1498, #1457), Psychemist (#24, #31)
- 9 PRs moved to new "Closed" section — Gradale (#6131, #6112, #4589), Vaan (#916, #311, #240), Psychemist (#25, #26), Mwihoti (#5801)
- 4 missing PRs added — Peter kernel-node #30 (merged), Razor bitcointranscripts #612 (merged), Psychemist rust-lightning #4293 (merged), Vaan bdk-cli #224, #208 (merged)
- 3 new open PRs added — Chaitika #88 (Tor/Orbot), #76 (persist birth height), Peter kernel-node #32 (PeerManager)
- Peter's Bitcoin Core PR #34885 confirmed MERGED into bitcoin:master — huge milestone
- Arowolo's 2 rust-payjoin PRs both merged — now has 2 merged contributions
- Merged PRs now 45+ (up from 30+)
- Added "Closed Pull Requests" section for transparency
- NEW CONTRIBUTOR: Gradale added with 6 PRs — rust-bitcoin (#6125 merged), hex-conservative (#245 merged, #247 open), plus 3 closed PRs
- Chaitika: 11 merged PRs in 2026 across silent-pay-wallet, silent-pay-indexer, and Bitshala LN assignments
- Vaan: 14 PRs across 7 projects — rust-payjoin, bdk-cli, bdk_wallet, rust-bitcoin, esplora-cli, payjoin.org
- Razor: peer-observer (anomaly detection with Prometheus, eBPF extractor), corepc, bitcointranscripts, bip324-mitm (new project)
- Peter: Bitcoin Core (#34885), kernel-node (Silent Payments integration), rust-bitcoinkernel, rust-bitcoin P2P work
- Psychemist: saving-satoshi-script (OP_CHECKSIGADD), bitcointranscripts, mastering-taproot, devkit-wallet, rust-lightning
- Arowolo: 2 PRs to rust-payjoin (#1498, #1457) — both merged
- Active contributors: 13
- Added 4 new merged PRs: Gradale (rust-bitcoin), Dayvvo (Alby js-sdk, Alby bitcoin-connect, cashu-ts)
- 12 active contributors now tracked (up from 7)
- New projects added: coinswap, Kernel-Node, Stratum V2, Alby, cashu-ts, Fedi/BICustody, StartOs, Robosats
- Dashboard created with baseline data from all cohort graduates
- 7 active contributors with merged/approved PRs
- 7 emerging contributors with first PRs expected Q2-Q3 2026
- Tracking begins for monthly PR counts
- Check each contributor's GitHub profile for new PRs
- Update the tables above with new entries
- Update the Summary counts
- Add an entry to the Monthly Tracking Log
- Commit and push to GitHub
Following OpenSats methodology:
- Opened: PR submitted to a Bitcoin-related open-source project
- Merged: PR accepted and merged by the project maintainer
- Closed: PR submitted but closed without merge (still counts as contribution effort)
- Under Review: PR submitted and actively being reviewed
- Draft: PR opened as draft, work in progress
- We count contributions to: Bitcoin Core, rust-bitcoin, BDK, LDK, Fedimint, BTCPay Server, Lightning implementations, BlueWallet, peer-observer, payjoin, and other Bitcoin FOSS projects
- We do NOT count: personal repos, forks with no upstream PR, or non-Bitcoin projects (except to note OSS capability)
This dashboard is updated regularly. For real-time contribution data, check the GitHub profiles linked above.
Code Orange Dev School | codeorange.dev | github.com/code-orange-dev