# Uniswap Trading API (slim)

> Uniswap Labs' Trading API quotes and builds swap, bridge and liquidity transactions across Uniswap v2, v3, v4 and UniswapX on 21 chains. The caller signs with its own wallet and broadcasts; the API is free behind an API key.

- Full: https://www.anchorterminal.com/tools/uniswap.md (~8,450 tokens) · this version ~2,380 tokens · JSON https://www.anchorterminal.com/tools/uniswap.json · canonical https://www.anchorterminal.com/tools/uniswap
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-04 · pricing https://www.anchorterminal.com/tools/uniswap#pricing · reviews https://www.anchorterminal.com/tools/uniswap#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**B · 63.3/100 · rank #446 of 1349 · #5 in Crypto exchanges · not agent-ready · confidence medium**


Assessment: The Trading API is free, documented by an OpenAPI file with stable error codes, holds no keys since the caller signs every swap, and posts sunset notices 30 days ahead. There is no official MCP server, status page or sandbox, the key is a plain header secret at 6 requests a second, and the API terms refused our reader.

## Facts

- Kind: HTTP API · vendor: Uniswap Labs · category: Crypto exchanges · legal entity: Uniswap Labs · provenance 74/100
- Packages: npm `@uniswap/v4-sdk`
- Auth: API key · pricing: Free · x402: no · licence: The Trading API is a proprietary hosted service under Uniswap Labs' API Terms of Use, which we couldn't read; the SDKs and the uniswap-ai skills are MIT. Swaps execute on the open-source Uniswap protocol contracts on chain
- Probe metrics: not measured yet (probes haven't run)
- Surface listed: The Trading API at trade-api.gateway.uniswap.org/v1 (and the LP API at liquidity.api.uniswap.org), read from developers.uniswap.org (Markdown twins), the OpenAPI file, the changelog notices, blog.uniswap.org, the uniswap-ai repository, npm and the MCP registry on 3 November 2026. No key was made and no request was sent
- MCP server: None found. Checked developers.uniswap.org (the Uniswap AI pages describe skills and plugins only), the Uniswap GitHub organisation and a shallow clone of Uniswap/uniswap-ai (no MCP server among its seven plugins; mcp appears only in hook-generator evaluation cases), and the official MCP registry, whose search returns io.github.junct-bot/uniswap-mcp 1.1.0 (hosted, 17 tools), io.github.Yummybait-fin/uniswap-tx-builder-mcp 0.4.3 and io.github.Elnaril/uniswap-universal-router-decoder 4.0.0, none of them Uniswap Labs'
- What runs on chain: Routing and transaction building are hosted. Execution is on chain, classic swaps through the Universal Router (2.1.2 recommended) against Uniswap v2, v3 and v4 pools, UniswapX orders filled by market makers through the reactor contracts, Permit2 approvals, and EIP-7702 and EIP-5792 batched variants. Liquidity positions are minted and changed through the LP endpoints' calldata
- Key permissions: One `x-api-key` per key, no scopes, no IP allow-list documented. The key only authorises quotes and calldata; funds move only when the caller signs. Key creation, rotation and revocation happen in the dashboard, which robots.txt disallows and was not read
- Rate limits: 6 requests a second per key by default, 429 when exceeded, increases by the help form. Error responses carry an `x-agent-info-status` header
- Testnet: No sandbox. Unichain Sepolia (1301), Base Sepolia (84532) and Ethereum Sepolia (11155111) are served through the production endpoints for classic swaps
- Countries: Unchecked. The API Terms of Use on support.uniswap.org answered 403 and the Uniswap Labs terms at app.uniswap.org draw by script. The `/permissions` endpoint checks token KYC permissions for permissioned pools
- Fees: The API charges nothing. Pool fees are set per pool on chain and gas is paid by the swapper on classic routes; UniswapX is gasless for the swapper. Integrators may add up to 4 fee recipients totalling at most 500 bips on exact-input swaps. Uniswap Labs says it never takes positive slippage
- Chains: Classic swaps on 21 chains (Mainnet, OP Mainnet, BNB, Unichain, Polygon, Monad, X Layer, zkSync, World Chain, Soneium, Tempo, MegaETH, Robinhood Chain, Arc, Base, Arbitrum, Celo, Avalanche, Ink, Linea, Zora); UniswapX v2 on Mainnet, Arbitrum and Base and v3 on ten chains; bridges by `swappable_tokens`
- WebSocket and FIX: None. REST only, with `GET /orders` and `GET /swaps` for status polling
- Terms on automated trading: Unchecked, the API terms were unreadable (a search snippet describes a ban on passing keys to third parties and on fraudulent or manipulative trading). The docs name bots among the API's best-fit users and document the `X-Agent-Info` header for agents
- Errors: JSON with `errorCode`, `detail` and `requestId`. 404 codes on `/quote` (QuoteAmountTooLowError, NoRouteFoundError, UnsupportedTokenError, UnsupportedChainError, UniswapXNotSupportedOnChainError, UpstreamTimeoutError, ResourceNotFound), 400 integrator-fee codes, 401 for a bad key, 422 when no balance-swap route can be built, 429 for the rate limit
- SDKs and skills: No official client for the API; the docs point AI builders at the OpenAPI file. TypeScript SDKs for the protocol (@uniswap/v4-sdk 2.4.4, MIT, trusted publishing, 153,782 weekly downloads) do client-side quoting. uniswap-ai (MIT, 236 stars, pushed 26 October 2026) holds plugins uniswap-trading, uniswap-trading-tools (dca-bot, index-bot, copy-trade), uniswap-hooks, uniswap-viem, uniswap-driver, uniswap-cca and uniswap-permissioned-pools
- Legal entity: Uniswap Labs, the copyright holder on uniswap-ai (Copyright (c) 2026 Uniswap Labs) and blog.uniswap.org. A search snippet of the unread API terms names Universal Navigation, Inc. as the provider; not confirmed first-hand

- Scores: Reliability 42, Performance pending, Schema & documentation 90, Agent ergonomics 72, Security & auth 63, Payments & pricing 40, Task success pending, Maintenance & community 88, Transparency & trust 55 · total over the 7 assessed categories
- Why: Reliability, Read with the hosted lines on the Trading API. · Schema & documentation, OpenAPI 3.0 file (Token Trading 1.0.0) for the Trading and LP APIs, about 33 paths with `x-internal` markers on the margin and 4337 operatio… · Agent ergonomics, An API, read for response sizing. · Security & auth, A single `x-api-key` header, no scopes, no IP allow-list; revocation and rotation happen in a dashboard robots.txt disallows, so unchecked… · Payments & pricing, No machine payment protocol on the API's endpoints; the `pay-with-any-token` skill lets an agent pay other services' 402 challenges by swapp… · Maintenance & community, Read as a closed hosted service. · Transparency & trust, The editorial half.
- Sources: 26, open questions: 7, both in the full twin
- Capabilities: exchange.spot-trading, exchange.market-data, market.crypto, wallet.onchain
- JSON: https://www.anchorterminal.com/api/v1/tools/uniswap.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/uniswap.svg` or a link to https://www.anchorterminal.com/tools/uniswap from a page on uniswap.org or one of its subdomains, or the README at the root of github.com/Uniswap/uniswap-ai, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.
- Support: security@uniswap.org; https://developers.uniswap.org/docs?form=help; https://support.uniswap.org/; more in the full twin

## Before you call it

1. Call `/check_approval` first, then `/quote`; if `permitData` is non-null sign it as EIP-712 and send `signature` and `permitData` together to `/swap` or `/order`, never one without the other
2. Route on the quote's `routing`: `CLASSIC`, `WRAP`, `UNWRAP` and `BRIDGE` go to `/swap`, `DUTCH_V2`, `DUTCH_V3` and `PRIORITY` to `/order`, `CHAINED` to `/plan`
3. Refresh any quote older than 30 seconds before broadcasting, and on 429 pause every request from the key before retrying
4. Retry unchanged only on `UpstreamTimeoutError`; `NoRouteFoundError` and `QuoteAmountTooLowError` need a different amount, token or `protocols` list
5. Send `X-Agent-Info` with `decision_origin: autonomous` and keep `x-api-key` server-side

## Connect

```bash
npx skills add Uniswap/uniswap-ai
```

```bash
curl -X POST https://trade-api.gateway.uniswap.org/v1/quote -H 'x-api-key: YOUR_UNISWAP_API_KEY' -H 'Content-Type: application/json' -d '{"tokenIn":"0x0000000000000000000000000000000000000000","tokenOut":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","tokenInChainId":1,"tokenOutChainId":1,"type":"EXACT_INPUT","amount":"1000000000000000000","swapper":"0xYourWallet"}'
```
Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/uniswap

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| Hyperliquid | D | 50 | exchange.spot-trading, exchange.market-data, market.crypto, wallet.onchain | https://www.anchorterminal.com/tools/hyperliquid.min.md |
| Gemini Exchange API | BB | 74.6 | exchange.market-data, exchange.spot-trading, market.crypto | https://www.anchorterminal.com/tools/gemini-exchange.min.md |
| Kraken API | BB | 71 | exchange.spot-trading, exchange.market-data, market.crypto | https://www.anchorterminal.com/tools/kraken.min.md |
| dYdX | B | 69.5 | exchange.market-data, market.crypto, wallet.onchain | https://www.anchorterminal.com/tools/dydx.min.md |
| OKX API | B | 64.3 | exchange.spot-trading, exchange.market-data, market.crypto | https://www.anchorterminal.com/tools/okx.min.md |


## Panel reviews (0, desk reviews from public material, no calls made)

