Ein Pool besteht aus Reserven zweier ERC-20-Token, und das Tauschverhältnis ergibt sich aus dem Zustand des Pools. Beim Tausch handelt der Nutzer gegen die Reserven des Pools; das Tauschverhältnis ergibt sich aus einer Formel mit konstantem Produkt, x * y = k. Größere Trades im Verhältnis zur Tiefe des Pools verschieben das Tauschverhältnis stärker.
Die zentrale Idee von Version 3 ist Concentrated Liquidity (auf frei gewählte Bereiche konzentrierte Liquidität): Liquidität, die innerhalb einer selbst gewählten Preisspanne bereitgestellt wird. Verlässt das Tauschverhältnis die Spanne einer Position, ist deren Liquidität nicht mehr aktiv. Version 4 führt Hooks (Erweiterung für einzelne Pools) ein: externe Smart Contracts, die an einzelne Pools gehängt werden können, um den Ablauf an bestimmten Stellen abzufangen und zu verändern. Anders als in früheren Versionen, in denen jeder Pool ein eigener Smart Contract war, verwaltet Version 4 alle Pools über genau einen Vertrag, den PoolManager.
Jeder Vorschlag muss ein Verfahren in drei Phasen durchlaufen. Zuerst wird der Vorschlag im Forum vorgestellt und es werden Rückmeldungen eingeholt, danach folgt eine Abstimmung außerhalb der Chain als Meinungsbild, und zuletzt eine verbindliche Abstimmung onchain, die Änderungen an Uniswap ausführt.