# Grants Program

One of the primary purposes of the BDK Foundation is to support the ongoing development and maintenance of the BDK suite of open source software. To this end the BDK Foundation funds open source developers working on BDK and related projects via full-time and project based grants.

# Grant Requirements

Below is a list of general requirements the BDK Foundation looks for in grant applicants. These requirements may be demonstrated via any open source project you have contributed to. In particular through your public work on PR reviews, PRs, issues, team discussions, and current or prior side projects. We also consider work you've done as part of bitcoin development training programs (eg. Chaincode Labs, Base58, etc.) and related professional work experience.

  • Mature team player who communicates well and supports fellow team members.
  • Supports the overall bitcoin mission, in particular to improve individuals financial privacy and autonomy.
  • Understands bitcoin on-chain protocols and technology.
  • Helps train/mentor/onboard others to BDK, bitcoin, or related software development.
  • Helps supports a project outside of coding; for example user support, maintaining docs, CI, and managing releases.

Bonus/optional:

  • Likely in the future to start or work for a project or company using BDK.
  • Understands/has experience with related protocols, eg. Lightning, e-cash.
  • Active in your local bitcoin community (eg. bitdevs, meetups, workshops).
  • From a geographical region not currently represented on the team.

# Full-time grants

Full-time grants are for developers who are dedicating most of their work time to improving and maintaining bitcoin open source software, and in particular BDK and supporting projects.

The core bdk (opens new window) repo projects are written in Rust with mobile and language bindings (Swift, Kotlin, Python) provided by the bdk-ffi (opens new window) repo projects. Grantees should have strong Rust and/or mobile and language bindings skills.

# Rust

Additional traits that are a plus for full-time Rust developer grants:

  • Solid Rust development and API use and design experience.
  • A vision for how to maintain and improve the overall BDK Rust codebase.
  • A proposal for new or existing BDK Rust features or modules you want to improve and maintain.
  • Engaged with upstream projects, eg. rust-bitcoin, rust-miniscript, uniffi-rs, etc.
  • Engaged with downstream projects.

# Mobile / language bindings

Additional traits that are a plus for full-time mobile/language bindings grants:

  • Solid mobile development and app design experience (Android, iOS).
  • Kotlin, Swift, and/or Python development and API use and design experience.
  • Rust development experience and/or willingness to learn.
  • Vision for how to best support all BDK based app developers.
  • Engaged with the bitcoin app design community.

# Project grants

Project grants are for contributors who are able to focus part-time for at least three months on a project to improve BDK or a supporting project.

Additional traits that are a plus for project grants:

  • A project proposal that clearly supports the BDK mission.
  • The project doesn't have to be coding, it could be research, testing, docs, etc.
  • The project can be completed in 3 months (one quarter).

# Applying

To apply for a full-time or project grant please send your proposal to: grants@bitcoindevkit.org