Hi, i have ETH and USDC on arbitrum, but in the same account. When I try to use the USDC in a web3 app like Uniswap, it asks for contract approval/spending limit. When I approve, it charges me gas but nothing happens. When i click on the web3 app again to deposit, it just asks to approve the contract again.
I’ve come across this problem on several web3 apps like uniswap and sushiswap. Can someone please advise how to fix this? I’m sure it’s a noob thing but I can’t work it out.
Hello @darkstone, welcome to the MetaMask community,
The approval amount has to be greater than or equal to the amount you would like to swap. Have you approved an amount at least equal to the amount you would like to swap?
If yes, please refresh the page. Sometimes, after approval you need to refresh the page before swapping.
For further information please refer to the following articles:
Yes I did approve the required amount but I subsequently tried it on my phone through the iOS app and it worked, so I suspect I might need to reinstall the browser extension?
Sometimes the issue may be related to the app with which you are interacting.
In case you are encountering the same issue on known Apps such as Uniswap, first, make sure that both the browser and MetaMask are the latest version. If you encounter the same issue again, then clear the browser cache. If the issue still exists, as the last resort, you may want to reintall your MetaMask wallet. Before doing so, make sure that you have backed up the secret recovery phrase.
In case after doing all these steps, the issue persist, please let us know.
What browser are you using? Is this the latest version of Google Chrome? Or anti-detect browser / any other browser on Chromium. If you are using a proxy or vpn, then after approving the website needs some time to update the user interface via API
One more idea I’m going to throw in with the other great ones provided above, if you have any other wallet extensions on the same browser, if may cause MetaMask to not function properly. Try to turn them off - this shows how: