Protocols Overview

Navigate the Uniswap protocol documentation, from the core AMM versions to supporting infrastructure contracts.

Protocols

Uniswap is a suite of onchain protocols. At its core are the automated market maker (AMM) contracts, the pool contracts that hold liquidity and execute swaps. Surrounding them are supporting protocols that handle routing, token approvals, resource locking, smart wallet delegation, and fee distribution.

This page helps you orient within the protocol documentation and find the right starting point for your integration.

AMM Protocols

The AMM is the heart of Uniswap. Each version introduced architectural changes that improved capital efficiency, composability, and gas costs. Uniswap v4 is the current and recommended version for new integrations.

Uniswap v4

v4 consolidates all pools into a single PoolManager contract and introduces hooks, external contracts that can customize pool behavior at every stage of its lifecycle (initialization, swaps, liquidity changes, fee logic). It uses flash accounting to defer token transfers until the end of a transaction, enabling significant gas savings for multi-step operations.

v4 is the most flexible and gas-efficient version of the protocol. If you are building a new integration, start here.

Other AMM Versions

Supporting Protocols

Beyond the AMM, Uniswap relies on a set of infrastructure contracts that handle routing, approvals, fee distribution, and more. These protocols are used across multiple AMM versions and are important for production integrations.

Universal Router

The Universal Router is an unowned, non-upgradeable contract that composes swaps across Uniswap v2, Uniswap v3, and Uniswap v4 in a single transaction. It uses a command-based encoding system and integrates with Permit2 for signature-controlled token approvals.

If you are executing swaps programmatically, the Universal Router is the recommended entry point.

Universal Router documentation

Permit2

Permit2 unifies signature-based token transfers and time-bound allowances into a single contract. It is used by the Universal Router, the PositionManager, and other Uniswap contracts to reduce repeated approval transactions and improve security.

Permit2 documentation

Protocol Fees

Fees from all Uniswap protocol versions flow through Fee Adapter contracts into a per-chain TokenJar. Releaser contracts define how collected fees are accessed, for example, the Firepit Releaser burns UNI in exchange for collected assets.

Protocol Fees documentation

The Compact

The Compact is an ownerless ERC-6909 contract that enables resource locks, tokens that are credibly committed for asynchronous conditions and claimed once those conditions are met. It supports single-chain and multichain flows and is used in cross-chain coordination.

The Compact documentation

Smart wallet (Calibur)

Uniswap smart wallet features are powered by Calibur, a non-upgradeable contract implementation for EIP-7702 delegation. Users delegate to the implementation while keeping their existing EOA address.

Smart Wallet documentation

Security

Uniswap Labs maintains an active bug bounty program on Cantina for eligible vulnerability disclosures.

Uniswap Bug Bounty Program