How to Swap Tokens on Monad Testnet
5 min read · Updated 2026-04-27
Swapping tokens on Monad Testnet is the same idea as swapping on Ethereum or any UniswapV2-style DEX. The wallet flow, fees, and approvals all carry over. This guide walks through a first swap on PuddleSwap end-to-end, from wallet setup through confirming the transaction.
Before you start
You need three things in place:
- An EVM wallet with Monad Testnet added. See How to Add Monad Testnet to MetaMask if you have not added it yet.
- A small balance of test MON to pay gas. See How to Get Test MON from the Faucet.
- Some balance of the input token you want to swap, if it is not MON. PuddleSwap supports MON, WMON, USDC, USDT, and any registered ERC-20 with a pool against a core token.
Step 1: Connect your wallet
Open PuddleSwap and click Connect Wallet. Select your wallet from the prompt. If your wallet is on a different chain, PuddleSwap will ask it to switch to Monad Testnet. Approve the switch in your wallet's popup.
Step 2: Pick the input and output tokens
The swap widget has two token slots: the token you are paying with on top, the token you are receiving on the bottom. Click either slot to open the token picker. The picker lists the core tokens (MON, WMON, USDC, USDT) plus any other token you have a balance of, plus any address you paste manually in Advanced mode.
Step 3: Enter an amount
Type the amount of input token you want to swap. The output amount updates automatically based on the best route the router can find. The Route row shows you which path was chosen: a direct swap if the pair exists, or a one-hop swap through USDC, USDT, or WMON if not.
Step 4: Check slippage
Slippage tolerance is the maximum percentage you will accept the output to drop by between quoting and execution. The default is 1%. For thin testnet pools, raise it to 2-3% if your swap is failing because reserves shifted. For deep pools, you can lower it for tighter execution.
Setting slippage too high lets MEV bots sandwich you. Setting it too low makes your transaction revert. The default is a reasonable balance for most testnet trades.
Step 5: Approve, then swap
If your input token is an ERC-20 (anything other than MON), the first transaction is an approval that lets the router pull tokens from your wallet. Sign the approval in your wallet. Once it confirms, the Swap button becomes active. Click it, sign the swap transaction, and wait one block for it to confirm. The output token appears in your wallet.
If you are swapping with MON as the input, no approval is needed. The router accepts native MON directly and wraps it to WMON inside the same transaction.
If your swap fails
- Reverted with slippage error: Reserves moved more than your slippage tolerance allows between quote and execution. Raise the slippage and retry.
- Out of gas: You ran out of test MON for gas. Top up from the faucet.
- Approval not yet confirmed: The Swap button stays disabled until the approval transaction confirms. Wait for the previous transaction, or check it in MonadVision.
- No route found: The token you are trying to swap does not have a pool against a core token. Either add liquidity yourself with Create Pool or pick a different token.
What to do next
Browse active pools to see what's tradeable. Read about star routing to understand how PuddleSwap picks the best path. Or create your own pool paired against a core token.
FAQ
- Why does my swap require an approval transaction first?
- ERC-20 tokens require an explicit allowance before another contract (the router) can move them. The approval grants that allowance once. After approving, future swaps of the same token skip this step until you revoke or change the allowance.
- What does slippage actually mean?
- Slippage is the difference between the quoted output and the actual output. It happens because pool reserves change between quote and execution. The slippage tolerance setting tells the router to revert the transaction if the actual output drops by more than that percentage.
- Why does the Route row show a different path than I expected?
- PuddleSwap evaluates every path through every available core token (USDC, USDT, WMON) and picks the one with the best output. The chosen path may not be the most direct one if a multi-hop path has deeper liquidity or better pricing.
- What should I do if a swap keeps failing?
- Check that your wallet is on chain ID 10143, that you have enough MON for gas, that your slippage is at least 1-2% for thin pools, and that your input token has a pool against a core token. If all four are correct, the pool may have very low liquidity; pick a different token or add liquidity first.