Base

Swap troubleshooting

When swapping on a DEX with the Base app, here are some troubleshooting steps that may be helpful.

Swap simulator and why it says your transaction is likely to fail

Swap simulator is a Coinbase service that runs Hardhat. Hardhat replicates an on-chain transaction, but doesn't commit it to chain. This means it can tell us when a transaction is likely to fail without actually submitting it. We protect customers from failed transactions before they submit them. 

The simulation runs the transactions against a finalized blockchain state. Depending on the chain, this could be 5 blocks to 30 blocks away from tip. Typically simulation occurs approximately 60 seconds behind tip so it doesn't have to deal with reorgs. 

Simulator itself doesn’t check anything; it creates a fork environment (facilitated with Hardhat) that executes the transaction and outputs the result. We report running the transaction outcome and pass it back; be it an error or success.

Failed swap

A swap can fail because of a sudden shift in the exchange price between the cryptocurrencies you’re trying to swap. We recommend waiting at least 60 seconds before retrying the transaction. 

If you continue to encounter this error, please restart the Base app and make sure you’re running the most up-to-date version.

Swap showing up as pending

Network congestion and/or paid gas fees that are lower than the current network average may be the reason your swap is still in pending status.

Ethereum miners prioritize transactions with the highest paid gas fees. If your transaction has a lower paid gas fee, then your transaction confirmation on the blockchain gets pushed to the bottom of the queue.

As a result, your transaction may become stuck as more transactions with higher paid gas fees are added to the network pool.

USDT “transaction likely to fail” message 

If you receive a “transaction likely to fail” message in the Base app (or the legacy Coinbase Wallet app) when attempting to swap USDT, this may be caused by USDT’s non-standard contract logic.

To proceed with the swap:

  1. Open the Base app (or the legacy Coinbase Wallet app if applicable).

  2. If using the Base app, make sure you’re not in Base mode.

  3. Select the Settings icon.

  4. Select Token allowances, then USDT.

  5. Set the allowance to 0 to revoke the existing USDT approval.

  6. Re-approve the desired amount.

Why this happens

USDT has a unique approval rule. Unlike most tokens, USDT requires existing approvals to be reset to 0 before a new one can succeed. If a small amount was previously approved, you may see “transaction likely to fail.” 

For other tokens, the message may be caused by different issues, such as low gas, insufficient liquidity, or routing problems. If you experience this, try adjusting your slippage tolerance, checking liquidity, or retrying with a smaller trade.


Related articles: