1.0.11 • Published 9 months ago

@ixjb94/binance v1.0.11

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

CodeFactor npm version npm size npm downloads last commit Known Vulnerabilities

Binance Connector Written in Typescript

Structure

binance contains this components

ComponentInfoStatusDocument Link
SpotSpot APICompletedSpot
FuturesFutures APICompletedFutures
Coin-MCoin-M APICompletedCoin-M
OptionsEuropean APICompletedOptions
BLVT StreamsBLVT StreamsCompletedBLVT
WebsocketAbstract WebsocketCompleted
HttpAbstract HttpCompleted

Spot: contains: Wallet, Sub-Account, Market Data, Spot, Margin, Savings, Staking, Mining, Futures, Futures Algo, Portfolio, BLVT, BSwap, Fiat, C2C, VIP Loans, Crypto Loans, Crypto Loans, Pay, Convert, Rebate, NFT, Binance Code (all available endpoints in binance spot doc)

Websocket & Http: can connect/request to any of binance ws/rest endpoints

Requirement

Node ^18.0.0 and higher
(because it's using fetch API)

Installation

npm i @ixjb94/binance

Usage

import { Futures } from "@ixjb94/binance"

Examples

Note: Everything isPromised so you need to do .then or await

All Examples

  • Rest (Public)
import { Futures } from "@ixjb94/binance"

const myFuture = new Futures({
    isTestNet: true,
})

// exchange info
myFuture.exchangeInfo()

// candles data
myFuture.klines({
    interval: "1m",
    symbol: "BTCUSDT",
    limit: 10,
})
  • Rest (Private)
import { Futures } from "@ixjb94/binance"

const myFuture = new Futures({
    api_key: "MyApiKey",
    api_secret: "MyApiSecret",
    isTestNet: true,
})

// get account balance
myFuture.balance()

// place new order
myFuture.newOrder({
    symbol: "BTCUSDT",
    side: "BUY",
    type: "MARKET",
    quantity: 0.01,
})
  • Websocket (Public)
import { Futures } from "@ixjb94/binance"

const myFuture = new Futures({
    isTestNet: true,
})

// subscribe to two market data
myFuture.ws.subscribe(["btcusdt@kline_1m", "ethusdt@kline_3m"], 1, "MyMarketData")

// listen for data coming from binance
myFuture.ws.addListener("MyMarketData", (socket) => {

    socket.addEventListener("message", (event) => {
        let data = event.data
        data = JSON.parse(data)

        console.log(data)
    })

})
  • Websocket (Private)
import { Futures } from "@ixjb94/binance"

const myFuture = new Futures({
    api_key: "MyApiKey",
    api_secret: "MyApiSecret",
    isTestNet: true,
})

async function Run() {

    // 1- get the listenKey
    const reqListenKey = await myFuture.newListenKey()
    const listenKey = reqListenKey.listenKey

    // 2- subscribe to User Data Stream
    myFuture.ws.userStream(listenKey, "MyUserData")

    // 3- Listen for data coming from binance
    myFuture.ws.addListener("MyUserData", (socket) => {
        
        socket.addEventListener("message", (event) => {
            let data = event.data
            data = JSON.parse(data)

            console.log(data)
        })

    })
}
Run()

Types & Intellisense

img1 img2

Endpoints Naming

StartsExampleHttp Method
newnewOrderPOST
changechangeLeveragePOST | PUT
deletedeleteOrderPOST | DELETE
(nothing)exchangeInfoGET

Notes

  • ws data are either Buffer OR Raw string
    so you need to JSON.parse them
    example
import { Futures } from "@ixjb94/binance"

const myFuture = new Futures({
    isTestNet: true,
})

myFuture.ws.subscribe(["btcusdt@kline_1m"], 1)

myFuture.ws.addListener("DATA", (socket) => {

    // Buffer
    socket.addListener("message", (data, siBinary) => {
        console.log(data)
    })

    // Raw string data
    socket.addEventListener("message", (event) => {
        // Its raw
        let data = event.data

        // Now its parsed
        data = JSON.parse(data)
    })

})
  • You don't need to import Http OR Websocket directly
    you can access them with .http. OR .ws.
    example
import { Futures } from "@ixjb94/binance"

const myFuture = new Futures({
    isTestNet: true,
})

// websocket example
myFuture.ws.subscribe(["btcusdt@kline_1m"], 1)

// http example
myFuture.http.publicGET("/fapi/v1/exchangeInfo")

Documentation

Binance Doc

1.0.11

9 months ago

1.0.10

9 months ago

1.0.9

9 months ago

1.0.8

9 months ago

1.0.7

9 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago