explaingit

uniswap/interface

5,506TypeScriptAudience · developerComplexity · 4/5Setup · hard

TLDR

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.

Mindmap

mindmap
  root((repo))
    What it does
      Decentralized trading
      Token swap UI
      No custodial broker
    Apps
      Web app
      Mobile wallet
      Browser extension
    Tech Stack
      TypeScript
      Bun
      Ethereum
    Structure
      Monorepo layout
      Shared packages
      Tagged releases
    Audience
      DeFi developers
      Protocol researchers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Fork the Uniswap web app to build a custom token-trading interface for your own Ethereum-based project

USE CASE 2

Study how a real production decentralized exchange front end is structured across web, mobile, and extension apps

USE CASE 3

Build a mobile crypto wallet app using the same Flutter-free TypeScript codebase that powers the official Uniswap mobile app

Tech stack

TypeScriptReactBunEthereumWeb3

Getting it running

Difficulty · hard Time to first run · 1h+

Requires bun and familiarity with Ethereum wallet concepts, day-to-day development happens in a private upstream repo so public commits are periodic snapshots.

In plain English

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.

Copy-paste prompts

Prompt 1
I want to run the Uniswap web app locally to explore how it works. Walk me through the setup steps using bun from a fresh clone.
Prompt 2
How is the Uniswap interface monorepo structured? Explain what is in the apps folder and which packages are shared between the web, mobile, and browser extension apps.
Prompt 3
Show me how to fork the Uniswap interface and add a custom token to the default token list so it appears in the swap UI.
Prompt 4
Where does the Uniswap web app connect to the Ethereum blockchain, and how do I point it at a local or test network instead of mainnet?
Open on GitHub → Explain another repo

← uniswap on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.