Binance v3 account endpoint does not return correct balances

Update: Discrepancy from what I was seeing was caused by staking … it was not obvious to me that it would not simply appear as ‘locked’. So that’s what was causing me the issue.
Keeping this thread in case anyone else happens by it. What is needed is that I also pull in the staked balances and add that to whatever is shown as ‘locked’. Then the total asset on hand value will be correct.


I have noticed after comparing balance information from the API to what I see on the Wallet page within binance.us that the balances do not seem to be correct.

For some assets (e.g. ADA) get just zeroes for both ‘free’ and ‘locked’, even though there, for some (BNB) it is only returning the ‘free’ and not the ‘locked’.

For some assets (BTC), it has the correct values for both.

There seems to be no explanation as to why. It doesn’t seem to matter if the order was created on the website or via the API for the particular asset type.

I looked at the actual JSON returned from the binance API to see if I was missing any changed fields, but it’s wrong on there as well.

Anyone have any thoughts on this?

ETA: Out of interest I thought I’d try the newer endpoint /sapi/v1/capital/config/getall … but still get the same incorrect information. An additional entry ‘freeze’ does not account for the differences I’m seeing. ‘free’ and ‘locked’ are still zero on the assets in question.