Awesome
Binance connector in Typescript
This library is an easy, simple and clean connector to the Binance public API. It is divided into three distinct endpoints:
-
Supported APIs:
/api/*
/sapi/*
-
Inclusion of test cases and examples
-
Request and response types
Installation
npm install @binance/connector-typescript
Documentation
RESTful APIs
All REST API endpoints are linked to a unique module called Spot
.
To start working with the REST API, you will need to import and create the client. Keep in mind that some of the endpoints require authentication with your API credentials keys:
import { Spot } from '@binance/connector-typescript';
const API_KEY = '';
const API_SECRET = '';
const BASE_URL = 'https://api.binance.com';
const client = new Spot(API_KEY, API_SECRET, { baseURL: BASE_URL });
client.exchangeInformation().then((res) => {
console.log(res);
}).catch(err => { console.log(err) });
Please look at examples/restful
folder to check for more endpoints.
Testnet
While /sapi/*
endpoints don't have testnet environment yet, /api/*
endpoints can be tested in
Spot Testnet. You can use it by changing the base URL:
// provide the testnet base url
const client = new Spot(apiKey, apiSecret, { baseURL: 'https://testnet.binance.vision'})
If base_url is not provided, it defaults to api.binance.com.
Websockets
Websocket API Client
All websocket are available with the WebsocketAPI
module.
To work with the websocket API, you will need to import the client and generate a callBack function to handle the messages:
import { WebsocketAPI } from '@binance/connector-typescript';
const API_KEY = '';
const API_SECRET = '';
const callbacks = {
open: (client: WebsocketAPI) => client.exchangeInfo(),
close: () => console.debug('Disconnected from WebSocket server'),
message: (data: string) => console.info(JSON.parse(data))
}
const websocketAPIClient = new WebsocketAPI(API_KEY, API_SECRET, { callbacks });
setTimeout(() => websocketAPIClient.disconnect(), 20000);
Please look at examples/websocketAPI
folder to check for more endpoints.
Websocket Stream Client
All websocket streams are available with the WebsocketStream
module.
To work with the websocket API, you will need to import the client and generate a callBack function to handle the messages:
import { WebsocketStream } from '@binance/connector-typescript';
const callbacks = {
open: () => console.debug('Connected to WebSocket server'),
close: () => console.debug('Disconnected from WebSocket server'),
message: (data: string) => console.info(data)
}
const websocketStreamClient = new WebsocketStream({ callbacks });
websocketStreamClient.aggTrade('bnbusdt');
setTimeout(() => websocketStreamClient.disconnect(), 6000);
Please look at examples/websocketStream
folder to check for more endpoints.
Test
npm install
npm run test
Limitation
Futures and European Options APIs are not supported:
/fapi/*
/dapi/*
/eapi/*
- Associated Websocket Market and User Data Streams
License
MIT