Available vs Locked Balance: Why Usable Differs From Total
An exchange account shows at least two numbers: what it holds and what you can actually use. The difference is not rounding, a fee or a bug — it is a reservation. When an order rests on the book, the exchange sets aside the asset it would need to settle the fill, and that asset stops being spendable until the order fills, is cancelled, or is amended. Binance's spot API exposes the split as two fields called free and locked; OKX's v5 API exposes it as five, and the extra three are the interesting ones, because they separate cash, available, frozen and margin-frozen from each other.

Cover artwork: CoinSoso · AI-generated, not a photograph of a real venue, product or market capture.
Key takeaways
- Binance's spot account endpoint reports each asset as two strings, free and locked, and the two together are the account's holding.
- OKX's balance endpoint splits further — cashBal, availBal, frozenBal, ordFrozen and fixedBal — and marks ordFrozen as margin frozen for open orders in spot, futures and multi-currency margin modes.
- A resting buy order reserves the quote asset it would spend; a resting sell reserves the base asset it would deliver. Nothing is charged until the fill.
- 'Available' is scoped to a wallet, not to an account: funds in an Earn product, a futures wallet or a funding wallet are not spendable from the spot wallet until they are transferred.
- Cancelling an order releases its reservation in the same event that reports the balance change, which is why a cancelled order can appear to have done nothing at all.
Two numbers, one holding
Every exchange account shows a total and a usable figure, and the gap between them generates more support tickets than almost anything else. The gap has a small number of causes and they are all documented in the venue’s own API.
Binance’s spot account endpoint reports each asset as two fields: free and locked. Both are strings, both belong to the same asset, and their sum is the holding. There is no third field and no hidden adjustment — the exchange is telling you, in the response body, that part of the balance is reserved.
OKX’s v5 API uses a wider vocabulary, and reading it is the fastest way to understand what “reserved” can mean:
| Field | OKX’s description |
|---|---|
cashBal |
Cash balance |
availBal |
Available balance of currency |
frozenBal |
Frozen balance of currency |
ordFrozen |
Margin frozen for open orders (spot, futures, multi-currency margin) |
fixedBal |
Frozen balance for Dip Sniper and Peak Sniper |
Five fields, one asset. ordFrozen is the one that matters most often: it is the portion committed to orders that have not finished. The existence of a separate fixedBal is a reminder that a venue can invent reasons to reserve funds, and that a well-designed API names each one rather than collapsing them into “unavailable”.
What actually reserves the money
The mechanism is settlement, not suspicion.
A resting buy order promises to pay quote currency. The exchange reserves the maximum it might have to pay — price multiplied by quantity, plus any fee buffer — out of the quote asset’s free balance. That amount cannot be withdrawn, cannot back a second order, and cannot be converted. When the order fills, the reservation becomes a trade; when it is cancelled, the reservation is released.
A resting sell order promises to deliver base currency. The exchange reserves the base asset instead. This is why a grid bot’s ladder of sells can leave an account with a healthy total and almost no free base asset: every rung above the price is holding inventory it may have to hand over.
A partially filled order keeps the unfilled remainder reserved. This is the case most often mistaken for a bug: the order fills 30%, the balance does not visibly move much, and the free figure stays stubbornly low because the other 70% is still committed.
Nothing is charged until a fill. A reservation is not a fee, and a cancelled order costs nothing beyond whatever the venue charges for the order itself, which on most spot markets is nothing.
“Available” is scoped to a wallet
The second and larger source of confusion is that an account is not one balance. It is several wallets, and each has its own free and locked sides.
On Binance those wallets are separate products: spot, margin, futures, Earn, and the funding wallet that receives some deposits and processes some withdrawals. Funds held in an Earn product accrue there and are not spendable from the spot wallet until they are redeemed. Funds in a futures wallet back positions and are not part of the spot balance. The spot account endpoint reports the spot wallet only, which is exactly why a user who has just subscribed to an Earn product can see a total that looks unchanged and an available figure that has collapsed.
The fix is not a support ticket. It is a transfer between wallets, or a redemption before the transfer.
OKX makes the same point more explicitly by attaching account-mode qualifiers to individual fields. Its documentation marks several balance fields as applicable to spot mode, futures mode, multi-currency margin or portfolio margin, and equity fields that exist only in the derivatives modes. A holding can therefore produce different available figures depending on which mode the account is in — not because the money moved, but because the definition of available changed.
The reservations that are not orders
Two other things reduce an available balance, and separating them from order reservations is the practical skill.
Withdrawal holds. A withdrawal may sit in a pending state because of a setting rather than a network. Binance’s withdrawal settings page describes a whitelist limit that blocks transfers to newly added addresses for 24, 48 or 72 hours, and a second window that starts if the whitelist itself is changed. During that time the amount is committed to the withdrawal and is not free. The timers are laid out in Binance withdrawals: whitelists, network suspensions and the wait.
Venue holds. An identity review, a deposit under question or a risk review can restrict an asset in a way that no order explains. This is the case where cancelling orders does nothing, and the diagnostic is arithmetic: if the locked amount does not correspond to any open order, it is a hold, and the remedy is the venue’s review process rather than a cancel button.
A triage table
| What you see | Most likely cause | What resolves it |
|---|---|---|
| Locked equals an open order’s notional | Order reservation | Fill, or cancel the order |
| Locked is slightly larger than the notional | Fee buffer on the reservation | The same — it releases with the order |
| Free is low, locked is low, total is normal | Funds are in another wallet or product | Transfer or redeem |
| Locked with no open orders | Withdrawal pending, or a venue hold | Wait out the timer, or contact the venue |
| Free and locked both low, total lower | A fill, a fee, or a loss | Check the trade history |
The first three rows account for almost every case. The fourth is the one worth escalating, and the fifth is not a balance problem at all.
Why the numbers can lag
A balance change arrives at a client as an event, not as a poll. Binance’s user data stream describes outboundAccountPosition as being “sent any time an account balance has changed and contains the assets that were possibly changed” — the wording is careful, because the event tells you which assets to re-read rather than giving you the authoritative number.
That design has a visible consequence. After a cancel, the reservation is released when the cancellation is processed; a client that renders from the event alone may show the old split for a moment. The floor is the REST endpoint, which is why any tool that matters asks for the account again after acting rather than trusting the stream’s payload.
What to check before blaming the venue
- Sum free and locked. If the total is right, nothing has been lost.
- List the open orders and compare their notionals with the locked amount.
- Check the other wallets — Earn, futures, margin, funding.
- Check pending withdrawals and which timer is running.
- Check the order’s state, including partial fills, which keep the remainder reserved.
- Only then contact support, with the numbers from steps 1 to 3, because those are the questions you will be asked first.
The mechanics of what a resting order is and when it crosses the spread are in maker versus taker orders, and the difference between a pending withdrawal and an unconfirmed chain transfer is in crypto withdrawal holds versus confirmations.
Risk note. The field names and descriptions in this article were read from Binance’s spot API documentation and OKX’s API v5 documentation on 2026-10-31, and the withdrawal timers from Binance’s support pages of the same date. Field sets, account modes and hold policies change; the authoritative description of your own balance is the one returned by the endpoint at the time you ask, and a locked balance may in some circumstances reflect a review rather than an order.
Sources
How this was researched. Written from primary documentation and the exchange or protocol's own published material, with sources listed at the end of the article.
Primary sources for the factual claims on this page. A date appears only where a human has actually read the source; where it is missing, the check is still outstanding.
Frequently asked questions
Why does my balance drop when I place a limit order?
It usually has not dropped — it has been split. The quote asset needed to settle a resting buy is moved from the free side to the locked side. Both are part of the account's holding, and the split reverses if the order is cancelled. Binance's spot account endpoint reports exactly these two fields per asset.
What is the difference between locked and frozen?
They are different vendors' words for overlapping ideas. Binance uses free and locked. OKX uses frozenBal for the frozen balance of a currency and ordFrozen for the portion frozen by open orders, and applies the latter in spot, futures and multi-currency margin account modes. Neither term implies a compliance hold.
Can a locked balance be a compliance freeze?
It can be, but that is a different condition with a different remedy. An order reservation ends when the order ends. A hold placed by the venue — an identity review, a deposit under question — does not respond to cancelling orders, and the way to tell them apart is whether the locked amount equals an open order's notional.
Does cancelling an order return the funds instantly?
The reservation is released when the cancellation is processed, not when the button is pressed. Binance reports balance changes through an outboundAccountPosition event that is sent any time an account balance has changed and contains the assets that were possibly changed, so a client watching that stream sees the release as a balance update.
Why is my available balance lower in one account mode than another?
Because the fields mean slightly different things per mode. OKX marks several balance fields as applicable to specific account modes, and equity-related fields only exist in the derivatives modes. The same holding can therefore produce different available figures in spot mode and in multi-currency margin mode.
Is a locked balance still mine?
Yes. It is held in your account against your own order. The risk is not loss of ownership but loss of optionality: while it is reserved you cannot withdraw it, spend it elsewhere or use it for a different order, and if the market moves against the order you may fill at a price you no longer want.
Where to go next
Independent research. Each card shows the platform’s invite code, and its Create Account button is a referral link that may earn us a commission at no extra cost to you. Whether an account can be opened is decided by the platform at sign-up.
Binance

One of the largest global exchanges by traded volume, with a very broad product range.
20% Trading Fee Rebate
Use invite code con888 when signing up to enjoy trading fee benefits.
Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.
Do not install an APK from an unknown source, or one that has been modified or cannot be checked.
OKX

A large global exchange offering spot, derivatives and a self-custody wallet.
20% Trading Fee Rebate
Enter invite code con888 when signing up to check available trading fee benefits.
Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.
Do not install an APK from an unknown source, or one that has been modified or cannot be checked.