Skip to main content
Helpful?

UniswapX V2 Overview

UniswapX V2 improves price execution and minimizes quoter gaming by redesigning the flow of order quote information. The primary goal is to ensure RFQ quoters provide hard quotes to the user by requesting quotes after the user has signed their swap intent, enabling faster and more reliable executions.

V1 Overview​

In V1, the RFQ flow operates entirely pre-signature. Users request a swap quote, which is parameterized using an RFQ quote. If they accept the quote, they sign the order. This approach is straightforward but allows quoters in the network to be uncertain about when a quote request will convert into a signed order. This uncertainty grants swappers a first-look advantage, potentially enabling predatory quoter behavior.

image

V2 Overview​

V2 rearchitects the flow such that the time between a quoter submitting their quote and being required to fill the order is minimized. This enforces a near 100% fill rate and eliminates most predatory behaviors.

The quoting flow is divided into two phases:

  1. Indicative Quotes: Provided pre-signature when the swapper is exploring quotes but has not committed to trading. Quoters can participate here without being held fully accountable.
  2. Hard Quotes: Provided post-signature when the swapper has committed to trading. Quoters are held fully accountable for these quotes.

To prevent gaming, quoters cannot distinguish between indicative and hard quotes. As a result, they must always provide their best price, assuming all quotes are hard.

Key Features of V2​

  • Improved User Experience: Faster execution due to pre-signed hard quotes.
  • Anti-Gaming Mechanisms:
    • Quoters cannot distinguish between indicative and hard RFQs.
    • Requests include intentional noise, such as fake quotes and bidirectional requests, complicating attempts to game indicative quotes.
    • Quoters who fail to honor hard quotes face temporary suspensions or permanent bans for repeated violations.

This new structure reinforces UniswapX’s commitment to transparency, efficiency, and user-centric design, establishing a more secure and seamless trading experience.

V2 Flow​

image

  1. The user requests a quote from the interface.
  2. The Uniswap Backend (URA) runs an indicative RFQ auction, soliciting quotes for the best price. (Note: Quoters do not know whether the RFQ is indicative or hard, forcing them to always provide competitive prices.)
  3. The quotes from the RFQ process parameterize an initial quote order shown to the user.
  4. The user signs the order and submits it for execution.
  5. The Uniswap Backend (GPA) runs a second “hard” RFQ process, soliciting new quotes.
  6. Quoters return their best prices again.
    • If the price is within or improves on the user’s signed parameters, it is finalized and added to the order’s CosignerData.
    • If the price moves outside the signed parameters, the order fails, and the user must try again.
  7. The finalized order containing CosignerData is posted to the filler network for execution.
  8. The winning filler executes the order.

Why is a cosigner needed?​

In UniswapX V2, users commit to a range of prices when signing their order. Without safeguards, a malicious auctioneer could provide users the worst price within their range.

![null][image3]

The cosigner field allows users to designate an auctioneer they trust to run the auction fairly, ensuring the best executable price within the signed parameters. Currently, the trading API sets the cosigner to Uniswap Labs, though this could be updated in the future.

Smart Contracts

Helpful?