{
  "data": {
    "similar": [
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/hyperliquid.json",
        "name": "Hyperliquid",
        "score": 50,
        "shared": [
          "exchange.spot-trading",
          "exchange.market-data",
          "market.crypto",
          "wallet.onchain"
        ],
        "slug": "hyperliquid"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/gemini-exchange.json",
        "name": "Gemini Exchange API",
        "score": 74.6,
        "shared": [
          "exchange.market-data",
          "exchange.spot-trading",
          "market.crypto"
        ],
        "slug": "gemini-exchange"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/kraken.json",
        "name": "Kraken API",
        "score": 71,
        "shared": [
          "exchange.spot-trading",
          "exchange.market-data",
          "market.crypto"
        ],
        "slug": "kraken"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/dydx.json",
        "name": "dYdX",
        "score": 69.5,
        "shared": [
          "exchange.market-data",
          "market.crypto",
          "wallet.onchain"
        ],
        "slug": "dydx"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/okx.json",
        "name": "OKX API",
        "score": 64.3,
        "shared": [
          "exchange.spot-trading",
          "exchange.market-data",
          "market.crypto"
        ],
        "slug": "okx"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/binance.json",
        "name": "Binance API",
        "score": 63.2,
        "shared": [
          "exchange.spot-trading",
          "exchange.market-data",
          "market.crypto"
        ],
        "slug": "binance"
      }
    ],
    "tool": {
      "slug": "uniswap",
      "name": "Uniswap Trading API",
      "vendor": "Uniswap Labs",
      "vendorUrl": "https://developers.uniswap.org",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/uniswap",
      "markdownUrl": "https://www.anchorterminal.com/tools/uniswap.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/uniswap.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/uniswap.json",
      "dns": "uniswap.grade.anchorterminal.com",
      "repo": "https://github.com/Uniswap/uniswap-ai",
      "license": "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",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@uniswap/v4-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "An API key from the Uniswap Developer Platform dashboard, sent as `x-api-key` on every request; the docs say to keep it server-side. The API never holds funds or keys. `/quote` returns `permitData` the user signs as EIP-712 typed data, `/swap` returns calldata the caller signs and broadcasts, and `/order` takes a signed UniswapX order. An optional `X-Agent-Info` header with `decision_origin` of `autonomous` or `human_mediated` attributes agent traffic (https://developers.uniswap.org/docs/trading/swapping-api/start-building/integration-guide, checked 2026-11-03).",
      "pricing": "free",
      "pricingNotes": "The API is free, with no subscription or per-call charge, per the FAQ and the Developer Platform post of 16 April 2026. Swaps pay the pool fee and gas on chain; UniswapX orders are gasless for the swapper. Integrators may add up to 4 fee entries totalling at most 500 bips. Each key is limited to 6 requests a second (https://developers.uniswap.org/docs/trading/swapping-api/faqs, checked 2026-11-03).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the API's endpoints (checked 2026-11-03). The uniswap-ai repository's `pay-with-any-token` skill helps an agent pay HTTP 402 challenges (MPP or x402) by swapping tokens through Uniswap, which is a buyer-side skill, not a paid endpoint.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 236,
        "npmWeekly": 153782,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://developers.uniswap.org/docs/trading/overview",
      "llmsTxt": "https://developers.uniswap.org/llms.txt",
      "openapi": "https://trade-api.gateway.uniswap.org/v1/api.json",
      "capabilities": [
        "exchange.spot-trading",
        "exchange.market-data",
        "market.crypto",
        "wallet.onchain"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "openapi",
        "llms-txt",
        "api-key",
        "free",
        "no-card",
        "typescript",
        "agent-skills",
        "no-status-page",
        "security-txt",
        "rest"
      ],
      "lastRelease": "2026-10-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.3,
        "grade": "B",
        "agentReady": false,
        "rank": 446,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 88,
          "payments": 40,
          "reliability": 42,
          "schema": 90,
          "security": 63,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 42,
            "points": 8.4,
            "reason": "Read with the hosted lines on the Trading API. status.uniswap.org redirects to the swap app and the docs link no status page (0). No readable history (5). Rate limit documented as 6 requests a second per key (15). The errors page says to pause all requests from the key on 429, retry 500 and 503 with backoff and refresh quotes after 30 seconds; swaps are signed transactions, so idempotency rests on the chain nonce (12 of 15). No SLA (0). The API is generally available; Guidestar routing is a beta notice (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.",
            "checked": "2026-11-03"
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 90,
            "points": 14.63,
            "reason": "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 operations (25). llms.txt, llms-full.txt and a Markdown twin of every docs page (10). Operation summaries are one line, but the guides say which routing types go to `/swap`, `/order` and `/plan`, when UniswapX quotes are returned and when a 404 means change the request (14 of 20). Enums for routing types, urgency and position statuses, required fields and bounded integers such as `limit` 1 to 20 (12 of 15). Examples on every guide page and error schemas for 400, 401, 404 and 429 with a stable `errorCode` enum and per-code retry advice (14 of 15). A /v1 path, a changelog with posted and effective dates and a 30-day minimum sunset policy (15). Total 90.",
            "checked": "2026-11-03"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 72,
            "points": 11.7,
            "reason": "An API, read for response sizing. Quotes and calldata are compact and `/tokens` takes a limit; the quote can carry the swap calldata to save a call (20 of 25). `GET /orders` and `GET /swaps` poll status by id, `/swappable_tokens` and `/tokens` filter by chain and sort, with little pagination elsewhere (12 of 20). Stable `errorCode` values with a `detail` string and a `requestId`, and the docs say which codes to retry (18 of 20). No idempotency key; a swap is a signed transaction whose nonce prevents a double spend, and the docs warn about nonce collisions with pending transactions (12 of 20). Few required fields on `/quote`, defaults for slippage and urgency, but no official client library for the API and signing needs ethers.js, viem or web3.js (10 of 15). Total 72.",
            "checked": "2026-11-03"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 63,
            "points": 11.03,
            "reason": "A single `x-api-key` header, no scopes, no IP allow-list; revocation and rotation happen in a dashboard robots.txt disallows, so unchecked; nothing in a URL (18 of 30). The API never holds keys or funds, every value transfer needs the caller's signature on `permitData` and the transaction, and the swapper sets slippage (16 of 20). The API returns routes and token lists, not untrusted content (10). The dashboard presumably shows key usage; not read, and no per-call log is documented (5 of 15). security.txt on app.uniswap.org with a Cantina bounty and security@uniswap.org, protocol audits in the docs; no SOC 2 or disclosure timeline read (14 of 20). Total 63.",
            "checked": "2026-11-03"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 40,
            "points": 5,
            "reason": "No machine payment protocol on the API's endpoints; the `pay-with-any-token` skill lets an agent pay other services' 402 challenges by swapping, which earns nothing here (0). The API is free, stated in the FAQ and the 16 April 2026 post, and integrator fees are capped at 500 bips (20). No card and no plan (20). A person creates an account in the dashboard to get a key (0). Total 40.",
            "checked": "2026-11-03"
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 88,
            "points": 7.7,
            "reason": "Read as a closed hosted service. The newest changelog notice is dated 22 October 2026 (30). Notices of 20 August, 21 September and 22 October 2026, three in 90 days (20). A help form for developer support that says it won't debug integrators' code, and uniswap-ai with 6 open issues and a push on 26 October (14 of 25). Official TypeScript SDKs current (@uniswap/v4-sdk 2.4.4 with provenance) and the uniswap-ai skills, though no client for the API itself; no MCP registry entry (15). Trusted publishing with provenance on npm, CI and lint hooks on uniswap-ai (9 of 10). Total 88.",
            "checked": "2026-11-03"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 55,
            "points": 4.81,
            "note": "editorial 35, provenance 74",
            "reason": "The editorial half. The API is closed under API Terms of Use that answered 403; the SDKs and uniswap-ai are MIT and the protocol contracts are open source (15 of 30). No privacy policy read (app.uniswap.org draws by script) and nothing in the docs on retention of quotes or wallet addresses (0 of 30). A published sunset policy of at least 30 days, ideally 60, with dated notices such as the Universal Router 2.0 and 2.1.1 sunset of 21 October 2026 (20). No subprocessors or data locations (0 of 20). Total 35.",
            "checked": "2026-11-03"
          }
        ],
        "assessment": {
          "date": "2026-11-03",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "An API, read for response sizing. Quotes and calldata are compact and `/tokens` takes a limit; the quote can carry the swap calldata to save a call (20 of 25). `GET /orders` and `GET /swaps` poll status by id, `/swappable_tokens` and `/tokens` filter by chain and sort, with little pagination elsewhere (12 of 20). Stable `errorCode` values with a `detail` string and a `requestId`, and the docs say which codes to retry (18 of 20). No idempotency key; a swap is a signed transaction whose nonce prevents a double spend, and the docs warn about nonce collisions with pending transactions (12 of 20). Few required fields on `/quote`, defaults for slippage and urgency, but no official client library for the API and signing needs ethers.js, viem or web3.js (10 of 15). Total 72.",
            "maintenance": "Read as a closed hosted service. The newest changelog notice is dated 22 October 2026 (30). Notices of 20 August, 21 September and 22 October 2026, three in 90 days (20). A help form for developer support that says it won't debug integrators' code, and uniswap-ai with 6 open issues and a push on 26 October (14 of 25). Official TypeScript SDKs current (@uniswap/v4-sdk 2.4.4 with provenance) and the uniswap-ai skills, though no client for the API itself; no MCP registry entry (15). Trusted publishing with provenance on npm, CI and lint hooks on uniswap-ai (9 of 10). Total 88.",
            "payments": "No machine payment protocol on the API's endpoints; the `pay-with-any-token` skill lets an agent pay other services' 402 challenges by swapping, which earns nothing here (0). The API is free, stated in the FAQ and the 16 April 2026 post, and integrator fees are capped at 500 bips (20). No card and no plan (20). A person creates an account in the dashboard to get a key (0). Total 40.",
            "reliability": "Read with the hosted lines on the Trading API. status.uniswap.org redirects to the swap app and the docs link no status page (0). No readable history (5). Rate limit documented as 6 requests a second per key (15). The errors page says to pause all requests from the key on 429, retry 500 and 503 with backoff and refresh quotes after 30 seconds; swaps are signed transactions, so idempotency rests on the chain nonce (12 of 15). No SLA (0). The API is generally available; Guidestar routing is a beta notice (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.",
            "schema": "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 operations (25). llms.txt, llms-full.txt and a Markdown twin of every docs page (10). Operation summaries are one line, but the guides say which routing types go to `/swap`, `/order` and `/plan`, when UniswapX quotes are returned and when a 404 means change the request (14 of 20). Enums for routing types, urgency and position statuses, required fields and bounded integers such as `limit` 1 to 20 (12 of 15). Examples on every guide page and error schemas for 400, 401, 404 and 429 with a stable `errorCode` enum and per-code retry advice (14 of 15). A /v1 path, a changelog with posted and effective dates and a 30-day minimum sunset policy (15). Total 90.",
            "security": "A single `x-api-key` header, no scopes, no IP allow-list; revocation and rotation happen in a dashboard robots.txt disallows, so unchecked; nothing in a URL (18 of 30). The API never holds keys or funds, every value transfer needs the caller's signature on `permitData` and the transaction, and the swapper sets slippage (16 of 20). The API returns routes and token lists, not untrusted content (10). The dashboard presumably shows key usage; not read, and no per-call log is documented (5 of 15). security.txt on app.uniswap.org with a Cantina bounty and security@uniswap.org, protocol audits in the docs; no SOC 2 or disclosure timeline read (14 of 20). Total 63.",
            "transparency": "The editorial half. The API is closed under API Terms of Use that answered 403; the SDKs and uniswap-ai are MIT and the protocol contracts are open source (15 of 30). No privacy policy read (app.uniswap.org draws by script) and nothing in the docs on retention of quotes or wallet addresses (0 of 30). A published sunset policy of at least 30 days, ideally 60, with dated notices such as the Universal Router 2.0 and 2.1.1 sunset of 21 October 2026 (20). No subprocessors or data locations (0 of 20). Total 35."
          },
          "sources": [
            {
              "what": "developer portal home",
              "url": "https://developers.uniswap.org/",
              "seen": "2026-11-03"
            },
            {
              "what": "developer portal robots.txt",
              "url": "https://developers.uniswap.org/robots.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "llms.txt",
              "url": "https://developers.uniswap.org/llms.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "trading overview",
              "url": "https://developers.uniswap.org/docs/trading/overview.md",
              "seen": "2026-11-03"
            },
            {
              "what": "swapping API getting started",
              "url": "https://developers.uniswap.org/docs/trading/swapping-api/getting-started",
              "seen": "2026-11-03"
            },
            {
              "what": "integration guide",
              "url": "https://developers.uniswap.org/docs/trading/swapping-api/start-building/integration-guide.md",
              "seen": "2026-11-03"
            },
            {
              "what": "FAQs (rate limit, free, no sandbox, OpenAPI)",
              "url": "https://developers.uniswap.org/docs/trading/swapping-api/faqs",
              "seen": "2026-11-03"
            },
            {
              "what": "supported chains",
              "url": "https://developers.uniswap.org/docs/trading/swapping-api/supported-chains",
              "seen": "2026-11-03"
            },
            {
              "what": "agent attribution header",
              "url": "https://developers.uniswap.org/docs/trading/swapping-api/start-building/agent-attribution",
              "seen": "2026-11-03"
            },
            {
              "what": "troubleshooting and error codes",
              "url": "https://developers.uniswap.org/docs/trading/swapping-api/common-errors",
              "seen": "2026-11-03"
            },
            {
              "what": "Uniswap AI overview",
              "url": "https://developers.uniswap.org/docs/uniswap-ai/overview",
              "seen": "2026-11-03"
            },
            {
              "what": "OpenAPI file (first 100,000 characters)",
              "url": "https://trade-api.gateway.uniswap.org/v1/api.json",
              "seen": "2026-11-03"
            },
            {
              "what": "changelog policy",
              "url": "https://developers.uniswap.org/docs/changelog.md",
              "seen": "2026-11-03"
            },
            {
              "what": "changelog notice, improved API error codes",
              "url": "https://developers.uniswap.org/docs/changelog/active-notifications/improved-api-error-codes.md",
              "seen": "2026-11-03"
            },
            {
              "what": "changelog notice, Universal Router sunset",
              "url": "https://developers.uniswap.org/docs/changelog/active-notifications/sunset-of-universal-router-2-0-and-2-1-1.md",
              "seen": "2026-11-03"
            },
            {
              "what": "changelog notice, uppercase urgency values",
              "url": "https://developers.uniswap.org/docs/changelog/active-notifications/uppercase-urgency-values.md",
              "seen": "2026-11-03"
            },
            {
              "what": "Developer Platform post, 16 April 2026",
              "url": "https://blog.uniswap.org/uniswap-developer-platform-is-live",
              "seen": "2026-11-03"
            },
            {
              "what": "official MCP registry search",
              "url": "https://registry.modelcontextprotocol.io/v0/servers?search=uniswap",
              "seen": "2026-11-03"
            },
            {
              "what": "uniswap-ai repository (stars, issues) and shallow clone",
              "url": "https://api.github.com/repos/Uniswap/uniswap-ai",
              "seen": "2026-11-03"
            },
            {
              "what": "Uniswap organisation repositories (first page)",
              "url": "https://api.github.com/orgs/Uniswap/repos?per_page=100\u0026sort=pushed",
              "seen": "2026-11-03"
            },
            {
              "what": "npm @uniswap/v4-sdk latest",
              "url": "https://registry.npmjs.org/@uniswap%2fv4-sdk/latest",
              "seen": "2026-11-03"
            },
            {
              "what": "npm weekly downloads",
              "url": "https://api.npmjs.org/downloads/point/last-week/@uniswap/v4-sdk",
              "seen": "2026-11-03"
            },
            {
              "what": "security.txt",
              "url": "https://app.uniswap.org/.well-known/security.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "API Terms of Use (403)",
              "url": "https://support.uniswap.org/hc/en-us/articles/43018872248589-API-Terms-of-Use",
              "seen": "2026-11-03"
            },
            {
              "what": "status.uniswap.org (redirects to the app)",
              "url": "https://status.uniswap.org/",
              "seen": "2026-11-03"
            },
            {
              "what": "RDAP for uniswap.org",
              "url": "https://rdap.publicinterestregistry.org/rdap/domain/uniswap.org",
              "seen": "2026-11-03"
            }
          ],
          "openQuestions": [
            "unchecked: the API Terms of Use (support.uniswap.org answered 403), the Uniswap Labs terms and privacy policy (script-drawn), so restricted countries, data handling and the legal entity's full name rest on nothing first-hand beyond Uniswap Labs' name on its licence and blog.",
            "unchecked: the Developer Platform dashboard (robots.txt disallows /dashboard), so key rotation, revocation, usage logs and whether signup needs more than an email are unknown.",
            "unchecked: the remaining 240,000 characters of the OpenAPI file, including the security scheme definition and error schema fields; the header name comes from the docs.",
            "firstReleased is February 2026, the Developer Platform beta per the 16 April 2026 post, recorded as 2026-02-01 for want of a day; the Trading API itself predates the platform (Ledger and Fordefi integrations were announced in January 2025 per press releases not read), so the listed surface is older than this date.",
            "Judgement call on kind and name. Listed as http-api on the Trading API, the hosted surface an agent calls; the Uniswap protocol itself runs on chain and is not what is graded. The listing is named Uniswap Trading API so it isn't read as a grade of the protocol.",
            "Judgement call on category. Listed in crypto-exchanges per the batch; it is a swap router over on-chain pools, not an order-book exchange with accounts, so the exchange.balances and exchange.transfers capabilities don't apply.",
            "Our own products. It doesn't do LocalGhost's or letme's job. Graded the normal way."
          ]
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "An agent swapping or bridging tokens from its own wallet on 21 EVM chains, or managing liquidity positions, with routing done for it.",
        "strengths": [
          "OpenAPI 3.0 file, llms.txt, llms-full.txt and Markdown twins, with 400, 401, 404 and 429 schemas and a stable `errorCode` enum",
          "The API builds calldata and never holds funds or keys; the caller signs `permitData` and the transaction with its own wallet",
          "Free with no per-call charge, 21 chains for classic swaps and UniswapX on 10 of them",
          "Dated changelog notices with a 30-day minimum sunset policy, and the uniswap-ai skills (MIT) for coding agents",
          "A documented `X-Agent-Info` header for autonomous and human-mediated traffic, and retry guidance per error code"
        ],
        "weaknesses": [
          "No official MCP server; the registry's Uniswap entries are third parties",
          "No status page, no SLA and no sandbox; tests use production endpoints on testnets",
          "A single `x-api-key` per key with 6 requests a second and no scopes; the dashboard is disallowed by robots.txt so key management is unchecked",
          "The API Terms of Use and Uniswap Labs' terms and privacy policy are on a help centre that answered 403 or draw by script, so restricted countries and data handling are unchecked",
          "No official client library for the API; the TypeScript SDKs cover the protocol and quoting, not the API"
        ],
        "agentNotes": [
          "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",
          "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`",
          "Refresh any quote older than 30 seconds before broadcasting, and on 429 pause every request from the key before retrying",
          "Retry unchanged only on `UpstreamTimeoutError`; `NoRouteFoundError` and `QuoteAmountTooLowError` need a different amount, token or `protocols` list",
          "Send `X-Agent-Info` with `decision_origin: autonomous` and keep `x-api-key` server-side"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.3
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 88,
          "payments": 40,
          "reliability": 42,
          "schema": 90,
          "security": 63,
          "transparency": 35
        },
        "provenanceScore": 74,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        },
        "scoreHistory": [
          {
            "date": "2026-11-03",
            "grade": "B",
            "kind": "listed",
            "method": "0.7",
            "score": 63.3
          }
        ]
      },
      "connect": {
        "install": "npx skills add Uniswap/uniswap-ai",
        "http": "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\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.spot-trading",
        "tool": "https://letme.dev/uniswap"
      },
      "notable": [
        "No official MCP server. The official MCP registry's search for uniswap lists three third parties (io.github.junct-bot/uniswap-mcp hosted, io.github.Yummybait-fin/uniswap-tx-builder-mcp, io.github.Elnaril/uniswap-universal-router-decoder); Uniswap Labs' own agent offering is uniswap-ai, a set of skills and Claude Code plugins installed with `npx skills add Uniswap/uniswap-ai`, which contains no MCP server (https://registry.modelcontextprotocol.io/v0/servers?search=uniswap)",
        "What runs on chain. The API finds a route and returns transaction data; the swap executes on the Universal Router against Uniswap v2, v3 and v4 pools, or as a UniswapX order filled by market makers, once the caller signs and broadcasts (https://developers.uniswap.org/docs/trading/overview)",
        "OpenAPI 3.0 file Token Trading 1.0.0 at trade-api.gateway.uniswap.org/v1/api.json with about 33 paths including check_approval, quote, swap, order, swap_7702, plan, the LP endpoints and internal margin endpoints, with 400, 401, 404 and 429 schemas and a stable `errorCode` enum (https://trade-api.gateway.uniswap.org/v1/api.json)",
        "Each API key is rate limited to 6 requests a second; on 429 the docs say to pause all requests from the key and cache quotes for about 30 seconds (https://developers.uniswap.org/docs/trading/swapping-api/common-errors)",
        "The changelog policy posts sunset notices at least 30 days before non-backwards-compatible changes; notices dated 20 August, 21 September and 22 October 2026 cover new 404 error codes, the Universal Router 2.0 and 2.1.1 sunset of 21 October, and uppercase `urgency` values from 6 November (https://developers.uniswap.org/docs/changelog)",
        "The Developer Platform beta opened in February 2026 and the 16 April 2026 post reports more than three thousand keys, about 200 ms routing, over 97% fill rates and 10 million assets across 18 chains, Uniswap Labs' figures (https://blog.uniswap.org/uniswap-developer-platform-is-live)",
        "No sandbox; tests run against Unichain Sepolia, Base Sepolia and Ethereum Sepolia through the production endpoints (https://developers.uniswap.org/docs/trading/swapping-api/faqs)"
      ],
      "area": "payments",
      "details": [
        {
          "label": "Surface listed",
          "value": "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"
        },
        {
          "label": "MCP server",
          "value": "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'"
        },
        {
          "label": "What runs on chain",
          "value": "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"
        },
        {
          "label": "Key permissions",
          "value": "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"
        },
        {
          "label": "Rate limits",
          "value": "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"
        },
        {
          "label": "Testnet",
          "value": "No sandbox. Unichain Sepolia (1301), Base Sepolia (84532) and Ethereum Sepolia (11155111) are served through the production endpoints for classic swaps"
        },
        {
          "label": "Countries",
          "value": "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"
        },
        {
          "label": "Fees",
          "value": "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"
        },
        {
          "label": "Chains",
          "value": "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`"
        },
        {
          "label": "WebSocket and FIX",
          "value": "None. REST only, with `GET /orders` and `GET /swaps` for status polling"
        },
        {
          "label": "Terms on automated trading",
          "value": "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"
        },
        {
          "label": "Errors",
          "value": "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"
        },
        {
          "label": "SDKs and skills",
          "value": "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"
        },
        {
          "label": "Legal entity",
          "value": "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"
        }
      ],
      "provenance": {
        "legalEntity": "Uniswap Labs",
        "domain": "uniswap.org",
        "domainRegistered": "2018-11-26",
        "endpointOnVendorDomain": true,
        "terms": "https://support.uniswap.org/hc/en-us/articles/43018872248589-API-Terms-of-Use",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://developers.uniswap.org/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "Uniswap Labs is the name on the uniswap-ai licence and the blog; the API Terms of Use (support.uniswap.org, answered 403) are said in a search snippet to name Universal Navigation, Inc., which was not read first-hand.",
          "RDAP gives uniswap.org a registration date of 26 November 2018, registrar Cloudflare.",
          "app.uniswap.org/.well-known/security.txt lists a Cantina bounty and security@uniswap.org with no Expires field; uniswap.org redirects to the app.",
          "status.uniswap.org redirects to app.uniswap.org/swap, so no status page is recorded.",
          "The privacy policy at app.uniswap.org draws by script and was not read. developers.uniswap.org/robots.txt disallows /dashboard, /api/ and /oauth/, so the key dashboard was not fetched; trade-api.gateway.uniswap.org has no robots.txt (404)."
        ],
        "score": 74,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Uniswap Labs",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "uniswap.org, registered 2018-11-26 (7 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "uniswap.org",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "published, but our reader couldn't read it",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "valid",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "People named",
            "value": "1 named with their role, none with a public profile",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Support route",
            "value": "a support address, help pages, a community",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://support.uniswap.org/hc/en-us/articles/43018872248589-API-Terms-of-Use",
            "state": "unreadable",
            "reason": "the page answered HTTP 403 to our reader",
            "readAt": "2026-11-03",
            "points": 7,
            "max": 10
          },
          {
            "kind": "privacy",
            "url": "",
            "state": "none-found",
            "points": 0,
            "max": 10
          }
        ]
      },
      "humans": {
        "slug": "uniswap",
        "checked": "2026-11-03",
        "company": "Uniswap Labs",
        "people": [
          {
            "name": "Hayden Adams",
            "role": "Founder",
            "founder": true,
            "bio": "Hayden Adams created Uniswap, as he writes in his post of 11 February 2019 on the Uniswap blog, and wrote the 13 October 2022 post announcing Uniswap Labs' $165 million Series B.",
            "bioSources": [
              "https://blog.uniswap.org/uniswap-history",
              "https://blog.uniswap.org/bringing-web3-to-everyone"
            ],
            "page": "/people/hayden-adams/"
          }
        ],
        "peopleNote": "Hayden Adams's role comes from his own posts on blog.uniswap.org; neither post states a title such as CEO, so he is listed as founder only, and no LinkedIn or X account for him is linked from a Uniswap page. Uniswap Labs has no about or team page we could read (uniswap.org redirects to the app, which draws by script). Investors from the Series B post of 13 October 2022 on the company's blog; the Series A post was looked for at blog.uniswap.org/uniswap-series-a (404) and not found by search, so earlier rounds list only the firms the Series B post calls longtime investors. Ownership private from the blog's description of Uniswap Labs as the company behind the products.",
        "companySocial": {
          "github": "https://github.com/Uniswap"
        },
        "support": {
          "emails": [
            "security@uniswap.org"
          ],
          "urls": [
            "https://developers.uniswap.org/docs?form=help",
            "https://support.uniswap.org/"
          ],
          "community": [
            {
              "label": "uniswap-ai issues",
              "url": "https://github.com/Uniswap/uniswap-ai/issues",
              "kind": "github"
            }
          ],
          "contactEmails": [
            "security@uniswap.org"
          ],
          "contactUrls": [
            "https://developers.uniswap.org/docs?form=help"
          ]
        },
        "sources": [
          "https://blog.uniswap.org/uniswap-history",
          "https://blog.uniswap.org/bringing-web3-to-everyone",
          "https://blog.uniswap.org/uniswap-developer-platform-is-live",
          "https://developers.uniswap.org/docs/trading/swapping-api/faqs",
          "https://app.uniswap.org/.well-known/security.txt",
          "https://api.github.com/repos/Uniswap/uniswap-ai"
        ],
        "ownership": {
          "status": "private",
          "totalRaised": {
            "amount": "$165M Series B",
            "asOf": "2022-10",
            "source": "https://blog.uniswap.org/bringing-web3-to-everyone"
          },
          "checked": "2026-11-03",
          "sources": [
            "https://blog.uniswap.org/bringing-web3-to-everyone"
          ]
        },
        "investors": [
          {
            "name": "Polychain Capital",
            "kind": "vc",
            "rounds": [
              "Series B, October 2022"
            ],
            "lead": true,
            "url": "https://polychain.capital",
            "source": "https://blog.uniswap.org/bringing-web3-to-everyone",
            "quote": "led by Polychain Capital",
            "page": "/investors/polychain-capital/"
          },
          {
            "name": "a16z crypto",
            "firm": "Andreessen Horowitz",
            "kind": "vc",
            "rounds": [
              "Series B, October 2022"
            ],
            "url": "https://a16zcrypto.com",
            "source": "https://blog.uniswap.org/bringing-web3-to-everyone",
            "quote": "a16z crypto, Paradigm, SV Angel, and Variant",
            "page": "/investors/andreessen-horowitz/"
          },
          {
            "name": "Paradigm",
            "kind": "vc",
            "rounds": [
              "Series B, October 2022"
            ],
            "url": "https://www.paradigm.xyz",
            "source": "https://blog.uniswap.org/bringing-web3-to-everyone",
            "quote": "a16z crypto, Paradigm, SV Angel, and Variant",
            "page": "/investors/paradigm/"
          },
          {
            "name": "SV Angel",
            "kind": "vc",
            "rounds": [
              "Series B, October 2022"
            ],
            "url": "https://svangel.com",
            "source": "https://blog.uniswap.org/bringing-web3-to-everyone",
            "quote": "a16z crypto, Paradigm, SV Angel, and Variant",
            "page": "/investors/sv-angel/"
          },
          {
            "name": "Variant",
            "kind": "vc",
            "rounds": [
              "Series B, October 2022"
            ],
            "url": "https://variant.fund",
            "source": "https://blog.uniswap.org/bringing-web3-to-everyone",
            "quote": "a16z crypto, Paradigm, SV Angel, and Variant",
            "page": "/investors/variant/"
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/uniswap.json",
      "live": {
        "slug": "uniswap",
        "securityTxt": {
          "url": "https://uniswap.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:09.573484239Z"
        },
        "updatedAt": "2026-11-04T15:53:09.573484239Z"
      }
    },
    "verify": {
      "accepts": "a page on uniswap.org or one of its subdomains, or the README at the root of github.com/Uniswap/uniswap-ai",
      "badgeUrl": "https://www.anchorterminal.com/badges/uniswap.svg",
      "body": {
        "slug": "uniswap",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/uniswap",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/uniswap\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/uniswap.svg\" alt=\"Uniswap Trading API on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Uniswap Trading API on Anchor Terminal](https://www.anchorterminal.com/badges/uniswap.svg)](https://www.anchorterminal.com/tools/uniswap)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/uniswap\"\u003eUniswap Trading API on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/uniswap",
    "json": "https://www.anchorterminal.com/tools/uniswap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/uniswap.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/uniswap#pricing",
    "reviews": "https://www.anchorterminal.com/tools/uniswap#reviews",
    "slim": "https://www.anchorterminal.com/tools/uniswap.min.md"
  },
  "markdown": "## Overview\n\n**Grade B · 63.3/100 · rank #446 of 1349 · #5 in Crypto exchanges · not agent-ready · confidence medium**\n\n\n## Assessment\n\nThe 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.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Uniswap Labs (https://developers.uniswap.org) |\n| Kind | HTTP API |\n| Category | Crypto exchanges (https://www.anchorterminal.com/categories/crypto-exchanges) |\n| Auth | API key · An API key from the Uniswap Developer Platform dashboard, sent as `x-api-key` on every request; the docs say to keep it server-side. The API never holds funds or keys. `/quote` returns `permitData` the user signs as EIP-712 typed data, `/swap` returns calldata the caller signs and broadcasts, and `/order` takes a signed UniswapX order. An optional `X-Agent-Info` header with `decision_origin` of `autonomous` or `human_mediated` attributes agent traffic (https://developers.uniswap.org/docs/trading/swapping-api/start-building/integration-guide, checked 2026-11-03). |\n| Pricing | Free (Free) · The API is free, with no subscription or per-call charge, per the FAQ and the Developer Platform post of 16 April 2026. Swaps pay the pool fee and gas on chain; UniswapX orders are gasless for the swapper. Integrators may add up to 4 fee entries totalling at most 500 bips. Each key is limited to 6 requests a second (https://developers.uniswap.org/docs/trading/swapping-api/faqs, checked 2026-11-03). |\n| x402 | No · No x402, MPP or L402 on the API's endpoints (checked 2026-11-03). The uniswap-ai repository's `pay-with-any-token` skill helps an agent pay HTTP 402 challenges (MPP or x402) by swapping tokens through Uniswap, which is a buyer-side skill, not a paid endpoint. |\n| 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 |\n| Tools exposed | 0 |\n| Packages | npm: `@uniswap/v4-sdk` |\n| Source | https://github.com/Uniswap/uniswap-ai |\n| Docs | https://developers.uniswap.org/docs/trading/overview |\n| llms.txt | https://developers.uniswap.org/llms.txt |\n| Last release | 2026-10-22 |\n| GitHub stars | 236 (as of 2026-11-03) |\n| npm downloads / week | 153,782 |\n| 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 |\n| 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' |\n| 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 |\n| 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 |\n| 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 |\n| Testnet | No sandbox. Unichain Sepolia (1301), Base Sepolia (84532) and Ethereum Sepolia (11155111) are served through the production endpoints for classic swaps |\n| 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 |\n| 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 |\n| 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` |\n| WebSocket and FIX | None. REST only, with `GET /orders` and `GET /swaps` for status polling |\n| 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 |\n| 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 |\n| 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 |\n| 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 |\n| Capabilities | exchange.spot-trading, exchange.market-data, market.crypto, wallet.onchain |\n| Tags | official, hosted, closed-source, openapi, llms-txt, api-key, free, no-card, typescript, agent-skills, no-status-page, security-txt, rest |\n| JSON | https://www.anchorterminal.com/api/v1/tools/uniswap.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-03 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 42 | 8.4 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 90 | 14.6 |\n| Agent ergonomics | 13% | 16.2 | 72 | 11.7 |\n| Security \u0026 auth | 14% | 17.5 | 63 | 11.0 |\n| Payments \u0026 pricing | 10% | 12.5 | 40 | 5.0 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 88 | 7.7 |\n| Transparency \u0026 trust (editorial 35, provenance 74) | 7% | 8.8 | 55 | 4.8 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **63.3 → B** |\n\n### Why each score\n\n- Reliability 42 (checked 2026-11-03): Read with the hosted lines on the Trading API. status.uniswap.org redirects to the swap app and the docs link no status page (0). No readable history (5). Rate limit documented as 6 requests a second per key (15). The errors page says to pause all requests from the key on 429, retry 500 and 503 with backoff and refresh quotes after 30 seconds; swaps are signed transactions, so idempotency rests on the chain nonce (12 of 15). No SLA (0). The API is generally available; Guidestar routing is a beta notice (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 90 (checked 2026-11-03): 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 operations (25). llms.txt, llms-full.txt and a Markdown twin of every docs page (10). Operation summaries are one line, but the guides say which routing types go to `/swap`, `/order` and `/plan`, when UniswapX quotes are returned and when a 404 means change the request (14 of 20). Enums for routing types, urgency and position statuses, required fields and bounded integers such as `limit` 1 to 20 (12 of 15). Examples on every guide page and error schemas for 400, 401, 404 and 429 with a stable `errorCode` enum and per-code retry advice (14 of 15). A /v1 path, a changelog with posted and effective dates and a 30-day minimum sunset policy (15). Total 90.\n- Agent ergonomics 72 (checked 2026-11-03): An API, read for response sizing. Quotes and calldata are compact and `/tokens` takes a limit; the quote can carry the swap calldata to save a call (20 of 25). `GET /orders` and `GET /swaps` poll status by id, `/swappable_tokens` and `/tokens` filter by chain and sort, with little pagination elsewhere (12 of 20). Stable `errorCode` values with a `detail` string and a `requestId`, and the docs say which codes to retry (18 of 20). No idempotency key; a swap is a signed transaction whose nonce prevents a double spend, and the docs warn about nonce collisions with pending transactions (12 of 20). Few required fields on `/quote`, defaults for slippage and urgency, but no official client library for the API and signing needs ethers.js, viem or web3.js (10 of 15). Total 72.\n- Security \u0026 auth 63 (checked 2026-11-03): A single `x-api-key` header, no scopes, no IP allow-list; revocation and rotation happen in a dashboard robots.txt disallows, so unchecked; nothing in a URL (18 of 30). The API never holds keys or funds, every value transfer needs the caller's signature on `permitData` and the transaction, and the swapper sets slippage (16 of 20). The API returns routes and token lists, not untrusted content (10). The dashboard presumably shows key usage; not read, and no per-call log is documented (5 of 15). security.txt on app.uniswap.org with a Cantina bounty and security@uniswap.org, protocol audits in the docs; no SOC 2 or disclosure timeline read (14 of 20). Total 63.\n- Payments \u0026 pricing 40 (checked 2026-11-03): No machine payment protocol on the API's endpoints; the `pay-with-any-token` skill lets an agent pay other services' 402 challenges by swapping, which earns nothing here (0). The API is free, stated in the FAQ and the 16 April 2026 post, and integrator fees are capped at 500 bips (20). No card and no plan (20). A person creates an account in the dashboard to get a key (0). Total 40.\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 88 (checked 2026-11-03): Read as a closed hosted service. The newest changelog notice is dated 22 October 2026 (30). Notices of 20 August, 21 September and 22 October 2026, three in 90 days (20). A help form for developer support that says it won't debug integrators' code, and uniswap-ai with 6 open issues and a push on 26 October (14 of 25). Official TypeScript SDKs current (@uniswap/v4-sdk 2.4.4 with provenance) and the uniswap-ai skills, though no client for the API itself; no MCP registry entry (15). Trusted publishing with provenance on npm, CI and lint hooks on uniswap-ai (9 of 10). Total 88.\n- Transparency \u0026 trust 55 (checked 2026-11-03): The editorial half. The API is closed under API Terms of Use that answered 403; the SDKs and uniswap-ai are MIT and the protocol contracts are open source (15 of 30). No privacy policy read (app.uniswap.org draws by script) and nothing in the docs on retention of quotes or wallet addresses (0 of 30). A published sunset policy of at least 30 days, ideally 60, with dated notices such as the Universal Router 2.0 and 2.1.1 sunset of 21 October 2026 (20). No subprocessors or data locations (0 of 20). Total 35.\n\nFix list, everything this grade says the listing lacks, the biggest gain first (19 items). What it covers is at https://www.anchorterminal.com/fixes/uniswap.md (JSON https://www.anchorterminal.com/fixes/uniswap.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"uniswap\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- unchecked: the API Terms of Use (support.uniswap.org answered 403), the Uniswap Labs terms and privacy policy (script-drawn), so restricted countries, data handling and the legal entity's full name rest on nothing first-hand beyond Uniswap Labs' name on its licence and blog.\n- unchecked: the Developer Platform dashboard (robots.txt disallows /dashboard), so key rotation, revocation, usage logs and whether signup needs more than an email are unknown.\n- unchecked: the remaining 240,000 characters of the OpenAPI file, including the security scheme definition and error schema fields; the header name comes from the docs.\n- firstReleased is February 2026, the Developer Platform beta per the 16 April 2026 post, recorded as 2026-02-01 for want of a day; the Trading API itself predates the platform (Ledger and Fordefi integrations were announced in January 2025 per press releases not read), so the listed surface is older than this date.\n- Judgement call on kind and name. Listed as http-api on the Trading API, the hosted surface an agent calls; the Uniswap protocol itself runs on chain and is not what is graded. The listing is named Uniswap Trading API so it isn't read as a grade of the protocol.\n- Judgement call on category. Listed in crypto-exchanges per the batch; it is a swap router over on-chain pools, not an order-book exchange with accounts, so the exchange.balances and exchange.transfers capabilities don't apply.\n- Our own products. It doesn't do LocalGhost's or letme's job. Graded the normal way.\n\n### Sources\n\n- developer portal home: \u003chttps://developers.uniswap.org/\u003e (seen 2026-11-03)\n- developer portal robots.txt: \u003chttps://developers.uniswap.org/robots.txt\u003e (seen 2026-11-03)\n- llms.txt: \u003chttps://developers.uniswap.org/llms.txt\u003e (seen 2026-11-03)\n- trading overview: \u003chttps://developers.uniswap.org/docs/trading/overview.md\u003e (seen 2026-11-03)\n- swapping API getting started: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/getting-started\u003e (seen 2026-11-03)\n- integration guide: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/start-building/integration-guide.md\u003e (seen 2026-11-03)\n- FAQs (rate limit, free, no sandbox, OpenAPI): \u003chttps://developers.uniswap.org/docs/trading/swapping-api/faqs\u003e (seen 2026-11-03)\n- supported chains: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/supported-chains\u003e (seen 2026-11-03)\n- agent attribution header: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/start-building/agent-attribution\u003e (seen 2026-11-03)\n- troubleshooting and error codes: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/common-errors\u003e (seen 2026-11-03)\n- Uniswap AI overview: \u003chttps://developers.uniswap.org/docs/uniswap-ai/overview\u003e (seen 2026-11-03)\n- OpenAPI file (first 100,000 characters): \u003chttps://trade-api.gateway.uniswap.org/v1/api.json\u003e (seen 2026-11-03)\n- changelog policy: \u003chttps://developers.uniswap.org/docs/changelog.md\u003e (seen 2026-11-03)\n- changelog notice, improved API error codes: \u003chttps://developers.uniswap.org/docs/changelog/active-notifications/improved-api-error-codes.md\u003e (seen 2026-11-03)\n- changelog notice, Universal Router sunset: \u003chttps://developers.uniswap.org/docs/changelog/active-notifications/sunset-of-universal-router-2-0-and-2-1-1.md\u003e (seen 2026-11-03)\n- changelog notice, uppercase urgency values: \u003chttps://developers.uniswap.org/docs/changelog/active-notifications/uppercase-urgency-values.md\u003e (seen 2026-11-03)\n- Developer Platform post, 16 April 2026: \u003chttps://blog.uniswap.org/uniswap-developer-platform-is-live\u003e (seen 2026-11-03)\n- official MCP registry search: \u003chttps://registry.modelcontextprotocol.io/v0/servers?search=uniswap\u003e (seen 2026-11-03)\n- uniswap-ai repository (stars, issues) and shallow clone: \u003chttps://api.github.com/repos/Uniswap/uniswap-ai\u003e (seen 2026-11-03)\n- Uniswap organisation repositories (first page): \u003chttps://api.github.com/orgs/Uniswap/repos?per_page=100\u0026sort=pushed\u003e (seen 2026-11-03)\n- npm @uniswap/v4-sdk latest: \u003chttps://registry.npmjs.org/@uniswap%2fv4-sdk/latest\u003e (seen 2026-11-03)\n- npm weekly downloads: \u003chttps://api.npmjs.org/downloads/point/last-week/@uniswap/v4-sdk\u003e (seen 2026-11-03)\n- security.txt: \u003chttps://app.uniswap.org/.well-known/security.txt\u003e (seen 2026-11-03)\n- API Terms of Use (403): \u003chttps://support.uniswap.org/hc/en-us/articles/43018872248589-API-Terms-of-Use\u003e (seen 2026-11-03)\n- status.uniswap.org (redirects to the app): \u003chttps://status.uniswap.org/\u003e (seen 2026-11-03)\n- RDAP for uniswap.org: \u003chttps://rdap.publicinterestregistry.org/rdap/domain/uniswap.org\u003e (seen 2026-11-03)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/uniswap/history.json\n\n- 2026-11-03: graded 63.3 B (methodology 0.7)\n\n## Who's behind it (provenance 74/100, checked 2026-11-03)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Uniswap Labs | 20/20 |\n| Domain age | uniswap.org, registered 2018-11-26 (7 years) | 11/15 |\n| Endpoint on the vendor's domain | uniswap.org | 15/15 |\n| Terms of service | published, but our reader couldn't read it | 7/10 |\n| Privacy policy | not found | 0/10 |\n| Status page | not found | 0/10 |\n| Changelog | published | 10/10 |\n| security.txt | valid | 10/10 |\n| People named | 1 named with their role, none with a public profile | 7/10 |\n| Support route | a support address, help pages, a community | 5/5 |\n\nUniswap Labs is the name on the uniswap-ai licence and the blog; the API Terms of Use (support.uniswap.org, answered 403) are said in a search snippet to name Universal Navigation, Inc., which was not read first-hand.\n\nRDAP gives uniswap.org a registration date of 26 November 2018, registrar Cloudflare.\n\napp.uniswap.org/.well-known/security.txt lists a Cantina bounty and security@uniswap.org with no Expires field; uniswap.org redirects to the app.\n\nstatus.uniswap.org redirects to app.uniswap.org/swap, so no status page is recorded.\n\nThe privacy policy at app.uniswap.org draws by script and was not read. developers.uniswap.org/robots.txt disallows /dashboard, /api/ and /oauth/, so the key dashboard was not fetched; trade-api.gateway.uniswap.org has no robots.txt (404).\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://support.uniswap.org/hc/en-us/articles/43018872248589-API-Terms-of-Use), read 2026-11-03. Our reader couldn't read it (the page answered HTTP 403 to our reader).\n\n\n**Privacy policy**. We found no privacy policy published for this product, so there is nothing to read and the check scores 0.\n\n\n## Humans behind the project (researched 2026-11-03 from public pages, not part of the grade)\n\n### Key people\n\n- Hayden Adams, Founder\n- Note: Hayden Adams's role comes from his own posts on blog.uniswap.org; neither post states a title such as CEO, so he is listed as founder only, and no LinkedIn or X account for him is linked from a Uniswap page. Uniswap Labs has no about or team page we could read (uniswap.org redirects to the app, which draws by script). Investors from the Series B post of 13 October 2022 on the company's blog; the Series A post was looked for at blog.uniswap.org/uniswap-series-a (404) and not found by search, so earlier rounds list only the firms the Series B post calls longtime investors. Ownership private from the blog's description of Uniswap Labs as the company behind the products.\n- Uniswap Labs: GitHub https://github.com/Uniswap\n\n### Ownership and investors\n\n- Raised: $165M Series B in total, as of October 2022 (source https://blog.uniswap.org/bringing-web3-to-everyone)\n- Backed by: Polychain Capital, Andreessen Horowitz, Paradigm, SV Angel, Variant\n\n### Getting support\n\n- Support email: security@uniswap.org\n- Help: https://developers.uniswap.org/docs?form=help\n- Help: https://support.uniswap.org/\n- Community (uniswap-ai issues): https://github.com/Uniswap/uniswap-ai/issues\n- Sources: https://blog.uniswap.org/uniswap-history, https://blog.uniswap.org/bringing-web3-to-everyone, https://blog.uniswap.org/uniswap-developer-platform-is-live, https://developers.uniswap.org/docs/trading/swapping-api/faqs, https://app.uniswap.org/.well-known/security.txt, https://api.github.com/repos/Uniswap/uniswap-ai\n\n## Live (updated 2026-11-04 15:53 UTC)\n\n- security.txt: none\n- Always current: https://www.anchorterminal.com/api/v1/live/uniswap.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Strengths\n\n- OpenAPI 3.0 file, llms.txt, llms-full.txt and Markdown twins, with 400, 401, 404 and 429 schemas and a stable `errorCode` enum\n- The API builds calldata and never holds funds or keys; the caller signs `permitData` and the transaction with its own wallet\n- Free with no per-call charge, 21 chains for classic swaps and UniswapX on 10 of them\n- Dated changelog notices with a 30-day minimum sunset policy, and the uniswap-ai skills (MIT) for coding agents\n- A documented `X-Agent-Info` header for autonomous and human-mediated traffic, and retry guidance per error code\n\n## Weaknesses\n\n- No official MCP server; the registry's Uniswap entries are third parties\n- No status page, no SLA and no sandbox; tests use production endpoints on testnets\n- A single `x-api-key` per key with 6 requests a second and no scopes; the dashboard is disallowed by robots.txt so key management is unchecked\n- The API Terms of Use and Uniswap Labs' terms and privacy policy are on a help centre that answered 403 or draw by script, so restricted countries and data handling are unchecked\n- No official client library for the API; the TypeScript SDKs cover the protocol and quoting, not the API\n\n\n\n## Before you call it (notes for agents)\n\n1. 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\n2. 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`\n3. Refresh any quote older than 30 seconds before broadcasting, and on 429 pause every request from the key before retrying\n4. Retry unchanged only on `UpstreamTimeoutError`; `NoRouteFoundError` and `QuoteAmountTooLowError` need a different amount, token or `protocols` list\n5. Send `X-Agent-Info` with `decision_origin: autonomous` and keep `x-api-key` server-side\n\n## Connect\n\nInstall:\n\n```bash\nnpx skills add Uniswap/uniswap-ai\n```\n\nFirst request:\n\n```bash\ncurl -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\"}'\n```\n\nThrough letme: https://letme.dev/uniswap. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Hyperliquid | D | 50 | 1018 | exchange.spot-trading, exchange.market-data, market.crypto, wallet.onchain | no | https://www.anchorterminal.com/tools/hyperliquid.md |\n| Gemini Exchange API | BB | 74.6 | 70 | exchange.market-data, exchange.spot-trading, market.crypto | no | https://www.anchorterminal.com/tools/gemini-exchange.md |\n| Kraken API | BB | 71 | 159 | exchange.spot-trading, exchange.market-data, market.crypto | no | https://www.anchorterminal.com/tools/kraken.md |\n| dYdX | B | 69.5 | 221 | exchange.market-data, market.crypto, wallet.onchain | no | https://www.anchorterminal.com/tools/dydx.md |\n| OKX API | B | 64.3 | 413 | exchange.spot-trading, exchange.market-data, market.crypto | no | https://www.anchorterminal.com/tools/okx.md |\n| Binance API | B | 63.2 | 448 | exchange.spot-trading, exchange.market-data, market.crypto | no | https://www.anchorterminal.com/tools/binance.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- No official MCP server. The official MCP registry's search for uniswap lists three third parties (io.github.junct-bot/uniswap-mcp hosted, io.github.Yummybait-fin/uniswap-tx-builder-mcp, io.github.Elnaril/uniswap-universal-router-decoder); Uniswap Labs' own agent offering is uniswap-ai, a set of skills and Claude Code plugins installed with `npx skills add Uniswap/uniswap-ai`, which contains no MCP server (source: \u003chttps://registry.modelcontextprotocol.io/v0/servers?search=uniswap\u003e)\n- What runs on chain. The API finds a route and returns transaction data; the swap executes on the Universal Router against Uniswap v2, v3 and v4 pools, or as a UniswapX order filled by market makers, once the caller signs and broadcasts (source: \u003chttps://developers.uniswap.org/docs/trading/overview\u003e)\n- OpenAPI 3.0 file Token Trading 1.0.0 at trade-api.gateway.uniswap.org/v1/api.json with about 33 paths including check_approval, quote, swap, order, swap_7702, plan, the LP endpoints and internal margin endpoints, with 400, 401, 404 and 429 schemas and a stable `errorCode` enum (source: \u003chttps://trade-api.gateway.uniswap.org/v1/api.json\u003e)\n- Each API key is rate limited to 6 requests a second; on 429 the docs say to pause all requests from the key and cache quotes for about 30 seconds (source: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/common-errors\u003e)\n- The changelog policy posts sunset notices at least 30 days before non-backwards-compatible changes; notices dated 20 August, 21 September and 22 October 2026 cover new 404 error codes, the Universal Router 2.0 and 2.1.1 sunset of 21 October, and uppercase `urgency` values from 6 November (source: \u003chttps://developers.uniswap.org/docs/changelog\u003e)\n- The Developer Platform beta opened in February 2026 and the 16 April 2026 post reports more than three thousand keys, about 200 ms routing, over 97% fill rates and 10 million assets across 18 chains, Uniswap Labs' figures (source: \u003chttps://blog.uniswap.org/uniswap-developer-platform-is-live\u003e)\n- No sandbox; tests run against Unichain Sepolia, Base Sepolia and Ethereum Sepolia through the production endpoints (source: \u003chttps://developers.uniswap.org/docs/trading/swapping-api/faqs\u003e)\n\n- #5 of 21 in Best crypto exchange APIs and MCP servers for AI agents: https://www.anchorterminal.com/best/crypto-exchanges/index.md\n- All 210 exchanges comparisons: https://www.anchorterminal.com/compare/crypto-exchanges/index.md\n\n## Compare\n\n- [Bitfinex API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.md): C 58.4 vs B 63.3\n- [Bitget vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitget-vs-uniswap.md): D 53.9 vs B 63.3\n- [Bithumb Open API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bithumb-vs-uniswap.md): D 50.6 vs B 63.3\n- [Bitstamp API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitstamp-vs-uniswap.md): D 50.4 vs B 63.3\n- [Bybit vs Uniswap Trading API](https://www.anchorterminal.com/compare/bybit-vs-uniswap.md): C 57.3 vs B 63.3\n- [Crypto.com Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-uniswap.md): D 46.8 vs B 63.3\n- [dYdX vs Uniswap Trading API](https://www.anchorterminal.com/compare/dydx-vs-uniswap.md): B 69.5 vs B 63.3\n- [Gate vs Uniswap Trading API](https://www.anchorterminal.com/compare/gate-io-vs-uniswap.md): C 56.4 vs B 63.3\n- [Gemini Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap.md): BB 74.6 vs B 63.3\n- [HTX trading API vs Uniswap Trading API](https://www.anchorterminal.com/compare/htx-vs-uniswap.md): E 43.3 vs B 63.3\n- [KuCoin vs Uniswap Trading API](https://www.anchorterminal.com/compare/kucoin-vs-uniswap.md): D 53.9 vs B 63.3\n- [MEXC API vs Uniswap Trading API](https://www.anchorterminal.com/compare/mexc-vs-uniswap.md): C 56.3 vs B 63.3\n- [Binance API vs Uniswap Trading API](https://www.anchorterminal.com/compare/binance-vs-uniswap.md): B 63.2 vs B 63.3\n- [Coinbase Advanced Trade API vs Uniswap Trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap.md): C 61.7 vs B 63.3\n- [Coinbase MCP server (Coinbase for Agents) vs Uniswap Trading API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-uniswap.md): C 60 vs B 63.3\n- [Deribit vs Uniswap Trading API](https://www.anchorterminal.com/compare/deribit-vs-uniswap.md): C 59 vs B 63.3\n- [Hyperliquid vs Uniswap Trading API](https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.md): D 50 vs B 63.3\n- [Kraken API vs Uniswap Trading API](https://www.anchorterminal.com/compare/kraken-vs-uniswap.md): BB 71 vs B 63.3\n- [OKX API vs Uniswap Trading API](https://www.anchorterminal.com/compare/okx-vs-uniswap.md): B 64.3 vs B 63.3\n- [Uniswap Trading API vs Upbit Open API](https://www.anchorterminal.com/compare/uniswap-vs-upbit.md): B 63.3 vs C 54.7\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on uniswap.org or one of its subdomains, or the README at the root of github.com/Uniswap/uniswap-ai. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"uniswap\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/uniswap\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/uniswap.svg\" alt=\"Uniswap Trading API on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Uniswap Trading API on Anchor Terminal](https://www.anchorterminal.com/badges/uniswap.svg)](https://www.anchorterminal.com/tools/uniswap)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/uniswap\"\u003eUniswap Trading API on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Uniswap Trading API is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/uniswap-dark.png\n- Light: https://www.anchorterminal.com/assets/share/uniswap-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Crypto exchanges",
        "url": "https://www.anchorterminal.com/categories/crypto-exchanges"
      },
      {
        "name": "Uniswap Trading API",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #446 of 1349",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "Uniswap Trading API",
    "image": "https://www.anchorterminal.com/assets/og/tools-uniswap.png",
    "path": "/tools/uniswap",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Uniswap Trading review (2026): pricing, alternatives and grade B",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/tools/uniswap"
  },
  "tokens": {
    "markdown": 8450,
    "slim": 2380
  },
  "version": 1
}
