bybit-api
![npm downloads](https://img.shields.io/npm/dt/orderbooks.svg)
![CodeFactor](https://www.codefactor.io/repository/github/tiagosiebler/bybit-api/badge)
An unofficial node.js lowlevel wrapper for the Bybit Cryptocurrency Derivative exchange API. Forked from @pxtrn/bybit-api, due to low activity on fixes & improvements.
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');
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 or create a bybit account using his ref link.
- BTC
1Fh1158pXXudfM6ZrPJJMR7Y5SgZUz4EdF
- ETH
0x21aEdeC53ab7593b77C9558942f0c9E78131e8d7
- LTC
LNdHSVtG6UWsriMYLJR3qLdfVNKwJ6GSLF
tiagosiebler
If you found this project interesting or useful, create accounts with my referral links:
Or feed my coffee addiction 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.