Trading
Swap, buy or sell any Monad token by saying what you want. PayAI quotes it live, shows you exactly what you'll receive, and your wallet signs. Nothing trades until you confirm.
Last updated 13 October 2026
What you can trade
MON, USDC and the other tokens in PayAI's verified list can be named by symbol. Any other token on Monad is traded by its contract address (CA): paste the address and PayAI reads the token's name, symbol and decimals from the contract itself. A symbol is only ever matched against the verified list, so a look-alike token can't be picked up by name.
How to ask
swap 100 USDC to MONbuy $20 of MON with USDCsell half my MON for USDCsell all my MON for USDC0x… then “buy $20 of it”| You say | What happens |
|---|---|
swap 100 USDC to MON | Spend exactly 100 USDC. |
buy $20 of MON with USDC | Spend $20 worth of USDC, priced live. |
sell half my MON for USDC | Spend 50% of your MON balance, keeping enough MON for gas. |
sell all my MON for USDC | Spend your whole balance, minus the gas reserve. |
0x… then “buy $20 of it” | Paste a token's address, then trade it. |
You can also chain a trade with a send — swap 10 MON to USDC and send it to alice.nad — and both steps are planned together and run in order. See Ask PayAI.
How a trade runs
- Quote. PayAI finds a route and shows the amount you spend, the amount you receive, the venue, the price impact and your slippage limit. Nothing is built yet.
- Confirm. When you confirm, PayAI quotes again from scratch. If the venue changed, or the amount you'd receive moved by more than your slippage limit, you're shown the new quote to confirm instead — a different trade is never executed silently.
- Sign. Your own wallet signs. A token that needs an approval first is approved for the exact amount of this trade only, never unlimited.
- Confirmed on-chain. What you received is read from the confirmed transaction and recorded in your history.
Venues
| Venue | Used for |
|---|---|
| Uniswap v3 | Verified pairs, and any token traded by address that has a Uniswap pool. |
| Kuru | Verified pairs where Kuru has a market. |
| Nad.Fun | Tokens on the Nad.Fun bonding curve, traded against MON. Trading such a token against USDC is done in two steps through MON. |
For verified pairs PayAI picks the better quote. Trades go through PayAI's trade executor (PayAITradeExecutor) where the venue is allowlisted there; otherwise they go straight to the venue. Nad.Fun trades always go straight to Nad.Fun. Addresses are on Contracts.
Price protection
- Slippage: 0.5% by default. You can name your own —
use 1% slippage— up to 50%. - Minimum received: the transaction carries a minimum output; if the price moves past your slippage limit before it lands, it reverts instead of filling worse.
- Price impact: a trade whose price impact is above 15% is flagged on the quote before you confirm.
- Balance: an amount your wallet can't cover is refused at the quote, and MON trades keep a small reserve for gas.
Fees
A trade that goes through PayAI's trade executor pays PayAI's 0.25% fee, added on top so the amount you set is traded in full. A trade that goes straight to a venue pays no PayAI fee. Either way you pay Monad gas, and the venue's own pool fee is already in the quote. See Fees.
Limits
- Trades are exact-input: you say what to spend. “Receive exactly 100 tokens” isn't supported yet.
- A token with no route on Uniswap, Kuru or Nad.Fun can't be traded.
- MON received from a swap can't be passed on to the next step of a plan yet; USDC can.
- Trades can't be scheduled or automated.