PHP Bitcoin library with functions for transactions, signatures, serialization, Random/Deterministic ECDSA keys, blocks, RPC bindings

v1.0.4 2019-12-10 23:28 UTC



Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version

This repository contains an implementation of Bitcoin using mostly pure PHP.

Warning: This library does not support 32-bit installs of PHP. Please also note that composer is the only supported installation method.


You can install this library via Composer: composer require bitwasp/bitcoin


All contributions are welcome. Please see [this page] before you get started


Check out the beginnings of the documentation for the library: [Introduction]

Presently supported:

  • Blocks, headers, and merkle blocks and bloom filters
  • P2SH & Segregated witness scripts
  • An adaptable elliptic-curve library, using [PhpEcc] by default, or libsecp256k1 if the bindings are found
  • Support for building, parsing, signing/validating transactions
  • Deterministic signatures (RFC6979)
  • BIP32 and electrum (older type I) deterministic key algorithms
  • BIP39, and the older electrum seed format.
  • ScriptFactory for common input/output types, parser, interpreter, and classifiers
  • Supports bindings to libbitcoinconsensus
  • Bindings to Stratum (electrum) servers

Other projects


This library is a 100% open source project. We do not receive any funding from the industry, nor provide paid support or development of features. That said, we are grateful for our supporters who provide free access for open source projects:


Thanks to JetBrains for supporting the project through sponsoring some All Products Packs within their Free Open Source License program.