wiki/examples/js/coinbase-fetch-all-balances.md
"use strict";
const ccxt = require ('../../js/ccxt.js')
console.log ('CCXT Version:', ccxt.version)
async function fetchAllBalances (exchange) {
const params = {}
let balance = {}
while (true) {
const response = await exchange.fetchBalance (params)
balance = exchange.extend (balance, response)
const info = exchange.safeValue (response, 'info', {})
const pagination = exchange.safeValue (info, 'pagination', {})
const startingAfter = exchange.safeString (pagination, 'next_starting_after')
if (startingAfter !== undefined) {
params['starting_after'] = startingAfter
} else {
break
}
}
return balance
}
async function main () {
const exchange = new ccxt.coinbase ({
// Value is the "name" field in the api_key.json file Coinbase will offer for download
apiKey: 'organizations/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/apiKeys/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
// This is the "privateKey" field in that JSON file
secret: '-----BEGIN EC PRIVATE KEY-----\nxxx...xxx==\n-----END EC PRIVATE KEY-----',
})
const markets = await exchange.loadMarkets ()
// coinbase.verbose = true // uncomment for debugging purposes if necessary
const balance = await fetchAllBalances (exchange)
console.log (balance)
}
main ()