interface Documentation

Open source interfaces for the Uniswap protocol

5,509 stars TypeScript TypeScript 1 file Β· ~1,222 tokens #blockchain#ethereum#uniswap
RAW Doc

1. Project Overview & Quickstart (Uniswap/interface)

Uniswap Labs: Front End Interfaces

This is the public repository for Uniswap Labs’ front-end interfaces, including the Web App, Wallet Mobile App, and Wallet Extension. Uniswap is a protocol for decentralized exchange of Ethereum-based assets.

Interfaces

Install & Apps

bash
git clone [email protected]:Uniswap/interface.git
bun install
bun web start

For instructions per application or package, see the README published for each application:

Contributing

For instructions on the best way to contribute, please review our Contributing guide!

Socials / Contact

Whitepapers

Production & Release Process

Uniswap Labs develops all front-end interfaces in a private repository.
At the end of each development cycle:

  1. We publish the latest production-ready code to this public repository.

  2. Releases are automatically tagged β€” view them in the Releases tab.

πŸ—‚ Directory Structure

Folder Contents
apps/ The home for each standalone application.
config/ Shared infrastructure packages and configurations.
packages/ Shared code packages covering UI, shared functionality, and shared utilities.

2. Official Technical Reference & Guides (Uniswap/docs)

Uniswap Developer Docs

Source content for the Uniswap developer documentation published at developers.uniswap.org.

All documentation lives in the content/ directory. Content changes (fixes, new pages, examples) belong there. The archive/ directory holds the previous version of this repository, kept for reference only.

Repository structure

text
β”œβ”€β”€ content/                            # developers.uniswap.org content
β”‚   β”œβ”€β”€ get-started/                    # Core concepts and quickstart
β”‚   β”œβ”€β”€ trading/                        # Trading integrations, Swapping API
β”‚   β”œβ”€β”€ liquidity/                      # UniswapX, Liquidity Launchpad, Provisioning API
β”‚   β”œβ”€β”€ protocols/                      # v2, v3, v4, Universal Router, Permit2,
β”‚   β”‚                                   #   smart wallet, The Compact, protocol fee
β”‚   β”œβ”€β”€ sdks/                           # SDK documentation (v2, v3, v4)
β”‚   β”œβ”€β”€ uniswap-ai/                     # Uniswap AI skills and plugins
β”‚   β”œβ”€β”€ unichain/                       # Unichain: getting started, guides, tooling
β”‚   β”œβ”€β”€ ecosystem/                      # Governance, subgraphs, builder support
β”‚   β”œβ”€β”€ community/                      # Community tooling and learning resources
β”‚   β”œβ”€β”€ changelog/                      # API and protocol change notifications
β”‚   β”œβ”€β”€ examples/                       # Example contracts and SDK snippets
β”‚   └── meta.json                       # Root navigation configuration
β”œβ”€β”€ archive/                            # Previous version of this repository (reference only)
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ DISCLAIMER.md
β”œβ”€β”€ LICENSE
└── README.md

Contributing

Contributions are welcome, and our team reviews every PR. Content changes go inside content/. See the contribution guidelines for how the process works and how to get started.

Content conventions

Each .mdx file starts with frontmatter:

yaml
---
title: "Page Title"
---

meta.json files control sidebar navigation per section:

json
{
  "title": "Section Title",
  "pages": ["page-slug", "another-page"]
}
  • Page slugs reference file names without the .mdx extension
  • Use ---Section Name--- entries for sidebar separators
  • Order in the array determines sidebar order

License

Content and code in this repository are licensed under the MIT license. See also the disclaimer.