USDC Approved but Not Sent? How Token Approvals Work
If your wallet says “Approve USDC” succeeded, the app received permission to spend USDC from your wallet. The app may still need a separate transaction to use that permission. Check the transaction details to see whether any USDC actually moved.
What did I approve?
Say you’re swapping 25 USDC. The app can ask you to let its contract spend up to 25 USDC from your wallet. That limit is called an allowance, and the address receiving that permission is called the spender. Once the approval goes through, the app can use the allowance to complete the swap.
Check the token, spender, and amount in your wallet prompt. An unlimited allowance can let the same spender access USDC you receive later.
How do I tell if the USDC actually moved?
- Open your wallet’s activity and find the transaction hash. For Ethereum Mainnet, you can look up the hash on Etherscan.
- Check the token transfers on the transaction page. Look for USDC moving out of your address and compare the amount and destination with what you expected. For a swap, the USDC may go to a contract. Check the other token’s transfer back to your wallet too.
- If the receipt only shows an approval, look for a separate swap, deposit, or transfer in your wallet or app history. Open that transaction’s hash to check whether it’s pending, failed, or confirmed.
You can also check your current Ethereum USDC balance. Use the receipt to see what happened in a specific transaction.
Why did the approval cost ETH?
A standard on-chain approval changes the token’s records, so it costs gas. If the app sends the approval and the swap as two transactions, each can have its own fee. Use the gas estimate your wallet shows for each step in the Ethereum gas calculator.
Some apps ask you to sign a message instead of submitting an approval from your wallet. The signature itself costs no gas, and an app may be able to use it in a later transaction. Read the amount and permissions before signing.
What do I sign when I rescue USDC?
An approval gives a spender a limit it can draw from. Stranded Rescue asks for two signed transfer authorizations instead. Each names a specific recipient, an exact amount, and a time after which the signature expires. One covers the payout to the address you chose, and the other covers the service fee.
Compare both prompts with your quote before signing. Once the transfer is submitted, use its transaction hash to check whether Ethereum confirmed it. See the rescue signature walkthrough.
How do I remove an old approval?
Disconnecting your wallet ends its session with the app. The approval lives on Ethereum, so it can still be active afterward. To remove a standard allowance, revoke it on the same network and check that the update confirms. Revoking normally costs gas and affects what the spender can do going forward.