What is Star Routing?

3 min read · Updated 2026-04-22

Star routing is PuddleSwap's approach to swap routing on Monad Testnet. Instead of supporting arbitrary pools between arbitrary tokens, PuddleSwap designates a small set of core tokens as hubs: USDC, USDT, and WMON. Every liquidity pool must pair against at least one of them.

Why "star"?

If you draw it out, core tokens sit at the center of a star. Every other token connects only to the hubs, not to each other directly. Swapping between two non-core tokens routes through a hub: TOKEN_A → CORE → TOKEN_B. This is one hop through an intermediate, never more.

The tradeoff

Star routing trades flexibility for simplicity. On a mature mainnet DEX like Uniswap, arbitrary pools exist (WETH/PEPE, SHIB/USDC, etc.) and the router searches multi-hop paths for the best rate. PuddleSwap deliberately constrains that: liquidity is concentrated in the hubs, routing is deterministic, gas is predictable, and new tokens become tradeable as soon as they have a pool against any core token.

How PuddleSwap picks the best route

For a swap of token A to token B, the quote engine considers every path through every available core token and picks the one with the highest output:

The winning path is shown in the Route row of the swap widget, and you can expand the "Routing table" diagnostic to see quotes from every path: live, failed, or absent.

A worked example

Suppose you want to swap 100 USDC for TOKEN_X, where TOKEN_X has pools against both USDC and WMON.

The router considers:

For most pairs, the direct path wins because it costs half as much. If the direct pool is very thin and the WMON-routed pools are deep, the two-hop path can produce better output. The router compares all available paths by output and picks the best. The Route row in the swap widget shows the chosen path; the Routing table diagnostic lists the alternatives.

Slippage and the cost of multi-hop

Each hop in a route compounds slippage and fees. A 100-token swap routed through TOKEN_A → USDC → TOKEN_B is not the same as a hypothetical 100-token direct swap: each pool re-prices based on the new reserves left after the first hop, and the LP fee is taken twice.

For testnet pools with thin liquidity, the gap can be large. For pools with reasonable depth, it is usually small. Always check the slippage figure shown by the swap widget before confirming, and lower the slippage tolerance if you are swapping a sizeable fraction of any pool's reserves.

What this means for liquidity providers

If you create a pool, pair your token against a core token to make it reachable by every other token in the registry. Pools between two non-core tokens won't be routed to, even if they exist.

Try a swap on PuddleSwap and watch the route resolve in real time, or create a new pool paired with a core token.

FAQ

Why doesn't PuddleSwap support direct pools between any two tokens?
Direct pools fragment liquidity. With star routing, every pool pairs against a hub, so adding any new token instantly makes it tradeable against every other registered token without waiting for someone to seed every possible pair.
What if my token isn't paired with a core token?
PuddleSwap will not route to it. Pair your token against USDC, USDT, or WMON when you create the pool, and it becomes reachable from every other token in the registry.
Is multi-hop slippage worse than single-hop?
Yes, slightly. Each hop adds the pool's slippage and a 0.30% LP fee. For most testnet sizes the difference is small, and the router shows the best path it found.
Can a contract bypass PuddleSwap's router and call pools directly?
Yes. The pools are stock UniswapV2 pairs, callable by anyone. The router exists for convenience and best-route quoting; it does not gate access to the pools.