Bcoin is an alternative fullnode implementation written in javascript and optimized for production.

Bcoin is an alternative fullnode implementation of bitcoin that is engineered and optimized for production ready systems.

Supported and used in production by Purse.io

Why bcoin?

Bcoin is an advanced, secure, and production-proven alternative fullnode implementation of bitcoin. It was built to reduce code complexity, and to help build scalable, consumer grade infrastructure.


Engineered from the ground-up to create scalable, flexible, and efficient production-ready systems.

Read more ›


Bcoin is consensus conforming and adheres to the strict security standards of the original implementation maintained by Bitcoin Core.

Read more ›


Bcoin can be integrated into almost any desktop or browser application to enable native payments, using bitcoin’s trusted and robust global network.

Read more ›

used in production and trusted by

for Production

Bcoin is the first fullnode implementation built specifically for production systems at scale. Originally created to be used as backend infrastructure for Purse.io, Bcoin enables companies to spin up consumer-grade bitcoin applications/wallet systems without the long-term concern of scalability, and security.

Robust Wallet APIs

Included natively is a REST API, and a legacy JSON RPC API; both let you easily interact and manage large scale wallet systems on the bitcoin network.

Built-in Accounting

Large scale e-commerce company processing many transactions? Online wallet provider? Bcoin has wallet accounting built right in, making user fund management even easier.

Written from Scratch

Developing applications that natively utilize bitcoin’s powerful financial network can be difficult, even for seasoned developers. Bcoin abstracts out the most difficult components of bitcoin development — allowing you to focus on creating great functionality, with hardened security at its core.

Consensus Tested

Consensus aware, bcoin conforms to all consensus measures present in Satoshi's reference implementation. Bcoin can even be used to mine on the bitcoin mainnet, and has successfully been used to mine blocks on it as well.

Industry Trusted

Companies like Ripio and Purse have built bitcoin utilities and tools on bcoin that are now core components of their infrastructure for large-scale daily use by consumers.

The Most Advanced
Fullnode Implementation.

Since its purpose is for Production and Enterprise, bcoin includes embedded support for various advanced features; BIPs 150/151, Schnorr Signatures, MAST. With bcoin, companies can quickly begin work on robust, future-ready Proof of Concepts to be deployed on the bitcoin mainnet.

Advanced Account Management

Bcoin makes managing a large number of user addresses and accounts more seamless. Scale to millions of addresses and manage user funds with ease, without having to worry about key migrations as your business grows.

BIP 150/151 Support

Encryption and Identity Verification are possible on Bitcoin’s P2P layer with BIP 150/151. Both are already implemented and ready for testing and experimentation.

Event-Based Notifications

Bcoin allows for high-level websocket events for blockchain monitoring and account based events for wallets; allowing for the creation of plugins and utilities that reference the blockchain more easily.

Ready to start building? Read the docs!


Get Started

Payments and transacting value across the internet should be easy. Bcoin enables the creation of elegant, robust, and scalable codebases. We've eliminated the unnecessary code complexity, so you can get up and running using Bcoin in just a few minutes.


'use strict';

var bcoin = require('bcoin');

var node = new bcoin.fullnode({
  network: 'testnet',
  db: 'memory'

(async function() {
  await node.open();
  await node.connect();

  node.on('connect', function(entry, block) {
    console.log('%s (%d) added to chain.', entry.rhash(), entry.height);

  node.on('tx', function(tx) {
    console.log('%s added to mempool.', tx.txid());


Setup your Bcoin Node

Once you have bcoin installed, setting up a node on the bitcoin test network is simple.

Having a node set-up will allow you to more easily test and query the RPC/REST API, and begin monitoring new transactions added to the bitcoin blockchain/mempool.

Got questions? Come chat directly with other bcoin developers, anytime. Find help in #bcoin on freenode, and on our Slack.
Brian Hoffman
OpenBazaar, OB1
"It’s phenomenal work and I’m in awe of what [JJ] and his colleagues have pulled off."
Andreas Antonopoulos
Author of Mastering Bitcoin & The Internet of Money
"Chris Jeffery is definitely worth watching."
Esteban Ordano
Full-stack Engineer, Founder of Streamium and Decentraland
"Damn, JJ is a god walking among devs. Only way to explain @bcoinio. My javascript bitcoin projects will no longer use bitcore."
Eric Lombrozo
Co-CEO & CTO Ciphrex Corp., Bitcoin Core contributor
"Thank you, @bcoinio, for setting a good example. @bitcoincoreorg is not the only #Bitcoin implementation that respects consensus."
Jameson Lopp
Full-stack Engineer, Founder of Streamium and Decentraland
"Congratulations to @bcoinio & @_chjj on the first mainnet block mined with bcoin. Quite the milestone!"