Selling a token on Uniswap means swapping it for ETH, a stablecoin, or another token through the Uniswap web app. The process takes about two minutes once your wallet is connected, but the first time you sell a particular token, you’ll need to complete an extra approval step. Here’s how the full process works, including the costs and settings you should know about before you hit “Swap.”
What You Need Before You Start
You need a self-custody wallet (MetaMask, Coinbase Wallet, Rainbow, or any WalletConnect-compatible wallet) that holds the token you want to sell. You also need a small amount of ETH in that same wallet to pay gas fees, which are the network transaction costs charged by the blockchain, not by Uniswap. If you’re selling a token on a Layer 2 network like Arbitrum, Base, or Optimism, you’ll need ETH on that specific network instead.
How to Execute a Swap
Go to the Uniswap web app and connect your wallet using the button in the top right corner. Once connected, you’ll see two token fields: one for the token you’re selling and one for the token you’re receiving.
Click the top token dropdown and search for the token you want to sell. You can browse the list or paste the token’s contract address directly. Then click the bottom dropdown and select what you want to receive, typically ETH or a stablecoin like USDC.
Enter the amount you want to sell, or click “Max” to sell your entire balance. The interface will show you the estimated amount you’ll receive. Click “Swap,” then review the details on the confirmation screen, including the exchange rate and minimum amount you’ll receive. If everything looks right, click “Confirm Swap.”
Your wallet will then prompt you to confirm the transaction. If the token requires an approval step (more on that below), you’ll handle that first. After you confirm, the swap processes on-chain and the received tokens appear in your wallet, usually within seconds to a couple of minutes depending on network traffic.
Token Approvals and Permit2
The first time you sell a particular token through Uniswap, you’ll need to approve it. This is a security feature built into how tokens work on Ethereum: you’re granting permission for the Uniswap protocol to move that specific token from your wallet.
Uniswap uses a system called Permit2, which simplifies this process. It works in two steps. First, you complete a one-time on-chain approval for that token, which costs a small gas fee. This approval covers all future swaps of that token across any app that uses Permit2. Second, each time you swap, you sign a message in your wallet giving permission for that specific trade. This signature costs nothing.
The practical upside is that after the initial approval, future sells of the same token only require a gas-free signature plus the swap transaction itself. If you’ve already swapped a token before, you won’t see the approval step again.
Adjusting Slippage Tolerance
Slippage is the price change that happens between the moment you submit your swap and the moment it confirms on-chain. If the price moves too far, your trade could execute at a worse rate than expected, or it could fail entirely.
Uniswap lets you set a slippage tolerance, which is the maximum price difference you’re willing to accept. You can find this in the settings gear icon near the swap interface. For large trades in deep liquidity pools (like swapping USDC for ETH), a tolerance as low as 0.05% is usually fine. For smaller or newer tokens with thin liquidity, you may need 1% or higher to ensure the trade goes through.
Setting slippage too low means your transaction is more likely to fail if the price shifts even slightly. Setting it too high means you could lose more value than necessary on the trade. Start with the default and only increase it if your transactions keep reverting.
Gas Fees by Network
Every swap requires a gas fee paid to the network’s validators. On Ethereum mainnet, gas costs fluctuate with congestion. During busy periods, a single swap can cost $20 to $50 in gas. During quieter times, it may drop to a few dollars.
If you’re selling a token that exists on a Layer 2 network like Arbitrum, Optimism, or Base, gas fees drop to pennies. This makes Layer 2s especially practical for smaller trades where mainnet gas would eat into your proceeds. You can switch networks in the Uniswap interface or in your wallet, but the token you’re selling must exist on that network already.
Verifying Tokens Before You Sell
Not every token that appears in your wallet is legitimate. Scam tokens sometimes show up uninvited, and some are designed as “honeypots” that let you buy but block you from selling. Before interacting with an unfamiliar token, verify its contract address.
The safest approach is to look up the token on a block explorer like Etherscan or on a listing site like CoinGecko or CoinMarketCap. These sites display the official contract address for each token. Compare that address to the one in your wallet. In MetaMask, you can check a token’s contract by clicking the token, then the three-dot menu, and selecting “View asset in explorer.”
When searching for a token in the Uniswap interface, pasting the verified contract address is always safer than searching by name alone. Multiple tokens can share the same name, and only one will be the real one. If a token doesn’t appear in Uniswap’s default list and you can’t find its contract address on any reputable listing site, treat it with caution.
When a Swap Fails
Swaps can fail for a few common reasons. Insufficient ETH for gas is the most straightforward: your wallet needs enough ETH to cover the transaction fee even if you’re selling a different token. Slippage tolerance set too low is another frequent cause, especially with volatile or low-liquidity tokens. In both cases, the swap reverts, but you still pay a small gas fee for the failed attempt.
If you’re trying to sell a token and the transaction keeps failing even with higher slippage, the token’s smart contract may have restrictions built in, such as sell taxes, cooldown periods, or outright sell blocks. Check the token’s community channels or look up the contract on Etherscan to see if other wallets have successfully sold recently. If nobody else can sell either, you’re likely dealing with a scam token.

