Unable to Withdraw USDT, USDC, or Other Crypto After Converting from USD
Unable to Withdraw USDT, USDC, or Other Crypto After Converting from USD
Problem
Customers who have received USD funds (most commonly via the FTX distribution) and converted them to crypto (USDT, USDC, SOL, BTC, etc.) report being unable to withdraw. Symptoms include: spendable/withdrawable balance showing as $0 despite a visible wallet balance, "insufficient balance" errors, incorrect wallet password or encryptedPrv errors during withdrawal, the withdrawal wallet appearing greyed out or unselectable, and in some cases the full balance not being available on non-FTX enterprise wallets. These issues span ERC-20 tokens (USDT, USDC), SOL, BTC, and occasionally SUI-based tokens.
Diagnostics
- Check trade settlement status: Determine when the customer completed their USD-to-crypto trade. Settlement occurs once per business day (Monday–Friday), beginning at 12:00 PM EST / 9:00 AM PT. Any trade completed before 9:00 AM PT settles the same day; trades completed after 9:00 AM PT settle the next business day. Trades placed on weekends or US public holidays settle on the next business day. Settlement can take up to 4 hours after it begins. If the trade is unsettled, the spendable balance will be 0.
- Check spendable vs. confirmed balance: In the admin panel, inspect the wallet's
Balance,Confirmed, andSpendablefields. IfBalanceandConfirmedshow funds butSpendableis 0 or significantly lower, the funds may be unsettled or stuck on receive/forwarder addresses. - Check for wallet password / keychain errors: If the customer reports an error containing an ErrorID string or mentions
keychain does not have property encryptedPrv, the issue is an incorrect wallet password — not a balance problem. - Check user login audit logs: Use
bga user log -n 999for the customer's user to look foruserFailedLoginentries with{"failure":"bad password"}or recentuserPasswordResetevents, which indicate the customer may have reset their login password but not their wallet password. - Check if funds are stuck on forwarder/receive addresses (non-FTX enterprise wallets): For ETH-based wallets where balance is shown but not fully spendable, check whether token balances reside on forwarder addresses rather than the wallet's base address. Use
bga admin getNonZeroBalanceForwarderAddressesto identify addresses holding tokens. - Check wallet whitelist configuration: Confirm the customer has properly whitelisted a withdrawal address. Some customers cannot find the whitelist tab in the new UI and need to switch to the classic view.
- Check if the coin requires native gas for consolidation: For account-based chains like SUI, the receive address may lack the native coin (e.g., SUI) needed to consolidate tokens to the root address, resulting in a spendable balance of 0.
- Check KYC/organization status: In the admin panel, verify the organization's KYC status. If it shows
pending, withdrawals may be blocked. - Check wallet policy limits: Verify whether admin-created policy rules (e.g., velocity limits, address whitelists) are restricting the withdrawal amount.
Resolution
Scenario: withdraw-usdt-usdc-usd#trade-not-settled
Trigger: Customer converted USD to crypto (USDT, USDC, BTC, SOL, etc.) and the spendable balance shows 0 or the wallet is greyed out, but the trade was recent.
Signals: spendable balance 0, withdrawable balance 0, unsettled balance, cannot withdraw after trade, greyed out wallet, funds not available
Steps:
- Confirm when the customer's trade was executed. Check the trade/transfer history in the admin panel.
- Explain the settlement schedule to the customer: Settlement begins at 12:00 PM EST every weekday (excluding US public holidays) and typically takes around 4 hours to complete. Any order completed before 9:00 AM PT on a business day will settle the same day. Any order completed after 9:00 AM PT will settle the next business day. Trades placed on weekends or US public holidays settle on the next business day.
- Ask the customer to log out and log back in after the settlement window has passed, then retry the withdrawal.
- If the settlement window has clearly passed and funds are still not spendable, verify in the admin panel that the spendable balance has updated. If it has not, escalate to the engineering/settlement team.
Notes: This is the most common cause of withdrawal failures for FTX distribution recipients. The majority of tickets in this cluster resolved once settlement completed.
"Funds converted to crypto must fully settle before withdrawal. Settlement begins at 12:00 PM EST and typically takes around 4 hours to complete. Once settled, you can withdraw your funds on-chain. If you initiate a trade over the weekend or US public holidays, settlement will happen on the next business day." "Settlement occurs once a day, every Monday through Friday. Any order completed prior to 9am PT on those days will be settled the same day. Any order completed after 9am PT will be settled the next business day. Settlement does not begin until after 9am PT and may take several hours to complete."
Scenario: withdraw-usdt-usdc-usd#incorrect-wallet-password
Trigger: Customer receives an error during withdrawal containing an ErrorID string or a message indicating the wallet password is incorrect or that keychain does not have property encryptedPrv.
Signals: incorrect wallet password, encryptedPrv, keychain does not have property encryptedPrv, ErrorID, bad password, error code on withdraw
Steps:
- Inform the customer that the wallet password is different from their login password.
- Instruct the customer to switch to the classic UI:
- Click on the profile icon in the top right corner.
- Click on "Switch to classic view".
- Once in the classic view, navigate to: Trade > Wallet Details > Settings > Forgot Wallet Password.
- Have the customer reset their wallet password and retry the withdrawal using the new wallet password.
- If the customer recently reset their login password, advise them to completely log out, clear browser cache and history for all time, quit and restart the browser (or use an incognito window in Google Chrome), then log back in and retry.
Notes: Many FTX distribution customers set their login password and wallet password to different values without realizing it. The "Forgot Wallet Password" option is only accessible in the classic (old) UI. The encryptedPrv error is the same root cause as "incorrect wallet password."
"The error message indicates that the wallet password used during the withdrawal request is incorrect. Please try again and make sure to use the correct wallet password. If you happened to forgot the wallet password you may goto Trade > Wallet Details > Settings > Forgot Wallet Password" "The error message you received indicates that the wallet password you used during your withdrawal request was incorrect. To access the options you're looking for, you'll need to switch to the old user interface. Click on the profile icon in the top right corner of the screen. Click on 'Switch to classic view.'"
Scenario: withdraw-usdt-usdc-usd#funds-stuck-on-forwarder-addresses
Trigger: An enterprise/institutional wallet shows a total balance significantly higher than the spendable balance, and the wallet is not related to a recent trade settlement. Typically seen on ETH-based wallets with USDT or USDC tokens.
Signals: spendable less than balance, partial balance available, available to withdraw less than total, flush, forwarder, consolidate, USDT hot wallet
Steps:
- Identify the wallet and check if token balances are sitting on forwarder/receive addresses rather than the wallet's base address by running:
bga admin getNonZeroBalanceForwarderAddresses --baseAddress <BASE_ADDRESS> --tokenAddresses <TOKEN_CONTRACT_ADDRESS> --outputFile <OUTPUT> --errorFile <ERROR> --forwarderVersion 1(Also check--forwarderVersion 0.) - Flush (forward) tokens from the forwarder addresses to the base address:
bga admin forwardToken --wallet <WALLET_ID> --tokenAddress <TOKEN_CONTRACT_ADDRESS> --addresses <ADDRESS_LIST> - If the flush fails for specific addresses, attempt redeployment of the forwarder contract:
bga admin redeployAddress --addresses <ADDRESS_LIST>Then retry the flush. - After flushing, verify the wallet balance fields show
Spendableequal toBalanceandConfirmed. - Inform the customer that the full balance should now be available for withdrawal.
- If the issue recurs, escalate to the engineering team.
Notes: This scenario applies to non-FTX enterprise wallets (e.g., business custody clients). The flush operation is performed by BitGo support/engineering — customers cannot do this themselves. Also check whether admin-created wallet policies (e.g., velocity limits, coin address whitelists) are restricting the spendable amount.
"We have flushed the balance from your receive address to your wallet's base address and the available balance should be fixed now." "It looks like you have some stuck transactions that need flushing through."
Scenario: withdraw-usdt-usdc-usd#native-gas-needed-for-consolidation
Trigger: Customer deposited tokens (e.g., SUI:USDC) to a receive address on an account-based chain, but the spendable balance is 0 because the address lacks native coin for gas to consolidate.
Signals: SUI, USDC, spendable 0, consolidate, native coin, gas, account-based
Steps:
- Check the receive address on a block explorer to confirm it holds the tokens but lacks the native coin (e.g., SUI) for gas.
- Check the wallet's root/base address to confirm it is separate from where the tokens reside.
- Advise the customer to deposit a small amount of the native coin (e.g., 3 SUI) to the receive address that holds the tokens, to cover consolidation gas fees.
- Once the native coin is deposited, instruct the customer to consolidate tokens to the root address via the API:
https://developers.bitgo.com/api/v2.wallet.consolidateaccount.build - After consolidation, the spendable balance should update and the customer can proceed with withdrawal.
Notes: This primarily affects account-based chains (SUI, Algorand, etc.) where tokens received on sub-addresses must be consolidated to the base address before sending. The BitGo UI may not clearly indicate that gas is needed for consolidation.
"Thanks for depositing the 3 SUI, that resolved the issue. We will improve the wording in the User Interface to make it clearer for users."
Scenario: withdraw-usdt-usdc-usd#whitelist-and-ui-navigation
Trigger: Customer cannot find the whitelist option, cannot add a withdrawal address, or the withdrawal interface does not display expected options in the new UI.
Signals: whitelist, cannot add address, whitelisted address not showing, no whitelist tab, new UI, classic view
Steps:
- Instruct the customer to switch to the classic UI:
- Click on the profile icon in the top right corner.
- Click on "Switch to classic view".
- In the classic view, navigate to the wallet and use the Whitelist tab to add a withdrawal address.
- Alternatively, in the new UI, guide the customer: Click Trade → find Go Account below their name in the right corner → open the Whitelist tab to add and whitelist wallets.
- After whitelisting, the customer must initiate a withdrawal. BitGo requires selfie Liveness verification the first time they withdraw to a newly whitelisted address. If the automated liveness test fails, the customer can schedule a video call with the BitGo team — this option appears after initiating the transaction.
- Confirm the customer can now proceed with the withdrawal.
Notes: The whitelist and wallet password reset features are often only accessible in the classic (old) UI. The FAQ page at https://www.bitgo.com/ftx-faq contains additional guidance for FTX creditors. One customer self-resolved by accessing the trading wallet through the old UI and recommended the FAQ document these steps.
"Resolved - I would recommend the FAQ add the steps for gaining permission to access the trading wallet via the old UI" "Click on the Trade menu. On the next screen, you'll see Go Account located below your name, in the right corner. From within the Go Account tab, you'll find the Whitelist tab. Here, you'll have the option to add and whitelist wallets for your withdrawals."
Scenario: withdraw-usdt-usdc-usd#funds-not-yet-credited
Trigger: Customer's FTX distribution funds were announced but the account shows zero or funds are not yet usable because the credit date has not arrived.
Signals: funds not credited, not usable, May 30, funds available after, FTX distribution pending
Steps:
- Check the FTX distribution timeline. For one documented wave, funds were expected to be credited on May 30, 2025 and were not usable before that date.
- Confirm whether the customer's funds have been credited by checking the wallet balance in the admin panel.
- If the credit date has not yet passed, inform the customer that funds will become available on the stated date and are not usable before then.
- If the credit date has passed and funds are still not visible, escalate to the FTX distribution operations team via ftxcreditors@bitgo.com.
Notes: FTX distribution crediting dates vary by wave. Always verify the specific date communicated to the customer.
"We can confirm that the FTX claim funds have been settled into your account. However, please note that these funds are currently not usable and will become available after May 30th."
Related
- algorand-consolidation — Account-based coins requiring consolidation before withdrawal share the same spendable-balance-zero symptom.
- ftx-distribution-faq — General FTX distribution onboarding, trading, and withdrawal guidance at https://www.bitgo.com/ftx-faq.
- wallet-password-reset — Detailed steps for resetting wallet passwords via the classic UI when
encryptedPrverrors occur.