The connector separates Spot and Funding
The connector reads Binance Spot and Funding balances and labels every row with its wallet type. It does not merge Futures, Margin, Earn or Web3 products into an undefined total. Your UI should preserve that scope instead of suggesting the normalized account is a complete Binance net worth.
Use a dedicated USER_DATA credential
The exchange key needs signed account-read access but must keep trading, futures and withdrawal capabilities disabled. ChainsFlow API encrypts the submitted key and secret and never returns them. Your product should collect them in a focused connection form, avoid browser persistence and remind the user to revoke the key at Binance after deletion.
Free and locked quantities have different meaning
Binance reports free and locked amounts per asset. The normalized balance preserves both, allowing open-order holds to remain visible instead of appearing as missing funds. Price coverage is separate from quantity coverage: an asset can be present even when no supported USD market path is available.
Synchronization is controlled provider work
A manual sync is a weighted operation with a cooldown because it performs signed provider reads, normalization, pricing and snapshot updates. Show the last successful synchronization and current status. Do not poll the sync mutation from every browser tab; schedule refreshes centrally and use stored reads for ordinary page rendering.
Reconcile scope before debugging totals
A difference can come from another Binance account type, an unpriced asset, an open-order lock or a provider permission. Compare several largest Spot positions and the connection error code before retrying. Provider timestamps and rate policies can change, so keep Binance-specific behavior behind the adapter and monitor official documentation.