Quick start

To install and run Byteball.js, follow this quick start guide.


Byteball.js was designed to work both in the browser and in Node.js.


To install Byteball.js on Node.js, open your terminal and run:

npm i byteball --save


You can create an index.html file and include Byteball.js with:

<script src="https://cdn.jsdelivr.net/npm/byteball"></script>


Ways to initiate WebSocket client:

const byteball = require('byteball');

// Connect to mainnet official node 'wss://byteball.org/ws'
const client = new byteball.Client();

// Connect to a custom node
const client = new byteball.Client('wss://byteball.fr/bb');

// Connect to testnet
const client = new byteball.Client('wss://byteball.org/bb-test', true);

Close the client:


All API methods follow this pattern:

// If the last argument is a function it is treated as a callback
client.api.getJoint('oj8yEksX9Ubq7lLc+p6F2uyHUuynugeVq4+ikT67X6E=', function(err, result) {
  console.log(err, result);

// If a callback is not provided, a Promise is returned
client.api.getJoint('oj8yEksX9Ubq7lLc+p6F2uyHUuynugeVq4+ikT67X6E=').then(function(result) {


To compose and post unit you need first to create a Byteball wallet and fund it with the native currency ‘bytes’. The generated WIF will be used on Byteball.js. Click on the link below to learn more:

pageGenerate a random address

Post a payment unit:

const wif = '5JBFvTeSY5...'; // WIF string generated (private key)

const params = {
  outputs: [
      address: 'NX2BTV43XN6BOTCYZUUFU6TK7DVOC4LU', // The Byteball address of the recipient
      amount: 1000 // The amount he receives

client.post.payment(params, wif, function(err, result) {
  console.log(result); // The unit hash is returned

Last updated