diff --git a/docs/contracts/uniswapx/02-v1-vs-v2.md b/docs/contracts/uniswapx/02-v1-vs-v2.md index b95db0497..f5f3480f8 100644 --- a/docs/contracts/uniswapx/02-v1-vs-v2.md +++ b/docs/contracts/uniswapx/02-v1-vs-v2.md @@ -5,40 +5,33 @@ sidebar_position: 2 --- # **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. +UniswapX V2 improves price execution and minimizes quoter gaming by redesigning the flow of order quote information. The primary goal is to make trading on UniswapX more efficient and more reliable. ## **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. +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 causes quoters in the network to be uncertain about when a quote request will convert into a signed order. This uncertainty leads to occasional unfilled orders and degraded performance.

- image + 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. +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 causes most orders to fill almost instantly. -The quoting flow is divided into two phases: +Two achieve this, 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 +Since hard quotes are provided post-signature, they are instantly executable by fillers removing the risk of market movements causing the order to fail. -* **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. +To prevent gaming, quoters cannot distinguish between indicative and hard quotes. As a result, they must always assume all quotes are hard and provide competitive prices. ## V2 Flow

- image + image

1. The user requests a quote from the interface. @@ -55,10 +48,15 @@ This new structure reinforces UniswapX’s commitment to transparency, efficienc ## 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. - +

+ image +

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. +# Current Status +UniswapX V2 is currently the default version of the protocol running on Mainnet across Uniswap's interfaces. + # Smart Contracts * [V2DutchOrderReactor](https://github.com/Uniswap/UniswapX/blob/main/src/reactors/V2DutchOrderReactor.sol) diff --git a/docs/contracts/uniswapx/images/cosigner.png b/docs/contracts/uniswapx/images/cosigner.png new file mode 100644 index 000000000..248172828 Binary files /dev/null and b/docs/contracts/uniswapx/images/cosigner.png differ diff --git a/docs/contracts/uniswapx/images/v1-flow.png b/docs/contracts/uniswapx/images/v1-flow.png new file mode 100644 index 000000000..c147998ef Binary files /dev/null and b/docs/contracts/uniswapx/images/v1-flow.png differ diff --git a/docs/contracts/uniswapx/images/v2-flow.png b/docs/contracts/uniswapx/images/v2-flow.png new file mode 100644 index 000000000..6a8a91899 Binary files /dev/null and b/docs/contracts/uniswapx/images/v2-flow.png differ