Build Status Coverage Status

Bcoin is an alternative implementation of the Bitcoin protocol, written in JavaScript and C/C++ for Node.js.

Bcoin is well tested and aware of all known consensus rules. It is currently used in production as the consensus backend and wallet system for purse.io.


  • Full Node
  • SPV Node
  • Wallet Backend
  • Mining Backend (getblocktemplate support)
  • Layer 2 Backend (lightning)
  • General Purpose Bitcoin Library

Try it in the browser: https://bcoin.io/browser/


$ git clone https://github.com/bcoin-org/bcoin.git
$ cd bcoin
$ npm rebuild
$ ./bin/bcoin

See the Getting started guide for more in-depth installation instructions, including verifying releases. If you're upgrading, see the latest changes via the Changelog.


  • General docs: docs/
  • Wallet and node API docs: https://bcoin.io/api-docs/
  • Library API docs: https://bcoin.io/docs/


Join us on freenode in the #bcoin channel.


Bcoin does not guarantee you against theft or lost funds due to bugs, mishaps, or your own incompetence. You and you alone are responsible for securing your money.

Contribution and License Agreement

If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work. </legalese>


  • Copyright (c) 2014-2015, Fedor Indutny (MIT License).
  • Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).

See LICENSE for more info.