Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

bybit-api

1.2.1 • Public • Published

bybit-api

npm version npm size npm downloads last commit CodeFactor

An light node.js wrapper for the Bybit Cryptocurrency Derivative exchange API. Forked & adapted from @pxtrn/bybit-api.

Installation

npm install --save bybit-api

Usage

Create API credentials at bybit (obviously you need to be logged in):

Documentation

Most of the documentation is in Bybit's official API docs. Most of this library's methods accept objects that directly correspond to expectations from Bybit's API docs.

Rest client

const {RestClient} = require('bybit-api');
 
const API_KEY = 'xxx';
const PRIVATE_KEY = 'yyy';
 
const client = new RestClient(API_KEY, PRIVATE_KEY);
 
client.changeUserLeverage({leverage: 4, symbol: 'ETHUSD'})
  .then(result => {
    console.log(result);
  })
  .catch(err => {
    console.error(error);
  });

See rest client api docs for further information.

Websocket client

const {WebsocketClient} = require('bybit-api');
 
const API_KEY = 'xxx';
const PRIVATE_KEY = 'yyy';
 
const ws = new WebsocketClient({key: API_KEY, secret: PRIVATE_KEY});
 
ws.subscribe(['position', 'execution', 'trade']);
ws.subscribe('kline.BTCUSD.1m');
 
ws.on('open', function() {
  console.log('connection open');
});
 
ws.on('update', function(message) {
  console.log('update', message);
});
 
ws.on('response', function(response) {
  console.log('response', response);
});
 
ws.on('close', function() {
  console.log('connection closed');
});
 
ws.on('error', function(err) {
  console.error('ERR', err);
});

See websocket client api docs for further information.

Customise Logging

Pass a custom logger which supports the log methods silly, debug, notice, info, warning and error, or override methods from the default logger as desired:

const { RestClient, WebsocketClient, DefaultLogger } = require('bybit-api');
 
// Disable all logging on the silly level
DefaultLogger.silly = () => {};
 
const API_KEY = 'xxx';
const PRIVATE_KEY = 'yyy';
 
const ws = new WebsocketClient({key: API_KEY, secret: PRIVATE_KEY}, DefaultLogger);

Contributions & Thanks

Donations

pixtron

This library was started by @pixtron. If this library helps you to trade better on bybit, feel free to donate a coffee to @pixtron:

  • BTC 1Fh1158pXXudfM6ZrPJJMR7Y5SgZUz4EdF
  • ETH 0x21aEdeC53ab7593b77C9558942f0c9E78131e8d7
  • LTC LNdHSVtG6UWsriMYLJR3qLdfVNKwJ6GSLF

tiagosiebler

If you found this project interesting or useful, create accounts with my referral links:

Or buy me a coffee using any of these:

  • BTC: 1C6GWZL1XW3jrjpPTS863XtZiXL1aTK7Jk
  • ETH (ERC20): 0xd773d8e6a50758e1ada699bb6c4f98bb4abf82da

Contributions & Pull Requests

Contributions are encouraged, I will review any incoming pull requests. See the issues tab for todo items.

Install

npm i bybit-api

DownloadsWeekly Downloads

31

Version

1.2.1

License

MIT

Unpacked Size

43.5 kB

Total Files

17

Last publish

Collaborators

  • avatar