Quick intro

On the 17th of November, Uniswap executed 2 smart contracts that will impact their product. We have dedicated an entire stream to cover Permit 2.

The first news is 'Permit 2' revolutionizing the user experience with an integrated, cost-effective, and secure authorization-sharing process across multiple applications. The following 'Universal Router' is an amazing solution that unites ERC20 and NFT swapping into a single entity. With the help of Permit2, users can perform multiple token and non-fungible asset exchanges in one transaction while cutting down on gas charges - all at once!

Permit 2 and Universal Router with the desire to enhance Uniswap's products, economize on gas costs, streamline user transaction flows, and ensure security. As these smart contracts progressed in this endeavor, it became evident that other applications could greatly gain by embracing these contracts as well. Uniswap is devoted to constructing public infrastructure which propels crypto forward; thus why these contracts were created for developers' entire ecosystem involving exhaustive documentation, and SDKs alongside a two-week bug bounty program.


Permit 2 - Efficient, consistent, and secure approvals

Permit 2 is a revolutionary token approval contract that enables the secure sharing and management of tokens across different smart contracts. As we invite more projects to incorporate Permit 2, it will result in standardizing token permissions throughout all applications - ultimately providing an improved user experience with reduced transaction fees as well as strengthened security for all smart contracts.

People think that UX prioritization is secondary but we believe that Web3 needs the best UX for mass adoption throughout the world. Transaction costs and improved security may be beneficial as well but a better UX will create less hassle, fewer clicks, and a better experience for newbies or experienced crypto enthusiasts all over the globe. The token approval method laid out in EIP-20 had a few shortcomings: users needed to send an approval transaction for each application they wanted to use, adding extra steps that caused confusion and wasted time and gas.

It is also important to note that some applications require users to grant maximum allowance, which enables them access to a wallet’s entire token balance for an indefinite period of time. While Uniswap has not endured any hacks yet, infinite approvals could be taken advantage of by cybercriminals and result in stealing user tokens. Therefore, it is essential that you revoke active allowances as soon as possible.

The original permit, EIP-2612 was a major breakthrough in the field of token approvals. It enabled users to interact with application contracts without requiring prior approval by simply appending a signed permit message to their transaction. This made token approvals incredibly safe and granular, although only tokens launched after EIP-2612 have adopted this feature - thus not all newer tokens embrace it just yet.

Features of the new  Permit 2 UX

The innovation with Permit 2 is the mechanism Uniswap has introduced which is called 'Signature Based Approvals' which could make transactions be narrowed down to one click instead of multiple transfers for any ERC-20 Token. User Experience is also improved along with 5 new features, notably:

  • Permits for any token. Applications can streamline the transaction process by sending, in addition to the associated token data, an accompanying signature for any type of token—including those that don't even possess a native approval system. This is huge because now we can adopt permits in any token no matter its age.
  • Expiring approvals. Approvals can be time-restricted, which eliminates any security-related risk of leaving hanging authorizations on a wallet's entire token balance. Revoking authorizations do not necessarily require creating an additional transaction.
  • Signature-based transfers. This feature is efficient because, within a single signature, users can choose to bypass the process of setting their individual allowances and instead opt for releasing tokens to an authorized spender directly.
  • Batch approvals and transfers. Users can easily set approvals and execute multiple transfers in just a single transaction, which would really save gas and a better UX.
  • Batch revoking allowances. With one swift motion, eliminate allowances on an unlimited amount of tokens and spenders.

The updates that are coming in from big decentralized companies are the lessons obtained through different web3 experiences that have happened throughout the years of exposure.

Universal Router - Unified token and NFT swaps

Universal Router is a Uniswap-created router that joins token and NFT trades together in a secure, cost-efficient, and customizable manner that will help take user experience to new heights.

What's more, it is set to become the go-to swap router for all of Uniswap’s transactions with Permit2 integration into this innovative tool as well - allowing users everywhere to enjoy its benefits with ease today.

Swap routers are designed to seek out the most cost-effective prices and execute them with minimal gas costs. By inputting specific parameters such as swap route, maximum slippage, and swap recipient you can utilize these routers to perform swaps in a variety of venues including Uniswap pools and NFT marketplaces.


The inefficiencies involved with the current swap routers are:

  • Conventional swap routers can only facilitate either NFTs or ERC20 tokens. To complete a trade that involves both, you would need to perform multiple transactions - for example exchanging DAI for ETH and then swapping the ETH for an NFT.
  • As swap routers are responsible for managing user tokens, users must approve every token when initially used - making them expensive to update. This can be a particular issue for aggregator swap routers as contracts need to be redeployed each time they wish to add support for another protocol.

The Universal Router makes it possible for users to execute multiple token swaps on both V2 and V3, as well as purchase NFTs from various marketplaces - all in a single transaction. Imagine a swap that could use three different input tokens, split the route of swapping between the two versions (V2 & V3), perform an ETH-WETH wrap, and buy an NFT from OpenSea. The universality and ease provided by this router are quite unprecedented!

The Universal Router has been integrated into the Permit2 protocol, which enables users to approve a signature that is then sent right through to the router contracts. This eliminates the necessity of sending approval transactions each time you deploy new versions of the Universal Router; thus allowing features and updates in perpetuity without needing any further approvals from its clients. The Universal Router remains immutable - which would be open to new features and adjustments in the future.

Permit2 and Universal Router are comprehensive and open-source contract accessible on Ethereum, Optimism, Arbitrum, Polygon, and Celo that provides users with advanced smart contract development standards.

To ensure the utmost security of this technology Uniswap has also launched an awarding bug bounty program both for Permit 2 and Universal Router contracts. At present Permit2 exclusively supports ERC20 tokens; however, Uniswap Labs will soon be launching NFT enabled version to expand its capabilities in the near future.