Skip to content
@bitcoindevkit

Bitcoin Dev Kit

The Bitcoin Dev Kit project (formerly Magical Bitcoin 🧙) is building tools and libraries designed to be a solid foundation for descriptor based Bitcoin wallets

Hey there 👋

An image of the bitcoin development kit logo

Bitcoin Development Kit (BDK) is a suite of software libraries that allows you to build secure, feature-rich, and cross-platform Bitcoin wallets.

Most of the BDK projects are based on the powerful rust-bitcoin and rust-miniscript libraries.

The home page for the overarching BDK project and the BDK Foundation that supports it is bitcoindevkit.org.

Project Tiers

We provide the technical infrastructure to maintain a number of software and documentation projects across different maturity levels and support models. To help you navigate these projects, we've categorized them along two dimensions: Maturity Level (Stable or Experimental) and Support Model (Foundation or Community). See "The Book of BDK" chapter on library tiers for more details.

Foundation Supported

Stable
Experimental
  • bdk_coin_select - A zero-dependency crate for efficiently selecting inputs for making Bitcoin transactions.
  • bdk_file_store - Persistence backend for storing chain data in a single file, not for mainnet use.
  • bdk_tx - A minimal dependency crate that lets you build, update, and finalize PSBTs.
  • bdk_sp - A crate to research the implementation of silent payment tools in BDK.
  • electrum_streaming_client - Electrum client crate that honors the Electrum API’s push-based model.
  • bdk_sqlite - SQLite blockchain and wallet data store crate for BDK using sqlx.
  • bdk-dart - Dart language bindings library for bdk_wallet generated with bdk-ffi.
  • bdk-rn - React Native language bindings library for bdk_wallet generated with bdk-ffi.
  • bdk-cli - A CLI wallet library and REPL tool to demo and test the BDK library, not for mainnet use.
  • BDKSwiftExampleWallet - An example native iOS wallet app built with bdk-swift, not for mainnet use.
  • devkit-wallet - An example native Android wallet built with bdk-android, not for mainnet use.

Community Supported

Stable
  • bdk_kyoto - BDK blockchain backend using P2P light client Kyoto.
  • bdk-python - Python language bindings library for bdk_wallet generated with bdk-ffi.
  • bdk-wasm - WASM bindings library for bdk_wallet for JS and Node environments.
  • bdk-reserves - A crate that implements proof-of-reserves for bdk_wallet.
  • rust-cktap - Coinkite Tap Protocol implementation for use with SATSCARD and TAPSIGNER products.
  • awesome-bdk - A curated list of BDK resources, projects, codebases, and documentation.
Experimental
  • bdk_sqlx - Postgres blockchain and wallet data store crate for BDK using sqlx.
  • bitcoin-ffi - A light wrapping on rust-bitcoin required for use in uniffi-based libraries.
  • bdk-message-signer - Crate to sign messages for proving fund availabilty or committing to a message.

😃 Join our community

Community is fundamental to building and maintaining free and open source software and documentation. Please connect with us on GitHub and the BDK discord server!

Pinned Loading

  1. bdk bdk Public

    A modern, lightweight, descriptor-based wallet library written in Rust!

    Rust 1.1k 521

  2. bdk_wallet bdk_wallet Public

    A modern, lightweight, descriptor-based wallet library written in Rust!

    Rust 62 127

  3. rust-esplora-client rust-esplora-client Public

    Asynchronous and blocking clients and types for interacting with Esplora servers over HTTP.

    Rust 59 75

  4. rust-electrum-client rust-electrum-client Public

    Bitcoin Electrum client library. Supports plaintext, TLS and Onion servers.

    Rust 89 88

  5. book-of-bdk book-of-bdk Public

    The documentation website for BDK

    Shell 42 36

  6. bdk-ffi bdk-ffi Public

    Rust 128 86

Repositories

Showing 10 of 46 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…