Reviewed guide | 2026-09-29
Mapping Who Actually Controls Each Balance in Your DeFi and Exchange Accounts
A practical method for telling apart balances you truly control from balances that sit behind an exchange account, a protocol contract or a shared role, with concrete checks you can run before moving anything.
Multiple exchanges | the reader's region | the reader's funding currency | fees, access and account safety
Most people hold crypto in several places at once and assume the word balance means the same thing everywhere. It rarely does. A spot balance on an exchange is a record inside that company's database. A balance shown in a DeFi dashboard may be a claim on a smart contract, a share of a pool, a debt you owe, or a reward that has not been paid out yet. A staked position may give you a receipt token that behaves differently from the asset it represents. If you cannot say which of these you genuinely control, you cannot plan a withdrawal, estimate a loss, or decide what to do when something breaks. This guide gives you a repeatable mapping routine: list every place you hold value, classify each balance by who can move it, then verify the classification against the official documentation instead of your memory of the interface. Do this once properly and you will spot the dangerous rows immediately, usually the ones where you assumed you were in control but the terms say otherwise.
Start With a Written Inventory, Not the Dashboard
Open a plain spreadsheet and create one row per place you hold value, not one row per coin. A single exchange account with a spot wallet, a funding wallet, an earn product and an open futures position is four rows, because each one has different control rules. For every row record the platform or protocol, the product name exactly as the interface labels it, the asset, and the date you last checked. Do not copy a number you have not confirmed; write the figure you see when you look, and note the timestamp, because balances move and a stale number creates false confidence.
Then add two columns that do the real work: who can move this balance without my approval, and what do I actually hold. For an exchange spot balance the answer to the first is the exchange, and what you hold is a claim recorded in their ledger. For a self-custody wallet the answer is you or whoever holds the key, and what you hold is direct control of the asset on chain. For a lending pool deposit you may hold a receipt token whose value depends on the pool contract, and the contract, not you, decides when withdrawals are possible.
Keep the inventory in one file and update it when you open or close a position. The point is not neatness. The point is that a written row forces you to answer a question you would otherwise skip, and the skipped question is exactly where people lose track of what they own.
If you hold positions on more than one exchange, repeat the same column structure for each so the rows can be compared side by side rather than remembered separately.
Classify Every Balance by Who Holds the Keys
Sort each row into one of four control types and write the type in the sheet. Type one is custodial: an exchange or similar service holds the keys and you hold an account. You can request a withdrawal, but the service decides whether and when it processes, and it can freeze, restrict or lose access to the underlying assets. Type two is self-custody: you hold the key material, so the asset moves only when you sign. The trade-off is that no support desk can reverse a mistake.
Type three is contract-mediated: your funds sit in a smart contract, and your ability to withdraw depends on the contract's rules, its liquidity, and any pause or upgrade permissions held by others. A pool deposit, a staked position represented by a receipt token, and a collateralised loan all fall here, and they behave very differently from a wallet balance even though the dashboard shows them in the same list. Type four is a claim on future value: unpaid rewards, pending withdrawals, vesting schedules, and anything described as pending. These are not balances you can spend, and they should never be counted as available.
Write the type next to each row and check it against the official help centre for that product rather than against the dashboard wording. Interfaces often use one word, such as balance, across all four types, which is precisely why the classification has to come from the documentation and from the actual mechanics, not from the label.
When a product does not clearly fit one type, mark it as uncertain and treat it as the riskier of the two possibilities until the official documentation resolves it.
Verify Custody Claims Against Official Documentation
For each custodial row, open the exchange's help centre and search for the specific product name, not the general topic. You are looking for three things: who is described as holding the assets, what conditions are attached to withdrawals, and whether the product has its own separate rules from the main account. Read the page that describes that product, and record the answer in your sheet in your own words, along with the date you read it.
For contract-mediated rows, the equivalent source is the protocol's own documentation, and the questions change. Ask whether withdrawals can be paused, who holds that permission, whether the contract can be upgraded, and whether your position can be liquidated or otherwise closed without your action. If the documentation does not answer these, that gap is itself the finding: a position whose exit conditions you cannot state is a position you do not fully control.
For futures and margin positions, control is different again. The position is not an asset you hold but an exposure the platform manages, and it can be closed by the platform under its own rules. The official futures documentation for the venue you use is the place to confirm how that works, and the help centre usually links to it. Record the specific conditions rather than a general impression that it is risky.
Do not rely on a support agent's summary in place of the written page. If an answer only exists in a chat message, note that fact, because you will not be able to re-check it later when it matters.
Re-Check Before You Rely on Any Balance
A classification is only useful if it is current. Before you make a decision that depends on a balance, whether that is planning a withdrawal, sizing a position, or judging how much you could lose, re-open the row and confirm three things: the balance still exists as you recorded it, the control type has not changed, and the official page still says what you noted. Products get restructured, wallets get merged, and terms get updated, and any of those can move a row from one control type to another without any obvious announcement.
Set a simple trigger list for when to re-verify rather than a fixed calendar. Re-check a row when you are about to move a meaningful amount, when the interface changes in a way you did not expect, when a product you use announces a change, or when a withdrawal takes longer than usual. Those are the moments when an outdated classification turns into a costly assumption.
Pay particular attention to rows you marked as pending or as a claim on future value. If a pending item has not resolved, do not silently promote it to an available balance in your own head. Leave it where it is and note the date, so you can see how long it has been outstanding.
Finally, keep the sheet honest. If you cannot explain a row without opening the app, you do not yet know who controls it, and that row deserves a fresh check before anything else.
Risk boundary: DeFi Protocols Hub
Digital assets are volatile and derivatives can amplify losses. This website has no login, wallet connection, deposit form or customer-support chat. A referral link only records attribution; it does not guarantee access, pricing, rewards, approval or investment results. Availability can differ by residence, legal entity and product, so no regional access is assumed from language or branding alone.
Scenario checkpoint
- Build one spreadsheet row per product, not per coin, with the exact product name as shown in the interface and the date you last checked it.
- Add columns for who can move the balance without your approval and what you actually hold, then fill both before moving on.
- Classify each row as custodial, self-custody, contract-mediated or a claim on future value, and mark unclear rows as uncertain.
- Confirm each classification against the product's own help-centre page or protocol documentation, and record the answer in your own words with the date.
- Re-verify any row before you rely on it, especially after interface changes, product announcements or unusually slow withdrawals.
- Leave pending and unpaid items out of your available balance until they actually resolve.
Digital assets are volatile and derivatives can amplify losses. This website has no login, wallet connection, deposit form or customer-support chat.