My last Arbitrum swap took two transactions, cost less than a dollar, and finished in under a minute. The part that nearly stopped it was not the swap itself. It was the approval transaction beforehand.
If you have swapped once or twice, you have probably seen this sequence already: connect a wallet, choose two tokens, click Swap, and then wonder why the wallet asks you to confirm something that does not appear to be a swap. That first request gives the exchange permission to spend a specific amount of the token you selected.
Here is the complete version using a simple example: exchanging 100 USDC for ETH on Arbitrum.
The approval is the first half
Start by putting the wallet on the Arbitrum network. Check this before doing anything else. A wallet holding USDC on Ethereum mainnet is not holding the same immediately usable balance on Arbitrum, even though the token name looks identical. Crypto enjoys making geography a software setting.
Open the arbitrum swap interface, connect the wallet, and select USDC as the token you are sending and ETH as the token you want to receive. Enter 100 USDC, then read the quoted amount rather than rushing to the button. The displayed output is an estimate; the final amount can move before the transaction is mined.
Click Approve when that is the first available action. Your wallet should show a token approval, not a request to send 100 USDC to an ordinary address. Check the spender shown in the wallet against the exchange contract or interface you intended to use. If the request asks for an unlimited allowance and you only plan to make one small trade, an exact allowance of 100 USDC is the tidier choice when the wallet offers it.
Confirm the approval and wait for it to complete. Do not click Swap while the approval is still pending. The interface may update quickly, but the network still has to record the permission. A refresh or a short wait is less expensive than submitting the wrong thing twice.
Then make the swap
Once the approval is confirmed, click Swap again. This time the wallet should show the actual swap: the token being spent, the token being received, the recipient contract, and the network fee. Compare those details with the screen you just used. The amount may have changed slightly because the market moved or the quote expired.
Before confirming, check three numbers:
- the minimum amount of ETH you will receive;
- the price impact, especially if the pool is not deep;
- the gas fee and the ETH balance left for future transactions.
The last one is easy to miss. Paying for a USDC-to-ETH swap with ETH does not mean the wallet can spend every last fraction of ETH on gas. Leave some behind. A wallet that receives the right asset but cannot make its next transaction is technically successful in the same way a locked front door is technically still a door.
Confirm the swap, then wait for the transaction status to show complete. If the balance does not appear immediately, refresh the wallet or add the received token manually using its verified contract address. Do not repeat the swap merely because the balance display is slow.
The useful rule is simple: first transaction grants spending permission; second transaction performs the trade. Read each wallet prompt as a separate action, keep a little ETH for gas, and the process becomes pleasantly uninteresting—which is exactly what you want from a swap.