> Affiliate disclosure: This article includes affiliate links. If you sign up through them, we may earn a commission at no extra cost to you.
If you use OKX sub-accounts for bots, strategy separation, or cleaner risk control, the first thing that usually trips people up is not trading. It is money movement.
Can a sub-account withdraw directly?
Can it receive deposits? Can you move funds back from a sub-account to the main account? Why does one screen say transfer is possible while another reminds you withdrawals are restricted?Based on OKX’s public help-center documentation and currently available account interface guidance, the short answer is this:
- standard sub-accounts can trade and can receive funds
- external withdrawals are generally controlled at the main-account level
- internal transfers between main and sub-accounts are handled from the main account transfer flow
- you should treat sub-accounts as operational buckets, not as fully independent wallets
A lot of avoidable mistakes come from assuming a sub-account behaves like a second standalone exchange account. On OKX, it does not. It is better to think of it as a segregated trading compartment under a master account.
If you want an account structure for one discretionary strategy, one bot, and one higher-risk test setup, sub-accounts are excellent. If you expect each sub-account to manage deposits, withdrawals, and permissions exactly like a separate exchange login, you will hit friction fast.
If you do not already have an OKX account, you can use Sign up on OKX.
The one rule that explains almost everything
The most useful mental model is this:
The main account is the control layer. The sub-account is the execution layer.That single rule explains most of the permission logic:
- the main account creates the sub-account
- the main account controls internal fund movement
- the main account enables deposit access for standard sub-accounts
- the main account manages most of the security and permission boundaries
- the sub-account is mainly there to trade, hold isolated strategy balances, and optionally use its own API keys
Those are not the same action.
What a standard OKX sub-account can actually do
Based on OKX’s public sub-account help pages, a standard sub-account can generally be used for:
- spot trading
- margin or spot leverage, depending on setup
- contract trading
- receiving deposits if deposit access is enabled
- running separate strategies or bots
- using separate API keys for operational isolation
That is why OKX’s docs repeatedly frame sub-accounts as a way to:
- separate strategies
- manage different bots
- isolate risk
- organize funds more cleanly
For a broader explanation of account roles, see our main breakdown here: /article/okx-sub-account-vs-main-account-explained.
Withdrawals vs transfers: the difference that causes most confusion
This is the key distinction.
Internal transfer
An internal transfer means moving funds between your own OKX main account and your own OKX sub-account.
Example:
- move 500 USDT from main account to sub-account A
- move 0.02 BTC from sub-account B back to main account
External withdrawal
An external withdrawal means sending assets out of OKX to:
- a wallet address
- another exchange
- another user, depending on the transfer type and interface path
For standard sub-accounts, OKX’s public documentation is very clear on the practical point that matters most:
sub-accounts are not where you should expect direct withdrawal freedom to work like a full standalone exchange account.In practice, if you want assets out of a strategy bucket, the clean workflow is usually:
1. transfer assets from sub-account back to main account
2. perform the external withdrawal from the main account if neededThat is the operational pattern most traders should follow.
Can a sub-account receive deposits?
Yes, but with a catch.
According to OKX’s public help material, standard sub-accounts can receive crypto deposits only after the main account enables the deposit function for that specific sub-account.
That means the correct sequence is:
1. log in to the main account
2. go to the sub-account management page 3. enable deposit for the selected standard sub-account 4. switch into that sub-account 5. retrieve the deposit address from the deposit page 6. send funds to that addressThis matters because many users assume they can create a sub-account and immediately fund it from outside OKX. Sometimes that is the exact step that fails, not because the address is wrong, but because deposit access was never enabled from the main account first.
So if your real goal is simply to fund a bot account, ask yourself which route is cleaner:
- external deposit directly into the sub-account, or
- deposit to main account first, then internal transfer down to the sub-account
How to move funds from main account to sub-account
Based on OKX’s published transfer instructions, the basic workflow is straightforward.
Web flow
From the main account, go to the internal transfer page through the sub-account area or the assets page, then:
Like what you're reading? Try it yourself — this link supports ChartedTrader at no cost to you.
Sign up on OKX →1. choose the target sub-account
2. choose the asset 3. set the direction from main account to sub-account 4. enter the amount 5. confirm the transferApp flow
On the app, the path is similar:
1. open Assets
2. choose Transfer 3. select Main and sub-account 4. choose the sub-account 5. set the asset and amount 6. confirmThis is the cleanest way to fund a strategy account, bot account, or test account.
How to move funds from sub-account back to main account
This is where many users expect to act from inside the sub-account itself.
But OKX’s help material frames the transfer flow as being controlled from the main account transfer page, even when you are moving funds in the opposite direction.
The basic logic is:
1. log in to the main account
2. open the same main/sub-account transfer page 3. select the relevant sub-account 4. switch the transfer direction so the asset moves from sub-account to main account 5. choose the amount and confirmThat means if a trader says, “My sub-account cannot withdraw,” the practical answer is often:
You may not need a withdrawal at all. You may need an internal transfer back to the main account first.That small wording difference fixes a lot of account-ops mistakes.
What “withdrawal permission” usually means in practice
There are two separate permission conversations here.
1. Account-level movement rules
At the account level, OKX treats standard sub-accounts as restricted compared with the main account. That is why public help pages say standard sub-accounts are allowed for trading and deposits, but withdrawals are not allowed in the normal sense traders expect.
2. API permission scope
At the API level, OKX also supports permission scopes such as:
- Read
- Trade
- Withdraw
If your goal is strategy isolation, the safer default is usually:
- give bot sub-accounts Read + Trade only
- keep withdrawal authority away from normal bot keys
- use the main account as the controlled cash-management layer
- leaked keys
- wrong webhook destinations
- buggy automation
- strategy logic errors
The safest way to structure main and sub-account fund movement
If your priority is operational safety, this is the simplest default setup.
Use the main account for:
- custody decisions
- external deposits
- external withdrawals
- treasury management
- enabling sub-account deposit access
- creating and revoking API keys
Use each sub-account for:
- one strategy
- one bot stack
- one risk bucket
- one trader or one workflow
Move funds with this rule:
- money goes down to trade
- money comes back up before leaving OKX
For example:
| Use case | Better path |
|---|---|
| Fund a grid bot | Main account → sub-account internal transfer |
| Remove profits from a bot account | Sub-account → main account internal transfer |
| Send funds to a self-custody wallet | Sub-account → main account → external withdrawal |
| Test a new strategy with capped risk | Transfer only a fixed amount into one sub-account |
Common mistakes traders make
Mistake 1: treating sub-accounts like separate exchanges
They are separate for strategy isolation, not fully separate for treasury control.
Mistake 2: trying to solve a transfer problem with withdrawal permissions
If the goal is to move funds back to the main account, the right tool is usually an internal transfer, not a withdrawal workflow.
Mistake 3: enabling too much API authority
A bot that only needs to place and cancel orders does not need withdrawal access.
Mistake 4: depositing directly into a sub-account without enabling deposit first
If the deposit function is not enabled for that standard sub-account, the flow will feel broken even when the address logic is correct.
Mistake 5: mixing strategy funds across too many buckets
If every sub-account keeps sending funds in and out constantly, you lose the main benefit of the structure: clean isolation.
When should you use a sub-account at all?
A sub-account setup is most useful when you want one or more of these:
- separate capital for different strategies
- a dedicated bot account
- cleaner accounting for one workflow
- lower operational risk from API segregation
- reduced chance of one strategy interfering with another
But if you trade systematically, automate entries, or want clear risk boundaries, sub-accounts are one of the most practical OKX account-management tools available.
Should you withdraw directly from a sub-account?
For most users, the answer is simple:
No. Treat the main account as the withdrawal point.Even if you find edge-case settings, app prompts, or workflow variations that seem to blur this, the safest operating rule is still the same:
- use sub-accounts to trade
- use the main account to manage cash movement out of the platform
Best-practice checklist before moving funds
Before you move assets between main and sub-accounts, check these points:
- are you logged into the main account, not just the sub-account?
- are you doing an internal transfer or an external withdrawal?
- if depositing into a sub-account, has the main account enabled Deposit for that sub-account?
- does the target sub-account really need those funds, or can you keep treasury more centralized?
- do your API keys have only the minimum permissions needed?
- are you documenting which sub-account belongs to which strategy?
Final verdict
If you remember only one thing, remember this:
OKX sub-accounts are for strategy separation, not for bypassing main-account control over fund movement.The safe operating model in 2026 is:
- fund sub-accounts from the main account
- pull assets back to the main account when you want to consolidate
- use the main account for withdrawals out of OKX
- keep API permissions minimal
- use sub-accounts as isolated risk buckets, not as independent treasury hubs
If you want to build a cleaner multi-strategy setup, you can start here: Sign up on OKX.