Withdrew USDC or USDT to a wallet with no gas? How to move it
The withdrawal arrived, the balance shows, but the wallet cannot send it. Exchanges send only the token you withdraw, not the coin that pays the network fee.
What the wallet says
Depending on the wallet and its version, messages like these (after an exchange withdrawal):
Insufficient funds for gasNot enough SOLInsufficient energy
Why it happens
A fresh wallet holds exactly what you sent to it. If you withdrew USDC to Arbitrum or Base, it has USDC but 0 ETH there; on Polygon 0 POL; on Solana 0 SOL; on Tron 0 TRX. Each of these chains charges its fee in its own coin, so the stablecoins sit there until the wallet gets some of it.
How to fix it
- Check where the funds are and what is missing: the free wallet check at gasrescue.io/check shows every chain at once, without connecting the wallet.
- Withdraw a small amount of the gas coin from the exchange to the same address on the same chain.
- Or move the stablecoins without gas with gasrescue: send them on, or swap a few dollars into gas.
Step by step, by chain
- Send USDC on Base without ETH
- Send USDC or USDT on Arbitrum without ETH
- Send USDC or USDT on Polygon without POL
- Send USDC or USDT on Solana without SOL
- Send USDT on Tron without TRX
- Swap USDC or USDT for gas without gas
Common questions
I withdrew on the wrong network. Is the money lost?
If it arrived in your own wallet, no: it is on that network and can be moved from there once there is gas, or with gasrescue without gas. If it went to an address that is not yours, only the owner of that address can move it.
Can I send it straight back to the exchange?
Yes, if the exchange accepts deposits of that token on that network. Use the deposit address the exchange shows for exactly that network.
Before you start
Blockchain transfers are final, so check the recipient carefully. Only sign on gasrescue.io, never share your seed phrase, and start with a small amount. gasrescue is in early access and independent of every wallet and chain named here.