MetaMask Swap Failed? Fixes for Gas Errors & Stuck Transactions (2026)
TL;DR: Most MetaMask swaps fail for one of two reasons: slippage (the price moved more than your tolerance allowed while the trade was processing) or gas (you don't have enough of the chain's native token — ETH on Ethereum, BNB on BSC, and so on — to pay the network fee). The fastest fixes: raise slippage a couple of points and retry, or top up your native token. If a transaction is stuck "pending," use Speed Up or Cancel to replace it with a higher gas fee. None of this touches your funds' safety — it's just fee mechanics.
Affiliate disclosure: HashWatch may earn a commission via our MetaMask link, at no extra cost to you. It doesn't change our advice. Not financial advice — and with self-custody you're your own bank, so never share your seed phrase.
Why swaps and transactions fail (plain English)
A MetaMask swap isn't one action — it's a request that gets broadcast to a blockchain, picked up by validators, and executed against a live liquidity pool. Between the moment you hit "Confirm" and the moment it lands on-chain, a few seconds pass. In crypto, a lot can change in a few seconds.
Failures cluster into three buckets:
- Slippage — the price you were quoted drifted too far before the trade settled, so the network rejected it to protect you.
- Gas — you didn't have enough native token to pay the fee, or the fee you set was too low for the network to bother including your transaction.
- Liquidity / routing — the pool didn't have enough depth for your trade size, or the route the aggregator picked reverted mid-execution.
The good news: almost all of these are configuration problems, not lost money. Let's fix them.
Fix 1 — Gas and "insufficient funds for gas"
This is the single most common beginner stumble, and it's counterintuitive. You need the blockchain's native token to pay gas — even when you're moving or swapping a completely different token.
If you're on Ethereum, gas is paid in ETH. On BNB Smart Chain, it's BNB. On Polygon it's POL, on Solana SOL, and so on. Gas cannot be paid with the token you're swapping. So if your wallet holds, say, $500 of USDC on Ethereum but zero ETH, every action fails with "insufficient funds for gas" — because there's nothing to pay the validators with.
People see a balance, assume it's spendable, and get stuck. The wallet is telling the truth: you have tokens, but not the fee token.
How to fix it:
- Check which network you're on (top-left network selector in MetaMask).
- Buy or transfer a small amount of that chain's native token into your wallet — you rarely need much.
- Retry the swap.
One nuance worth knowing: MetaMask sometimes overestimates how much gas a transaction needs, so the error can appear even when you're marginally short. Topping up a little extra native token clears both the real shortfall and the estimation buffer.
Cheaper alternative — use a Layer 2. Gas on Ethereum mainnet can be painful. On L2 networks like Arbitrum, Optimism, and Base, the same swap often costs a fraction of a cent to a few cents, because those networks compress data and settle in batches. If "gas fee too high" is your problem, switching the same trade to an L2 (you still need that L2's native token for gas, usually ETH) is the biggest single lever you have. Just make sure your tokens actually exist on that L2 first — bridging is a separate step. You can set all of this up inside MetaMask without leaving the wallet.
Fix 2 — Slippage and price impact
Slippage is the difference between the price you were quoted and the price you actually get. MetaMask lets you set a slippage tolerance — a ceiling on how much variance you'll accept. If the price moves beyond it before the trade settles, the transaction fails on purpose, so you don't get a nasty surprise.
The default tolerance is usually a couple of percent. That's fine for deep, liquid pairs. But if you're trading a volatile or thinly traded token, the price can jump past that ceiling in the time it takes to confirm, and the swap reverts.
How to fix it:
- In the swap screen, tap the settings icon.
- Raise slippage tolerance a step at a time — try 3%, then higher only if needed. For values above the preset options, choose Custom and enter your own.
- Retry.
A warning, not just a fix: high slippage is a trade-off, not a free pass. Setting it very high tells the network "I'll accept almost any price," which is exactly what sandwich bots and MEV exploit. Raise it just enough to clear the volatility, not to 10%+ on a whim. If you need enormous slippage to get a trade through, that's usually a sign the pool is too shallow for your trade size — split the trade smaller instead.
Related: if a swap succeeded but you got fewer tokens than expected, that's slippage and price impact doing their job on a large order relative to pool depth — not a bug.
Fix 3 — Stuck or pending transaction (speed up or cancel)
A transaction shows "pending" when it's been broadcast but validators haven't included it yet — almost always because the gas price you offered is too low for current network demand. It can sit there for minutes or, in congested moments, much longer.
MetaMask gives you two tools, and both work the same underlying way: they reuse the same nonce (the sequential number that orders your account's transactions) and rebroadcast at a higher fee, so the network accepts the replacement instead of the original.
Speed Up:
- Open the pending transaction in MetaMask's Activity tab.
- Tap Speed Up.
- It creates a duplicate with the same nonce and a higher gas fee. Aim for a priority fee at least ~10% above the original — validators prioritize higher-paying transactions.
Cancel:
- Tap Cancel on the pending transaction.
- This submits a zero-value transaction using the same nonce, effectively voiding the original — again at a higher gas fee.
If the buttons are greyed out or missing, you can do it manually. Enable Settings > Advanced > Custom Nonce, then send a 0-value transaction to yourself, set the nonce to match the stuck transaction, and give it a higher gas fee.
The hard limit: you can only speed up or cancel while the transaction is still pending. Once it's confirmed on-chain, it's final — nothing can reverse, cancel, or re-price it. There is no undo button in crypto.
Fix 4 — It failed, but you still paid gas. Why?
This one stings, so it's worth understanding. When a swap fails or reverts, you often still pay the gas.
Here's the logic: validators have to run your transaction to discover that it fails — checking slippage, executing the routing, hitting the point where it reverts. That computation consumes real network resources, and you pay for computation regardless of the outcome. The failed transaction can still be included in a block; the state changes just don't go through.
To be clear about where the money goes: that gas is paid to network validators, not to MetaMask. MetaMask doesn't pocket gas on failed swaps.
The practical lesson: failures aren't free, so it's worth getting slippage and gas right before you confirm, rather than burning fees on repeated reverts.
Avoiding it next time
- Keep a native-token buffer. Always hold a little ETH (or the chain's native token) beyond what a trade needs. It's the cheapest insurance against "insufficient funds for gas."
- Match slippage to the asset. Low for stablecoins and blue-chips, a bit higher for volatile or small-cap tokens.
- Trade on an L2 when you can. Lower gas means cheaper retries if something does fail.
- Mind the fee. MetaMask's built-in swap carries a ~0.875% service fee, baked into the quote on top of the pool's own fee (often 0.05%–0.3%). On a $1,000 swap that's roughly $8.75 before gas. It's convenient, but for frequent or large trades, that markup adds up — compare against other routes.
- Don't panic-resubmit. Firing off duplicate transactions can leave several stuck behind one low-gas transaction that's blocking the nonce queue.
When it's the network, not you
Sometimes you did everything right and it still fails. During periods of extreme congestion or a token launch frenzy, gas prices spike and pools whipsaw so fast that even sensible slippage settings get blown through. In those moments, the fix isn't a setting — it's patience. Wait for activity to cool, then retry. Checking a live gas tracker for the network before you trade tells you whether you're fighting the whole chain or just your own configuration.
Safety reminder — this matters more than any fee: No legitimate MetaMask support, admin, or "help desk" will ever ask for your seed phrase (Secret Recovery Phrase), private key, or ask you to "validate" or "sync" your wallet on a website. Scammers swarm around frustrated users — they lurk in support channels, reply to your public posts, and slide into DMs pretending to help with exactly the errors in this article. Anyone asking for your seed phrase is trying to drain your wallet. Full stop. MetaMask is self-custody: whoever holds the seed phrase owns the funds, irreversibly. Type your recovery phrase nowhere but the official MetaMask wallet itself, and never share it with a human being.
FAQ
Why does MetaMask say "insufficient funds for gas" when I clearly have tokens? Because gas is only ever paid in the blockchain's native token — ETH on Ethereum, BNB on BSC, SOL on Solana, and so on. Holding USDC or any other token doesn't count. You need the native asset in the same wallet on the same network to cover the fee, even just to move another token.
Can I get my gas back after a failed swap? No. Gas pays validators for the computation needed to process (and discover the failure of) your transaction, so it's spent whether the swap succeeds or reverts. That fee goes to the network, not to MetaMask. The best defense is setting slippage and gas correctly before confirming to avoid repeat failures.
How do I unstick a transaction that's been pending for ages? Open it in your Activity tab and tap Speed Up (rebroadcasts at higher gas) or Cancel (voids it with a same-nonce zero-value transaction). Set the new fee at least ~10% above the original. This only works while it's still pending — once confirmed, it's permanent.
Is MetaMask's swap fee worth it? The built-in swap adds roughly 0.875% on top of pool fees, wrapped into the quote. For convenience and small trades, many people accept it. For frequent or large swaps, that markup is meaningful, and comparing routes or trading on a low-gas L2 can save more than the fee itself.
Current as of mid-2026. MetaMask's interface, fees, and gas mechanics change over time — always verify the latest details at metamask.io before acting. This is educational information, not financial advice. Self-custody means mistakes and scams are irreversible: protect your seed phrase and double-check every transaction before you confirm.