Binance Sync — Read-Only Keys, Real Balances
Paste a read-only API key and Budgie pulls your Binance balances and history straight to your phone — then merges your P2P buys with the bank payment that funded them.
Setup is one screen
How to create the key, where to paste it, and the button that reads your balances back — connecting Binance fits on a single screen.
The key is made on Binance
The first row takes you to Binance's API management page, and the numbered list under it is the recipe: sign in, then create a new System-generated API key. Budgie never creates the key for you, because it never sees your Binance login.

Only the reading permission
Step three is the one that matters: keep only "Enable Reading" on, and never allow trading or withdrawals. Permissions are enforced on Binance's side, and Budgie carries no order or withdrawal call to make — every request it signs goes to a read endpoint.
Fetch Accounts, then choose
The key and the secret go into the two fields below, masked as you type. Fetch Accounts asks Binance what you hold and hands you the list: tick the assets you want as accounts, and Start Sync takes it from there.
A key that can only read
Budgie asks for an API key and secret, and the setup screen tells you exactly how to create it: keep only "Enable Reading" switched on, never trading, never withdrawals. Every request is signed on your device with HMAC-SHA256 over the query string, and the app only ever calls read endpoints — there is no order or withdrawal code in it to call.
Your key and secret stay on your device. Nothing is proxied through a Budgie server, because there is no Budgie server: the app talks to Binance directly, the same way it talks to your bank.
What you get
Balances taken from Binance itself, covering Spot, Funding, and Flexible and Locked Simple Earn
One account per wallet and asset, each with its own balance, history, and place in net worth
Crypto and fiat deposits and withdrawals, P2P buy and sell orders, and Simple Earn rewards
Spot trades and Convert land as transfers between two of your asset accounts, not as fake income
A P2P purchase and the bank payment behind it merge into one cross-currency transfer
The first sync walks up to five years of history backwards in windows; later runs only ask for the days since the last one
Each source type is written to your database as it finishes, and Binance ids keep re-runs duplicate-free
Assets Budgie cannot price are listed under "valuation unavailable" at setup instead of vanishing
P2P without double-counting
Buying USDT with a bank card produces two records: money leaving your bank account and crypto arriving on Binance. Counted separately, that is one phantom expense and one phantom income in your statistics every single time.
Budgie matches the two legs automatically. It prefers the fiat figures Binance itself quotes on the order, accepting a bank amount within a small tolerance, and falls back to comparing the implied rate against the exchange rates on your device — triangulating through your base currency, so a hryvnia payment for USDT resolves without a direct currency pair. Both legs must sit within an hour of each other, and up to three bank payments can add up to a single P2P purchase. When two candidates are equally plausible, nothing is merged: an ambiguous guess is worse than a manual fix.
Frequently Asked Questions
Can Budgie trade or withdraw with my key?
Which balances are included?
How far back does the history go?
What if the app is closed mid-sync?
Do Binance holdings count towards net worth?
Related Features
Read More on the Blog
Ready to take Budgie for a spin?
Join the waitlist — be first to try the offline-first expense tracker.
