Loading...
An advanced fullnode implementation built for the native web.

 Enterprise-level   Bitcoin   and   Blockchain    libraries.  Built   for   businesses,   miners,   wallets,   and  hobbyists  

Why bcoin?

Bcoin is an advanced fullnode implementation built with JavaScript/NodeJS. It is easier to use, faster to learn and more well-documented than competing implementations.

Optimized

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

Details ›

Secure

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

Details ›

Advanced

Bcoin can be integrated into almost any desktop or browser application to enable native payments, on both Bitcoin and Bitcoin Cash networks.

Details ›

trusted by

Bitwala
Purse
Ripio
BTC.com
Bixin
Bitpay
Bitcore
Copay
Edge Secure
Chronobank.io

Optimized
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 multiple blockchains.

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.

Secure,
Written from Scratch

Developing applications that natively utilize a blockchain can be difficult, even for seasoned developers. Bcoin abstracts out the most difficult components of crypto 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 as well.

Industry Trusted

Companies like Ripio, Bitpay and Purse have built utilities and tools on bcoin that are now core components of their infrastructure, seeing 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 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!

Documentation

Get Started

We've eliminated the unnecessary code complexity, so you can get up and running using Bcoin in just a few minutes.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

'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());
  });

  node.startSync();
})();

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 blockchain/mempool.

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