Back to Ccxt

Binance Fetch Balance Snapshot Watch Balance Updates

wiki/examples/js/binance-fetch-balance-snapshot-watch-balance-updates.md

4.5.531.8 KB
Original Source
javascript
// AUTO-TRANSPILE //
'use strict';
import ccxt from '../../js/ccxt.js';
console.log('CCXT Version:', ccxt.version); // eslint-disable-line import/no-named-as-default-member
// This example will run silent and will return your balance only when the balance is updated.
//
// 1. launch the example with your keys and keep it running
// 2. go to the trading section on the website
// 3. place a order on a spot market
// 4. see your balance updated in the example
//
// Warning! This example might produce a lot of output to your screen
async function watchBalance(exchange) {
   let balance = await exchange.fetchBalance();
   console.log('------------- Initial -------------');
   console.log(exchange.iso8601(exchange.milliseconds()));
   console.log(balance);
   while (true) { // eslint-disable-line no-constant-condition
       try {
           const update = await exchange.watchBalance();
           balance = exchange.deep_extend(balance, update);
           // it will print the balance update when the balance changes
           // if the balance remains unchanged the exchange will not send it
           console.log('------------- Update -------------');
           console.log(exchange.iso8601(exchange.milliseconds()));
           console.log(balance);
       }
       catch (e) {
           console.log(e);
           break;
       }
   }
}
async function main() {
   const exchange = new ccxt.pro.binance({
       'apiKey': 'YOUR_API_KEY',
       'secret': 'YOUR_SECRET',
   });
   await exchange.loadMarkets();
   // exchange.verbose = true // uncomment for debugging purposes if necessary
   await watchBalance(exchange);
   await exchange.close();
}
main();