About PuddleSwap

PuddleSwap is a static, no-backend DEX for Monad Testnet. It runs entirely in your browser and talks to the Monad RPC directly. There is no app server, no account, no KYC, and no analytics.

Why this exists

Monad Testnet needs a working DEX before mainnet so builders can test the parts of their dapp that depend on a live AMM: routing, slippage, LP token handling, MEV exposure, integrations with other contracts. PuddleSwap is one of those parts. It is a UniswapV2 fork deployed to Monad Testnet, deliberately constrained to star routing through three core tokens so the routing surface stays small and predictable.

If your dapp needs a DEX to test against on Monad Testnet, this is one. If it needs more than one, please use more than one.

Who built it

PuddleSwap is built and maintained by port. Source is on GitHub and contributions are welcome.

What is and is not collected

Nothing is collected. The frontend is a static React app served from Vercel. The wallet talks directly to the Monad Testnet RPC (testnet-rpc.monad.xyz by default) for chain reads and to your wallet for signed transactions. PuddleSwap does not run an indexer, does not store user data, does not set tracking cookies, and does not have a login or account system.

What you see in your network tab while using PuddleSwap:

That is the entire data path.

Unaudited software

PuddleSwap is unaudited. Testnet tokens have no real value, but the contract code is still real code. Inspect any pool or token you have not registered yourself before adding liquidity. The smart contracts are stock UniswapV2 fork code; the sources are verified on Monadscan, MonadVision, and Socialscan.

Contact

For bugs, feature requests, or questions, the fastest path is the GitHub issues page or DMs on X. PuddleSwap does not have a Discord, support email, or other contact surfaces.

Ready to use it? Open the swap, browse active pools, or start with How to Add Monad Testnet to MetaMask.