{
  "data": {
    "a": {
      "slug": "kucoin",
      "name": "KuCoin",
      "vendor": "KuCoin",
      "vendorUrl": "https://www.kucoin.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "KuCoin is a centralised crypto exchange for spot, margin and futures trading and earn products, reached through its REST and WebSocket API with a unified trading account, an official multi-language SDK and read-only agent skills. It runs no MCP server.",
      "url": "https://www.anchorterminal.com/tools/kucoin",
      "markdownUrl": "https://www.anchorterminal.com/tools/kucoin.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kucoin.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kucoin.json",
      "dns": "kucoin.grade.anchorterminal.com",
      "repo": "https://github.com/Kucoin/kucoin-universal-sdk",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key, secret and user-set passphrase minted under API Management after a browser sign-up and identity verification, with KC-API-KEY, KC-API-SIGN (HMAC-SHA256 over timestamp, method, path and body, Base64), KC-API-TIMESTAMP, KC-API-PASSPHRASE (the passphrase signed with the secret) and KC-API-KEY-VERSION headers. Permissions are General (read-only), Spot, Margin, Futures, Earn, Withdrawal, FlexTransfers, LeadtradeFutures and Unified; Withdrawal and FlexTransfers need an IP allow-list, and a key with trading permissions and no IP bound has trading disabled or is deleted after 30 days of inactivity. General-only keys do not expire (https://www.kucoin.com/docs-new/authentication, https://www.kucoin.com/docs-new/ and https://www.kucoin.com/support/360015102174, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing; trades carry KuCoin's fees. Spot fee levels are set against a base of 0.1 per cent maker and 0.1 per cent taker at LV0, with some pairs priced differently and a 20 per cent discount when fees are paid in KCS. The futures LV0 rate (0.02 per cent maker and 0.06 per cent taker per a KuCoin blog post) sits in an image on the support page and was not read first-hand. The fee page itself loads its table by script (https://www.kucoin.com/support/360015188494 and https://www.kucoin.com/en-eu/support/360015207133, checked 2026-11-03).",
      "priceSummary": "0.1% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the skills hub or the fee pages (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.kucoin.com/docs-new/",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "usage-priced",
        "no-status-page",
        "agent-skills",
        "python",
        "typescript",
        "go",
        "java",
        "php"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.9,
        "grade": "D",
        "agentReady": false,
        "rank": 825,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 73,
          "payments": 35,
          "reliability": 45,
          "schema": 60,
          "security": 55,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.",
        "bestFor": "An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.",
        "strengths": [
          "Rate limits published per VIP level with per-endpoint weights and gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset headers, 429000 on breach",
          "API key permissions split into General, Spot, Margin, Futures, Earn, Withdrawal, FlexTransfers and Unified, with Withdrawal and FlexTransfers requiring an IP allow-list",
          "Official kucoin-universal-sdk for Go, Python, Node.js, PHP and Java, MIT, pushed September 2026",
          "Unified Trading Account API V2 with a dated changelog and unified six-digit error codes",
          "Seven read-only agent skills in a KuCoin-published repository, installable with the skills CLI"
        ],
        "weaknesses": [
          "No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package",
          "No sandbox or testnet; the legacy sandbox is offline and the docs point to mocking",
          "No status page, incident history or SLA found",
          "No OpenAPI file or llms.txt; the SDK page links a Postman workspace instead",
          "Terms name no company and fix the Turks and Caicos Islands as the deemed place of every transaction; the privacy policy names only KuCoin"
        ],
        "agentNotes": [
          "Mint a key with General only for research; add Spot or Futures only with an IP allow-list, since unbound trading keys are disabled after 30 days of inactivity",
          "Send a UUID clientOid on every order and keep it for the retry, and read the order back by clientOid before placing again",
          "Budget requests by weight against gw-ratelimit-remaining and sleep for gw-ratelimit-reset milliseconds on 429000; sub-accounts share the pool",
          "There is no sandbox, so rehearse with the smallest order size on a dedicated sub-account",
          "Use the UTA V2 endpoints and hosts; the Classic API loses endpoints without notice, as the margin credit endpoints did on 21 October 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.9
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 73,
          "payments": 35,
          "reliability": 45,
          "schema": 60,
          "security": 55,
          "transparency": 52
        },
        "provenanceScore": 55,
        "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
        }
      },
      "connect": {
        "http": "curl https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/kucoin"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, LV0 maker or taker",
          "unit": "pct",
          "usd": 0.1,
          "note": "base rate; some pairs differ, 20 per cent off in KCS"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "kucoin.com",
        "domainRegistered": "2013-11-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.kucoin.com/support/47185419968079",
        "privacy": "https://www.kucoin.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.kucoin.com/docs-new/change-log",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 29 October 2026) name no company; they deem all activity to occur in the Turks and Caicos Islands under its law with SIAC arbitration. /legal/terms-of-use is a shell page that links the support article recorded here. The privacy policy (dated 10/05/2026 in an ambiguous format) names KuCoin as controller with no company name.",
          "www.kucoin.com/robots.txt disallows assets, order and account paths only; docs-new and support pages are allowed.",
          "RDAP gives kucoin.com a registration date of 13 November 2013 (Amazon Registrar).",
          "https://www.kucoin.com/.well-known/security.txt answers 404. No status page found; status.kucoin.com does not resolve and the docs link none.",
          "The docs changelog is dated by day; its newest entry is dated 6 November 2026, three days ahead of the check, and the newest past entry 2 November 2026."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kucoin.json",
      "live": {
        "slug": "kucoin",
        "versions": [
          {
            "registry": "github",
            "name": "Kucoin/kucoin-universal-sdk",
            "version": "v1.3.1",
            "released": "2026-05-29",
            "seenAt": "2026-11-04T20:29:03.487838607Z"
          }
        ],
        "githubStars": 55,
        "securityTxt": {
          "url": "https://kucoin.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:04.738329571Z"
        },
        "updatedAt": "2026-11-04T20:29:03.487838607Z"
      }
    },
    "answer": "Uniswap Trading API scores 63.3 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "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": 470,
        "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"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "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
        }
      },
      "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"
      },
      "area": "payments",
      "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
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/uniswap.json",
      "live": {
        "slug": "uniswap",
        "versions": [
          {
            "registry": "npm",
            "name": "@uniswap/v4-sdk",
            "version": "2.4.4",
            "seenAt": "2026-11-04T21:03:00.85617549Z"
          }
        ],
        "githubStars": 236,
        "npmWeekly": 154428,
        "securityTxt": {
          "url": "https://uniswap.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:09.573484239Z"
        },
        "updatedAt": "2026-11-04T21:03:01.375202726Z"
      }
    },
    "edges": [
      {
        "by": 30,
        "category": "schema",
        "leads": "uniswap",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or other machine-readable contract was found; the docs link a Postman workspace and the universal SDK is generated from an internal spec (8 of 25). No llms.txt; the skills hub ships Markdown SKILL.md files with endpoint tables for seven product areas, read-only (6 of 10). One docs page per endpoint with a description, permission and weight, but no when-to-use guidance (12 of 20). Typed parameter tables with enums for type and side and required flags (11 of 15). Request and response examples per endpoint and a unified six-digit error code scheme introduced with V2 (10 of 15). Dated changelog with V1 to V2 versioning (13 of 15). 60.",
          "b": "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."
        },
        "scores": {
          "a": 60,
          "b": 90
        }
      },
      {
        "by": 15,
        "category": "maintenance",
        "leads": "uniswap",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed hosted service. The changelog's newest past entry is 2 November 2026 and the universal SDK was pushed 15 September (30). Nine dated changelog entries since 5 August 2026 (20). A Telegram API group (t.me/KuCoin_API) and api@kucoin.com for limit requests, no public issue tracker for the API; the SDK repository's issues were not checked (10 of 25). Official SDKs current in five languages, no MCP registry presence (13 of 15). No package health signal checked (0 of 10). 73.",
          "b": "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."
        },
        "scores": {
          "a": 73,
          "b": 88
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "uniswap",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read for the API alone, since there is no MCP server. Responses take limit and cursor parameters on list endpoints and the order book depth is a parameter (14 of 25). Pagination and symbol filters on orders, fills and ledgers (15 of 20). Codes and messages per response, with the V2 scheme claimed to be clearer; the rate-limit page's own examples contradict its table, which costs an agent a turn (12 of 20). clientOid on orders makes retries safe; no MCP annotations to read (10 of 20). Three required fields on a spot order, official SDKs in five languages (11 of 15). 62.",
          "b": "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."
        },
        "scores": {
          "a": 62,
          "b": 72
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "uniswap",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "API key with a user-set passphrase, HMAC-SHA256 signing, nine permission groups, IP allow-lists required for Withdrawal and FlexTransfers, trading keys without an IP disabled after 30 days of inactivity, revocation on the management page; no OAuth and no expiry on General keys (24 of 30). A General-only key is a true read-only mode and withdrawals are a separate permission; no confirmation step for writes beyond the key scope (12 of 20). Tools return the exchange's own data (10). The API key info endpoint shows permissions and IP lists; no per-call audit log was found (5 of 15). No security.txt, no disclosure policy or bounty on a page we could read, a whistleblower notice on the legal page (4 of 20). 55.",
          "b": "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."
        },
        "scores": {
          "a": 55,
          "b": 63
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "uniswap",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The spot base fee is stated in support articles without login, the futures base rate and the full tier table sit in images or behind script (15 of 20). Market data needs no key, no card is asked for at sign-up (20). A person registers, verifies identity and mints the key in a browser (0). 35.",
          "b": "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."
        },
        "scores": {
          "a": 35,
          "b": 40
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "KuCoin",
        "b": "Uniswap Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "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",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-22",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "55 stars",
        "b": "236 stars, 154k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Uniswap Trading API scores 63.3 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, KuCoin or Uniswap Trading API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do KuCoin and Uniswap Trading API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for KuCoin. No hosted endpoint is listed for Uniswap Trading API.",
        "question": "Can an agent call KuCoin and Uniswap Trading API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.",
        "slug": "kucoin",
        "watchFor": "No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 90 against 60",
          "Agent ergonomics, 72 against 62",
          "Security \u0026 auth, 63 against 55",
          "Payments \u0026 pricing, 40 against 35",
          "Maintenance \u0026 community, 88 against 73"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "An agent swapping or bridging tokens from its own wallet on 21 EVM chains, or managing liquidity positions, with routing done for it.",
        "slug": "uniswap",
        "watchFor": "No official MCP server; the registry's Uniswap entries are third parties"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.market-data",
      "name": "Exchange market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.json",
        "title": "Bitfinex API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.json",
        "title": "Bitfinex API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-kucoin.json",
        "title": "Bitget vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-uniswap.json",
        "title": "Bitget vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin.json",
        "title": "Bithumb Open API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap.json",
        "title": "Bithumb Open API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-kucoin.json",
        "title": "Bitstamp API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-uniswap.json",
        "title": "Bitstamp API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-kucoin.json",
        "title": "Bybit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-uniswap.json",
        "title": "Bybit vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin.json",
        "title": "Crypto.com Exchange API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-uniswap.json",
        "title": "Crypto.com Exchange API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-uniswap.json",
        "title": "dYdX vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin.json",
        "title": "Gate vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-uniswap.json",
        "title": "Gate vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin.json",
        "title": "Gemini Exchange API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap.json",
        "title": "Gemini Exchange API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-kucoin.json",
        "title": "HTX trading API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-uniswap.json",
        "title": "HTX trading API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-mexc.json",
        "title": "KuCoin vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-okx.json",
        "title": "KuCoin vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-upbit.json",
        "title": "KuCoin vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mexc-vs-uniswap.json",
        "title": "MEXC API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/mexc-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-kucoin.json",
        "title": "Binance API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/binance-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-uniswap.json",
        "title": "Binance API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.json",
        "title": "Coinbase Advanced Trade API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap.json",
        "title": "Coinbase Advanced Trade API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kucoin.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-uniswap.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-uniswap.json",
        "title": "Deribit vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.json",
        "title": "Hyperliquid vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-kucoin.json",
        "title": "Kraken API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-uniswap.json",
        "title": "Kraken API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/okx-vs-uniswap.json",
        "title": "OKX API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/okx-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/uniswap-vs-upbit.json",
        "title": "Uniswap Trading API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/uniswap-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-kucoin.json",
        "title": "Deribit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-kucoin.json",
        "title": "dYdX vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.json",
        "title": "Hyperliquid vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 3,
        "edge": "kucoin",
        "key": "reliability",
        "kucoin": 45,
        "name": "Reliability",
        "uniswap": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 30,
        "edge": "uniswap",
        "key": "schema",
        "kucoin": 60,
        "name": "Schema \u0026 documentation",
        "uniswap": 90,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "uniswap",
        "key": "ergonomics",
        "kucoin": 62,
        "name": "Agent ergonomics",
        "uniswap": 72,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "uniswap",
        "key": "security",
        "kucoin": 55,
        "name": "Security \u0026 auth",
        "uniswap": 63,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "uniswap",
        "key": "payments",
        "kucoin": 35,
        "name": "Payments \u0026 pricing",
        "uniswap": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "uniswap",
        "key": "maintenance",
        "kucoin": 73,
        "name": "Maintenance \u0026 community",
        "uniswap": 88,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "uniswap",
        "key": "transparency",
        "kucoin": 54,
        "name": "Transparency \u0026 trust",
        "uniswap": 55,
        "weight": 7
      }
    ],
    "summary": "Uniswap Trading API scores 63.3 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 6 of 7 scored categories. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "kucoin": "KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.",
      "uniswap": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap",
    "json": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap.min.md"
  },
  "markdown": "Uniswap Trading API scores 63.3 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 6 of 7 scored categories. Both do exchange market data.\n\n- KuCoin: grade D, 53.9/100, rank #825 of 1349. Markdown https://www.anchorterminal.com/tools/kucoin.md · JSON https://www.anchorterminal.com/api/v1/tools/kucoin.json\n- Uniswap Trading API: grade B, 63.3/100, rank #470 of 1349. Markdown https://www.anchorterminal.com/tools/uniswap.md · JSON https://www.anchorterminal.com/api/v1/tools/uniswap.json\n- 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## Which one, for what\n\n### KuCoin (D)\n\nGood for: An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.\n\nWatch for: No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package\n\n### Uniswap Trading API (B)\n\nGood for: An agent swapping or bridging tokens from its own wallet on 21 EVM chains, or managing liquidity positions, with routing done for it.\n\nAhead on:\n- Schema \u0026 documentation, 90 against 60\n- Agent ergonomics, 72 against 62\n- Security \u0026 auth, 63 against 55\n- Payments \u0026 pricing, 40 against 35\n- Maintenance \u0026 community, 88 against 73\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No official MCP server; the registry's Uniswap entries are third parties\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Uniswap Trading API +30\n\n- KuCoin (60): No OpenAPI or other machine-readable contract was found; the docs link a Postman workspace and the universal SDK is generated from an internal spec (8 of 25). No llms.txt; the skills hub ships Markdown SKILL.md files with endpoint tables for seven product areas, read-only (6 of 10). One docs page per endpoint with a description, permission and weight, but no when-to-use guidance (12 of 20). Typed parameter tables with enums for type and side and required flags (11 of 15). Request and response examples per endpoint and a unified six-digit error code scheme introduced with V2 (10 of 15). Dated changelog with V1 to V2 versioning (13 of 15). 60.\n- Uniswap Trading API (90): 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\n### Maintenance \u0026 community: Uniswap Trading API +15\n\n- KuCoin (73): Read as a closed hosted service. The changelog's newest past entry is 2 November 2026 and the universal SDK was pushed 15 September (30). Nine dated changelog entries since 5 August 2026 (20). A Telegram API group (t.me/KuCoin_API) and api@kucoin.com for limit requests, no public issue tracker for the API; the SDK repository's issues were not checked (10 of 25). Official SDKs current in five languages, no MCP registry presence (13 of 15). No package health signal checked (0 of 10). 73.\n- Uniswap Trading API (88): 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\n### Agent ergonomics: Uniswap Trading API +10\n\n- KuCoin (62): Read for the API alone, since there is no MCP server. Responses take limit and cursor parameters on list endpoints and the order book depth is a parameter (14 of 25). Pagination and symbol filters on orders, fills and ledgers (15 of 20). Codes and messages per response, with the V2 scheme claimed to be clearer; the rate-limit page's own examples contradict its table, which costs an agent a turn (12 of 20). clientOid on orders makes retries safe; no MCP annotations to read (10 of 20). Three required fields on a spot order, official SDKs in five languages (11 of 15). 62.\n- Uniswap Trading API (72): 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\n### Security \u0026 auth: Uniswap Trading API +8\n\n- KuCoin (55): API key with a user-set passphrase, HMAC-SHA256 signing, nine permission groups, IP allow-lists required for Withdrawal and FlexTransfers, trading keys without an IP disabled after 30 days of inactivity, revocation on the management page; no OAuth and no expiry on General keys (24 of 30). A General-only key is a true read-only mode and withdrawals are a separate permission; no confirmation step for writes beyond the key scope (12 of 20). Tools return the exchange's own data (10). The API key info endpoint shows permissions and IP lists; no per-call audit log was found (5 of 15). No security.txt, no disclosure policy or bounty on a page we could read, a whistleblower notice on the legal page (4 of 20). 55.\n- Uniswap Trading API (63): 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\n### Payments \u0026 pricing: Uniswap Trading API +5\n\n- KuCoin (35): No machine payment protocol (0). The spot base fee is stated in support articles without login, the futures base rate and the full tier table sit in images or behind script (15 of 20). Market data needs no key, no card is asked for at sign-up (20). A person registers, verifies identity and mints the key in a browser (0). 35.\n- Uniswap Trading API (40): 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\n## Score by category\n\n| Category | Weight | KuCoin | Uniswap Trading API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 42 | KuCoin +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 60 | 90 | Uniswap Trading API +30 |\n| Agent ergonomics | 13% (16.2 this run) | 62 | 72 | Uniswap Trading API +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 55 | 63 | Uniswap Trading API +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | Uniswap Trading API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 73 | 88 | Uniswap Trading API +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 54 | 55 | Uniswap Trading API +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **53.9 · D** | **63.3 · B** | |\n\n## Facts side by side\n\n| Fact | KuCoin | Uniswap Trading API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | KuCoin | Uniswap Labs |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | API key |\n| Pricing | Pay per use | Free |\n| x402 | no | no |\n| Licence | none | 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 | none | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-02 | 2026-10-22 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 55 stars | 236 stars, 154k npm/wk |\n\n## Verdicts\n\n**KuCoin.** KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.\n\n**Uniswap Trading API.** 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.\n\n## Before you call either\n\n### KuCoin\n\n1. Mint a key with General only for research; add Spot or Futures only with an IP allow-list, since unbound trading keys are disabled after 30 days of inactivity\n2. Send a UUID clientOid on every order and keep it for the retry, and read the order back by clientOid before placing again\n3. Budget requests by weight against gw-ratelimit-remaining and sleep for gw-ratelimit-reset milliseconds on 429000; sub-accounts share the pool\n4. There is no sandbox, so rehearse with the smallest order size on a dedicated sub-account\n5. Use the UTA V2 endpoints and hosts; the Classic API loses endpoints without notice, as the margin credit endpoints did on 21 October 2026\n\n### Uniswap Trading API\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## Questions\n\n### Which is better for AI agents, KuCoin or Uniswap Trading API?\n\nUniswap Trading API scores 63.3 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 6 of 7 scored categories.\n\n### Do KuCoin and Uniswap Trading API need an API key?\n\nBoth need an API key.\n\n### Can an agent call KuCoin and Uniswap Trading API without installing anything?\n\nNo hosted endpoint is listed for KuCoin. No hosted endpoint is listed for Uniswap Trading API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/kucoin-vs-uniswap.json, and with the fewest tokens: https://www.anchorterminal.com/compare/kucoin-vs-uniswap.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"kucoin\", \"b\": \"uniswap\"}`. From a terminal: `anchor compare kucoin uniswap`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/kucoin.json and https://www.anchorterminal.com/api/v1/tools/uniswap.json\n\n## Other comparisons with KuCoin or Uniswap Trading API\n\n- [Bitfinex API vs KuCoin](https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.md)\n- [Bitfinex API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.md)\n- [Bitget vs KuCoin](https://www.anchorterminal.com/compare/bitget-vs-kucoin.md)\n- [Bitget vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitget-vs-uniswap.md)\n- [Bithumb Open API vs KuCoin](https://www.anchorterminal.com/compare/bithumb-vs-kucoin.md)\n- [Bithumb Open API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bithumb-vs-uniswap.md)\n- [Bitstamp API vs KuCoin](https://www.anchorterminal.com/compare/bitstamp-vs-kucoin.md)\n- [Bitstamp API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitstamp-vs-uniswap.md)\n- [Bybit vs KuCoin](https://www.anchorterminal.com/compare/bybit-vs-kucoin.md)\n- [Bybit vs Uniswap Trading API](https://www.anchorterminal.com/compare/bybit-vs-uniswap.md)\n- [Crypto.com Exchange API vs KuCoin](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin.md)\n- [Crypto.com Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-uniswap.md)\n- [dYdX vs Uniswap Trading API](https://www.anchorterminal.com/compare/dydx-vs-uniswap.md)\n- [Gate vs KuCoin](https://www.anchorterminal.com/compare/gate-io-vs-kucoin.md)\n- [Gate vs Uniswap Trading API](https://www.anchorterminal.com/compare/gate-io-vs-uniswap.md)\n- [Gemini Exchange API vs KuCoin](https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin.md)\n- [Gemini Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap.md)\n- [HTX trading API vs KuCoin](https://www.anchorterminal.com/compare/htx-vs-kucoin.md)\n- [HTX trading API vs Uniswap Trading API](https://www.anchorterminal.com/compare/htx-vs-uniswap.md)\n- [KuCoin vs MEXC API](https://www.anchorterminal.com/compare/kucoin-vs-mexc.md)\n- [KuCoin vs OKX API](https://www.anchorterminal.com/compare/kucoin-vs-okx.md)\n- [KuCoin vs Upbit Open API](https://www.anchorterminal.com/compare/kucoin-vs-upbit.md)\n- [MEXC API vs Uniswap Trading API](https://www.anchorterminal.com/compare/mexc-vs-uniswap.md)\n- [Binance API vs KuCoin](https://www.anchorterminal.com/compare/binance-vs-kucoin.md)\n- [Binance API vs Uniswap Trading API](https://www.anchorterminal.com/compare/binance-vs-uniswap.md)\n- [Coinbase Advanced Trade API vs KuCoin](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.md)\n- [Coinbase Advanced Trade API vs Uniswap Trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap.md)\n- [Coinbase MCP server (Coinbase for Agents) vs KuCoin](https://www.anchorterminal.com/compare/coinbase-mcp-vs-kucoin.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Uniswap Trading API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-uniswap.md)\n- [Deribit vs Uniswap Trading API](https://www.anchorterminal.com/compare/deribit-vs-uniswap.md)\n- [Hyperliquid vs Uniswap Trading API](https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.md)\n- [Kraken API vs KuCoin](https://www.anchorterminal.com/compare/kraken-vs-kucoin.md)\n- [Kraken API vs Uniswap Trading API](https://www.anchorterminal.com/compare/kraken-vs-uniswap.md)\n- [OKX API vs Uniswap Trading API](https://www.anchorterminal.com/compare/okx-vs-uniswap.md)\n- [Uniswap Trading API vs Upbit Open API](https://www.anchorterminal.com/compare/uniswap-vs-upbit.md)\n- [Deribit vs KuCoin](https://www.anchorterminal.com/compare/deribit-vs-kucoin.md)\n- [dYdX vs KuCoin](https://www.anchorterminal.com/compare/dydx-vs-kucoin.md)\n- [Hyperliquid vs KuCoin](https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.md)\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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "KuCoin vs Uniswap Trading API",
        "url": ""
      }
    ],
    "description": "Uniswap Trading scores 63.3 (B) to KuCoin's 53.9 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "KuCoin D 53.9",
      "Uniswap Trading API B 63.3",
      "scores"
    ],
    "h1": "KuCoin vs Uniswap Trading API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/kucoin-vs-uniswap",
    "published": "2026-10-01",
    "section": "tools",
    "title": "KuCoin vs Uniswap Trading for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2330
  },
  "version": 1
}
