How to Swap USDC for MON on Monad Testnet

4 min read · Updated 2026-04-27

Convert USDC to native MON when you need MON for gas, are out of faucet allowance, or want native MON for a contract that requires it as msg.value.

The route

Path: USDC → WMON → MON.

USDC trades into WMON through the USDC/WMON pool, then the router unwraps that WMON to native MON by calling withdraw() on the WMON contract. You receive native MON, not WMON. Both steps happen in one transaction.

Step by step

Slippage and fees

USDC is a stablecoin, but the USDC/WMON pool itself is volatile because MON's price moves against USD. Price impact depends on pool depth and swap size.

All UniswapV2-style pools on PuddleSwap charge a 0.30% LP fee on the input side. PuddleSwap itself does not charge an app-level fee. Gas is paid in test MON.

About USDC

USD-pegged stablecoin issued for Monad Testnet. Stable rate, deep core-pair pools, claimable from the stable faucet. See the USDC token page for the full address, decimals, and live pools.

About MON

Monad's native gas token. Required for paying gas on Monad Testnet. Free from the official faucet. See the MON token page for the full address, decimals, and live pools.

Open PuddleSwap to swap USDC for MON now, or read about star routing for the full routing model.

FAQ

Why does my USDC need to approve the router first?
ERC-20 tokens require an explicit allowance before another contract can move them. The approval grants the router permission to pull USDC from your wallet. After approving once, future swaps of USDC skip this step until you revoke or change the allowance.
Will I receive native MON or wrapped WMON?
You receive native MON. The router calls withdraw() on the WMON contract at the end of the swap to unwrap the WMON back to native MON before sending it to your wallet.
Is it cheaper to use the faucet instead?
If you only need a small amount of MON for gas, the faucet is free. Swapping makes sense when you need more MON than the faucet drips, when the faucet is rate-limited, or when you want to convert an existing USDC balance.
What if the swap fails with a slippage error?
Reserves moved between quote and execution by more than your slippage tolerance allows. Raise the slippage to 2-3% and retry, or pick a smaller swap size.