interface
🦄 Open source interfaces for the Uniswap protocol
The production front-end code for Uniswap, a decentralized crypto token exchange, includes a web app, mobile wallet, and browser extension for trading Ethereum-based tokens without a centralized broker holding your funds.
This repository contains the front-end code for Uniswap, a protocol that lets people trade Ethereum-based tokens directly with each other, without going through a centralized exchange like a traditional stock broker or a crypto exchange that holds your funds. Instead of matching buyers and sellers in an order book, Uniswap uses pools of tokens governed by smart contracts on the Ethereum blockchain. The code here is the visible part users interact with in their browsers and on their phones.
The repository holds three separate applications: a web app at app.uniswap.org, a mobile wallet app for phones, and a browser extension wallet. All three are written in TypeScript and live in an apps folder alongside shared code packages that each application draws on. The project uses a tool called bun to install dependencies and run the apps locally.
Uniswap Labs develops the actual day-to-day code in a private repository, then publishes snapshots of production-ready code to this public one at the end of each development cycle. That means the public repo shows finished releases rather than work-in-progress commits. Releases are tagged automatically and visible in the Releases section on GitHub.
The protocol itself has gone through four versions, each with a published whitepaper linked in the README. The README here is brief and focused on setup and project structure rather than explaining how the underlying protocol works. Readers looking for a deeper explanation of how Uniswap calculates prices or manages liquidity should visit the official documentation at docs.uniswap.org.
Where it fits
- Fork the Uniswap web app to build a custom token-trading interface for your own Ethereum-based project
- Study how a real production decentralized exchange front end is structured across web, mobile, and extension apps
- Build a mobile crypto wallet app using the same Flutter-free TypeScript codebase that powers the official Uniswap mobile app