Community research ¡ Posted article

🧭 UX Suggestion: Make Trade Execution More Transparent Before Confirmation

Open original Discord thread

🧭 UX Suggestion: Make Trade Execution More Transparent Before Confirmation

While comparing Uniswap and CoW Swap for a research assignment, one UX difference stood out to me:

Users often see the final quote, but the execution model behind that quote can still feel like a black box.

Two swaps can look almost identical from the user’s perspective while being executed in very different ways.

🔎 What I found

Uniswap’s standard routing flow uses Uniroute to search across v2, v3 and v4 liquidity. It can use split and multi-hop routes and considers price, liquidity and network costs when selecting an execution path.

UniswapX adds another model on top of that: an auction-based system where third-party fillers compete to execute eligible orders.

CoW Protocol takes a different approach. It uses batch auctions and solver competition, can match compatible intents through Coincidence of Wants, and can access onchain liquidity when additional liquidity is needed.

So the simple “AMM vs solver” explanation is no longer enough.

From a user perspective, the more useful question is:

“How is my trade actually being executed?”

💡 Feature idea: Execution Summary

I think the trade confirmation screen could make this much easier to understand with a small expandable “Execution Summary.”

For example:

• Execution mode — pool routing / intent auction / batch auction • Liquidity source — direct pools / multiple routes / fillers / matched intents • MEV protection — what protection is being used for this trade • Network cost — paid by the user, filler, solver, or included in execution • Route explanation — one sentence explaining why this execution path was selected

The default view could stay simple, with the technical details hidden behind an expandable section.

🎯 Why I think this would help

I don’t think most users need to understand solver architecture or routing algorithms before making a swap.

But users who want to understand execution quality should be able to answer basic questions without leaving the interface:

→ Who is executing my trade? → Where is the liquidity coming from? → Am I exposed to public-mempool MEV? → Who is paying the network cost? → Why was this execution method chosen?

That would turn execution transparency into part of the UX instead of something users have to reconstruct from documentation after the trade.

⚖️ One important takeaway from the research

I originally framed the comparison as:

“Uniswap optimizes routing, while CoW optimizes solver competition.”

After looking more closely at UniswapX, I think that framing is too binary.

A more accurate distinction is:

Uniswap has a routing-first architecture with an additional intent/auction execution layer, while CoW makes intents, solver competition and batch auctions foundational to its execution model.

That overlap is actually why I think clearer execution information in the UI becomes more valuable.

Would an optional Execution Summary like this be useful, or would it add too much information to the confirmation flow?

Primary sources: • Uniswap Labs — How does routing work? • Uniswap Labs — What is UniswapX? • CoW Protocol — Official Documentation

Attached source files