Skip to content
@rust-bitcoin

Rust Bitcoin Community

A Series of Projects to implement various Bitcoin Protocols in Rust

Rust Bitcoin Community

A Series of projects to implement various Bitcoin protocols in Rust.

TL;DR;

rust-bitcoin hosts the bitcoin crate that supports the Bitcoin network protocol and associated primitives. It is designed for Rust programs built to work with the Bitcoin network.

Core Crates

The "core" crates developed and maintained collectively by the rust-bitcoin devs. There is a list of official maintainers for the bitcoin crate, for other crates please see the git index to get an idea of who is who.

For these crates we hold ourselves to high standards relating to security, testing, release schedule, API design, and coding style. Our current focus is on stabilizing these crates1.

Name Crate Repository
base58 base58ck rust-bitcoin
bitcoin bitcoin rust-bitcoin
bitcoinconsensus bitcoinconsensus rust-bitcoinconsensus
bech32 bech32 rust-bech32
hashes bitcoin_hashes rust-bitcoin
hex hex-conservative hex-conservative
internals bitcoin-internals rust-bitcoin
io bitcoin-io rust-bitcoin
ordered ordered rust-ordered
secp256k1 secp256k1 rust-secp256k1
units bitcoin-units rust-bitcoin

We aim to make usage of these crates secure, ergonomic, and intuitive. We try to enable users of these crates to follow software engineering best practices e.g., semver compliance.

If we fall short of these stated aims, or can in anyway improve our support of Bitcoin free software projects, please raise issues or contact maintainers directly. For security related issues please see SECURITY.md.

If you write proprietary software and want better integration with these crates by all means raise issues on the respective repository. We are interested in all users and your usecase may help us improve the libraries, however all development is done in the open and will stay that way.

Other Crates

Other crates/repositories hosted here and developed and maintained by the community.

These crates are developed and maintained by a subset of the rust-bitcoin devs or other members of the community. We are fairly open about hosting any Bitcoin-related crates in this organization, provided that they are actively maintained. Other requirements are:

  • The repository contains Bitcoin-specific crates (implies Bitcoin-only and not general purpose crates).
  • The repository has at least minimal CI.
  • The author has made at least some effort to adhere to practices and standards maintained in the core crates (defined above).

These crates may not be reviewed or maintained by the primary rust-bitcoin maintainers. Keep this in mind when choosing to use them as dependencies. And as with any dependencies, you should review new versions rather than blindly upgrading.

Name Crate Repository
miniscript miniscript rust-miniscript
bitcoind bitcoind bitcoind
bitcoincore-rpc bitcoincore-rpc rust-bitcoincore-rpc
bip39 bip39 rust-bip39
bip47 bip47 rust-bip47
bip322 bip322 bip322
murmel murmel murmel
hammersbald hammersbald hammersbald
bitcoin-bech32 bitcoin-bech32 rust-bech32-bitcoin
corepc corepc corepc
bitcoin-payment-instructions bitcoin-payment-instructions bitcoin-payment-instructions

Non-crate repositories

Repositories that are not crates (libraries).

Name Repository Description
maintainer-tools rust-bitcoin-maintainer-tools Scripts, test vectors, and other things used by or across multiple repositories in the rust-bitcoin ecosystem.
website rust-bitcoin.github.io Source for the organization website https://rust-bitcoin.org
workshop workshop Conference presentation material
.github .github Hosts this readme file

Archived crates

These crates have either been moved to another location or are no longer actively maintained.

Repository Crate or Description
rust-wallet Unmaintained bitcoin-wallet
rust-bitcoin-chain Unmaintained bitcoin-chain
bitcoin_hashes Moved to rust-bitcoin
rust-lightning-invoice Moved to rust-lightning
www.rust-bitcoin.org Moved to rust-bitcoin.github.io
bitcoind-json-rpc-client Unmaintained bitcoind-json-rpc-client
bitcoind-json-rpc-regtest Unmaintained bitcoind-json-rpc-regtest
bitcoind-json-rpc-types Unmaintained bitcoind-json-rpc-types

TODO

Footnotes

  1. Please note internals will explicitly never stabalize.

Popular repositories Loading

  1. rust-bitcoin rust-bitcoin Public

    Rust Bitcoin library

    Rust 2.3k 792

  2. rust-secp256k1 rust-secp256k1 Public

    Rust language bindings for Bitcoin secp256k1 library.

    C 378 284

  3. rust-miniscript rust-miniscript Public

    Support for Miniscript and Output Descriptors for rust-bitcoin

    Rust 378 150

  4. rust-bitcoincore-rpc rust-bitcoincore-rpc Public

    Rust RPC client library for the Bitcoin Core JSON-RPC API.

    Rust 371 277

  5. rust-wallet rust-wallet Public

    *archived* Library for a Bitcoin Wallet

    Rust 185 90

  6. rust-bip39 rust-bip39 Public

    A Rust library for working with Bitcoin BIP-39 mnemonics

    Rust 104 64

Repositories

Showing 10 of 30 repositories
  • rust-bitcoin Public

    Rust Bitcoin library

    rust-bitcoin/rust-bitcoin’s past year of commit activity
    Rust 2,302 CC0-1.0 792 367 (1 issue needs help) 92 Updated Apr 13, 2025
  • bitcoin-payment-instructions Public

    Resolves Bitcoin Payment Instructions of various forms

    rust-bitcoin/bitcoin-payment-instructions’s past year of commit activity
    Rust 1 1 0 0 Updated Apr 12, 2025
  • rust-miniscript Public

    Support for Miniscript and Output Descriptors for rust-bitcoin

    rust-bitcoin/rust-miniscript’s past year of commit activity
    Rust 378 CC0-1.0 150 63 (1 issue needs help) 27 Updated Apr 12, 2025
  • hex-conservative Public

    Hex crate with a conservative MSRV and dependency policy

    rust-bitcoin/hex-conservative’s past year of commit activity
    Rust 9 CC0-1.0 9 10 (1 issue needs help) 5 Updated Apr 10, 2025
  • corepc Public

    Rust library for interacting with Bitcoin Core over JSONRPC

    rust-bitcoin/corepc’s past year of commit activity
    Rust 25 CC0-1.0 21 18 5 Updated Apr 10, 2025
  • rust-secp256k1 Public

    Rust language bindings for Bitcoin secp256k1 library.

    rust-bitcoin/rust-secp256k1’s past year of commit activity
    C 378 CC0-1.0 284 66 20 Updated Apr 10, 2025
  • .github Public
    rust-bitcoin/.github’s past year of commit activity
    0 CC0-1.0 3 1 1 Updated Apr 9, 2025
  • rust-bech32 Public

    Bech32 format encoding and decoding

    rust-bitcoin/rust-bech32’s past year of commit activity
    Rust 96 MIT 59 4 5 Updated Apr 2, 2025
  • rust-ordered Public

    Wrapper for adding `PartialOrd` and `Ord` to types without a meaningful canonical ordering.

    rust-bitcoin/rust-ordered’s past year of commit activity
    Rust 1 CC0-1.0 3 5 0 Updated Mar 17, 2025
  • bip324 Public

    encrypted messages over the Bitcoin P2P Protocol

    rust-bitcoin/bip324’s past year of commit activity
    Rust 27 4 1 0 Updated Mar 7, 2025

Most used topics

Loading…