{
  "data": {
    "a": {
      "slug": "bithumb",
      "name": "Bithumb Open API",
      "vendor": "Bithumb Co., Ltd.",
      "vendorUrl": "https://apidocs.bithumb.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Bithumb, a Korean exchange, runs a REST and WebSocket Open API for KRW market data, orders, balances, deposits and withdrawals, and an official AI Trade Kit with a local MCP server, a CLI and agent skills.",
      "url": "https://www.anchorterminal.com/tools/bithumb",
      "markdownUrl": "https://www.anchorterminal.com/tools/bithumb.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bithumb.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bithumb.json",
      "dns": "bithumb.grade.anchorterminal.com",
      "repo": "https://github.com/bithumb-official/bithumb-ai-trade-kit",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@bithumb-official/bithumb-mcp"
        },
        {
          "registry": "npm",
          "name": "@bithumb-official/bithumb-cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access and secret keys issued under My Page \u003e API Management on bithumb.com after identity verification. The person picks permissions (asset inquiry, order inquiry, place orders, withdrawals and others) and registers the IP addresses allowed to call. Each request carries a JWT signed with the secret as a Bearer token. Keys are valid for one year from issue and can't be extended; up to 10 per account including expired ones; the secret is shown once. The MCP server and CLI read BITHUMB_ACCESS_KEY and BITHUMB_SECRET_KEY, and market tools need no key (https://apidocs.bithumb.com/docs/빠른-시작-가이드.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "Trading fees per fill. The fee page at bithumb.com/react/info/fee/trade timed out on every attempt, so no rate is recorded; press reports from 2024 describe a 0.04 per cent rate with a monthly coupon and 0.25 per cent without, which is a lead and not a source. Public market data needs no key and no account (https://www.bithumb.com/react/info/fee/trade, checked 2026-11-03).",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the AI Trade Kit repository or llms.txt (checked 2026-11-03). Fees are taken from each fill.",
        "endpoints": []
      },
      "toolCount": 41,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://apidocs.bithumb.com/reference/api-레퍼런스",
      "llmsTxt": "https://apidocs.bithumb.com/llms.txt",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.balances",
        "exchange.transfers",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "api-key",
        "closed-source",
        "usage-priced",
        "mcp",
        "cli",
        "agent-skills",
        "read-only-mode",
        "llms-txt",
        "mit",
        "no-status-page"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.6,
        "grade": "D",
        "agentReady": false,
        "rank": 940,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 69,
          "payments": 15,
          "reliability": 34,
          "schema": 64,
          "security": 60,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Bithumb runs an official local MCP server with 41 tools, module selection and a read-only flag, beside a CLI with per-profile read-only gating and six agent skills, over an API with scoped one-year keys and a mandatory IP list. There is no sandbox, no status page, no documented 429 behaviour, and the fees and terms couldn't be read.",
        "bestFor": "KRW-market trading for agents acting for a verified Korean account, with a vendor-built MCP server, CLI and skills.",
        "strengths": [
          "An official MCP server from Bithumb with 41 tools in seven selectable modules and a `--read-only` flag that blocks orders, deposits and withdrawals",
          "Keys scoped to chosen permissions, limited to registered IPs and expiring after one year, with a key-list endpoint that shows expiry",
          "The CLI's per-profile read-only flag, local audit log and second factor on KRW deposits and withdrawals, and skills that refuse to bypass read-only",
          "Rate limits published per category with numbers, and notices with effective dates for changes such as the 200-market ticker cap",
          "Errors return a stable error.name under an HTTP status, with retry guidance for order_not_ready and server_error"
        ],
        "weaknesses": [
          "No sandbox or testnet; every order uses real funds",
          "A rate-limit breach is signalled only as a temporary restriction, with no status code, header or Retry-After documented",
          "No status page, incident history or SLA",
          "The MCP server is local only, not in the official MCP registry, and its source is not published (the kit repository holds skills and setup files)",
          "The fee schedule, terms of service and Open API terms on bithumb.com timed out or answered a title only, so none is recorded first-hand"
        ],
        "agentNotes": [
          "Ask for a key with asset and order inquiry plus order placement only, never withdrawals, with your IP registered; keys expire after one year and a wrong IP answers 401 NotAllowIP",
          "Start the server with `--modules market,account,trade --read-only` for analysis and drop `--read-only` only when the person asks to trade; deposit and withdraw modules stay off",
          "Prefer the `bithumb` CLI for writes, as the skills do, and check `bithumb config show --json` for a read-only profile before any order",
          "Keep the ticker's markets parameter at 200 or fewer, batch orders at 30 and cancels at 30 per request, and stay under 140 private calls a second per category",
          "Retry 422 order_not_ready and 500 server_error after a pause; there is no sandbox, so start with the smallest order the market allows"
        ],
        "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": 50.6
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 69,
          "payments": 15,
          "reliability": 34,
          "schema": 64,
          "security": 60,
          "transparency": 24
        },
        "provenanceScore": 69,
        "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": "npm install -g @bithumb-official/bithumb-cli",
        "http": "curl 'https://api.bithumb.com/v1/market/all?isDetails=false'",
        "config": {
          "mcpServers": {
            "bithumb": {
              "args": [
                "-y",
                "@bithumb-official/bithumb-mcp",
                "--modules",
                "market,account,trade",
                "--read-only"
              ],
              "command": "npx",
              "env": {
                "BITHUMB_ACCESS_KEY": "${BITHUMB_ACCESS_KEY}",
                "BITHUMB_SECRET_KEY": "${BITHUMB_SECRET_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/bithumb"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Bithumb Co., Ltd.",
        "domain": "bithumb.com",
        "domainRegistered": "2015-06-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bithumb.com/react/terms/info-terms",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://apidocs.bithumb.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "Bithumb Co., Ltd. is named in the AI Trade Kit's disclaimer (compliance review 007441, 29 May 2026 to 28 May 2027). The terms of service at bithumb.com/react/terms/info-terms answered a page title only on two attempts, and the Open API terms, company page and fee pages timed out or did the same; no privacy policy URL was found in the sitemap's first part, so it is left empty.",
          "www.bithumb.com/robots.txt has no active rules (comments only) and two sitemaps; apidocs.bithumb.com/robots.txt allows everything but edit, login and api-next paths and points to llms.txt.",
          "https://www.bithumb.com/.well-known/security.txt timed out twice; recorded as unknown.",
          "RDAP gives bithumb.com a registration date of 16 June 2015.",
          "No status page found; the API has wallet-status and notices endpoints."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bithumb.json",
      "live": {
        "slug": "bithumb",
        "versions": [
          {
            "registry": "npm",
            "name": "@bithumb-official/bithumb-cli",
            "version": "0.8.5",
            "seenAt": "2026-11-04T20:02:56.600783413Z"
          },
          {
            "registry": "npm",
            "name": "@bithumb-official/bithumb-mcp",
            "version": "0.8.5",
            "seenAt": "2026-11-04T20:02:55.754674786Z"
          }
        ],
        "githubStars": 6,
        "npmWeekly": 87,
        "securityTxt": {
          "url": "https://bithumb.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:26.914675257Z"
        },
        "updatedAt": "2026-11-04T20:02:57.989976217Z"
      }
    },
    "answer": "Uniswap Trading API scores 63.3 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category.",
    "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",
        "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"
      }
    },
    "edges": [
      {
        "by": 26,
        "category": "schema",
        "leads": "uniswap",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI found; the reference is a readme.io site with Markdown twins, and the MCP tool schemas weren't read since the server's source isn't published (5 of 25). llms.txt on apidocs.bithumb.com (10). Reference pages state purpose and the skills say when to use each module and when not to (15 of 20). Typed parameters with enums for side, order type and time in force (10 of 15). Examples in several languages and an error-code page with names, statuses and meanings (12 of 15). Versions per endpoint (v1, v2, v2.1.5) and notices with effective dates (12 of 15). 5 + 10 + 15 + 10 + 12 + 12 = 64.",
          "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": 64,
          "b": 90
        }
      },
      {
        "by": 25,
        "category": "payments",
        "leads": "uniswap",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The fee page timed out on every attempt, so no price is recorded (0 of 20, unchecked). Public market data needs no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys in the browser (0). 0 + 0 + 15 + 0 = 15.",
          "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": 15,
          "b": 40
        }
      },
      {
        "by": 19,
        "category": "maintenance",
        "leads": "uniswap",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. Rate limits updated 27 October 2026 and the ticker cap effective 13 October 2026 (30). Batch orders 20 August, Private v1 retired 30 September, the ticker cap 13 October and the limits page 27 October 2026 (20). A phone support line, dated notices and a GitHub repository with no open issues and one commit; replies not observed (9 of 15). The MCP server is not in the official MCP registry and there is no SDK; the CLI and MCP packages are current (5 of 15). The MCP package depends only on @modelcontextprotocol/sdk ^1.26 on Node 18, with no public source or CI (5 of 10). 30 + 20 + 9 + 5 + 5 = 69.",
          "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": 69,
          "b": 88
        }
      },
      {
        "by": 8,
        "category": "reliability",
        "leads": "uniswap",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page found on apidocs.bithumb.com or in llms.txt; wallet-status and notices endpoints stand in (0). No readable incident history, though two notices record a public WebSocket interruption and a brief service break (5). Rate limits documented per category with numbers, updated 27 October 2026 (15). A breach is described only as a temporary restriction, with no status code, header or Retry-After, and no client order id or idempotency key is documented; 422 order_not_ready and 500 server_error say to retry later (4 of 15). No SLA found (0). The API is generally available; the MCP server and CLI are at 0.8.5 (10). 0 + 5 + 15 + 4 + 0 + 10 = 34.",
          "b": "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."
        },
        "scores": {
          "a": 34,
          "b": 42
        }
      },
      {
        "by": 8,
        "category": "transparency",
        "leads": "uniswap",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service whose terms couldn't be read (timeouts and a title-only page); the kit is MIT with a disclaimer naming Bithumb Co., Ltd. (10 of 30). No privacy policy read (0 of 30, unchecked). Dated retirement of WebSocket Private v1 and effective dates on breaking notices (14 of 20). No subprocessor or data-location statement read (0 of 20). 10 + 0 + 14 + 0 = 24.",
          "b": "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."
        },
        "scores": {
          "a": 47,
          "b": 55
        }
      },
      {
        "by": 5,
        "category": "ergonomics",
        "leads": "uniswap",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the REST API with the MCP server. 41 tools in all, selectable by module, so 15 for 11 to 30 or more and 8 added back for the module switch (23 of 25). Candle counts, order paging and a 200-market cap on the ticker (13 of 20). Stable error.name values with retry guidance for order_not_ready and server_error (14 of 20). No client order id or idempotency key documented; the CLI's per-profile read-only flag, the MCP --read-only flag and the skills' read-only gate help, and readOnlyHint annotations weren't checked (9 of 20). Few required parameters, but no official SDK beyond the CLI and a CCXT guide (8 of 15). 23 + 13 + 14 + 9 + 8 = 67.",
          "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": 67,
          "b": 72
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bithumb Co., Ltd.",
        "b": "Uniswap Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "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": "41",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-13",
        "b": "2026-10-22",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars",
        "b": "236 stars, 154k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Uniswap Trading API scores 63.3 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Bithumb Open API or Uniswap Trading API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Bithumb Open API and Uniswap Trading API need an API key?"
      },
      {
        "answer": "Bithumb Open API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Uniswap Trading API.",
        "question": "Can an agent call Bithumb Open API and Uniswap Trading API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "KRW-market trading for agents acting for a verified Korean account, with a vendor-built MCP server, CLI and skills.",
        "slug": "bithumb",
        "watchFor": "No sandbox or testnet; every order uses real funds"
      },
      {
        "aheadOn": [
          "Reliability, 42 against 34",
          "Schema \u0026 documentation, 90 against 64",
          "Agent ergonomics, 72 against 67",
          "Payments \u0026 pricing, 40 against 15",
          "Maintenance \u0026 community, 88 against 69",
          "Transparency \u0026 trust, 55 against 47"
        ],
        "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-bithumb.json",
        "title": "Bitfinex API vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bithumb"
      },
      {
        "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-bithumb.json",
        "title": "Bitget vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bithumb"
      },
      {
        "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-bitstamp.json",
        "title": "Bithumb Open API vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-bybit.json",
        "title": "Bithumb Open API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-bybit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade.json",
        "title": "Bithumb Open API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-mcp.json",
        "title": "Bithumb Open API vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-crypto-com-exchange.json",
        "title": "Bithumb Open API vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-deribit.json",
        "title": "Bithumb Open API vs Deribit",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-dydx.json",
        "title": "Bithumb Open API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-gate-io.json",
        "title": "Bithumb Open API vs Gate",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.json",
        "title": "Bithumb Open API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-htx.json",
        "title": "Bithumb Open API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.json",
        "title": "Bithumb Open API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-kraken.json",
        "title": "Bithumb Open API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kraken"
      },
      {
        "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-mexc.json",
        "title": "Bithumb Open API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-okx.json",
        "title": "Bithumb Open API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-upbit.json",
        "title": "Bithumb Open API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-upbit"
      },
      {
        "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-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-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-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-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-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-uniswap.json",
        "title": "KuCoin vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap"
      },
      {
        "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-bithumb.json",
        "title": "Binance API vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-bithumb"
      },
      {
        "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-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-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-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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bithumb": 34,
        "by": 8,
        "edge": "uniswap",
        "key": "reliability",
        "name": "Reliability",
        "uniswap": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bithumb": 64,
        "by": 26,
        "edge": "uniswap",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "uniswap": 90,
        "weight": 13
      },
      {
        "bithumb": 67,
        "by": 5,
        "edge": "uniswap",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "uniswap": 72,
        "weight": 13
      },
      {
        "bithumb": 60,
        "by": 3,
        "edge": "uniswap",
        "key": "security",
        "name": "Security \u0026 auth",
        "uniswap": 63,
        "weight": 14
      },
      {
        "bithumb": 15,
        "by": 25,
        "edge": "uniswap",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "uniswap": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bithumb": 69,
        "by": 19,
        "edge": "uniswap",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "uniswap": 88,
        "weight": 7
      },
      {
        "bithumb": 47,
        "by": 8,
        "edge": "uniswap",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "uniswap": 55,
        "weight": 7
      }
    ],
    "summary": "Uniswap Trading API scores 63.3 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bithumb": "Bithumb runs an official local MCP server with 41 tools, module selection and a read-only flag, beside a CLI with per-profile read-only gating and six agent skills, over an API with scoped one-year keys and a mandatory IP list. There is no sandbox, no status page, no documented 429 behaviour, and the fees and terms couldn't be read.",
      "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/bithumb-vs-uniswap",
    "json": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap.min.md"
  },
  "markdown": "Uniswap Trading API scores 63.3 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category. Both do exchange market data.\n\n- Bithumb Open API: grade D, 50.6/100, rank #940 of 1349. Markdown https://www.anchorterminal.com/tools/bithumb.md · JSON https://www.anchorterminal.com/api/v1/tools/bithumb.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### Bithumb Open API (D)\n\nGood for: KRW-market trading for agents acting for a verified Korean account, with a vendor-built MCP server, CLI and skills.\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No sandbox or testnet; every order uses real funds\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- Reliability, 42 against 34\n- Schema \u0026 documentation, 90 against 64\n- Agent ergonomics, 72 against 67\n- Payments \u0026 pricing, 40 against 15\n- Maintenance \u0026 community, 88 against 69\n- Transparency \u0026 trust, 55 against 47\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 +26\n\n- Bithumb Open API (64): No OpenAPI found; the reference is a readme.io site with Markdown twins, and the MCP tool schemas weren't read since the server's source isn't published (5 of 25). llms.txt on apidocs.bithumb.com (10). Reference pages state purpose and the skills say when to use each module and when not to (15 of 20). Typed parameters with enums for side, order type and time in force (10 of 15). Examples in several languages and an error-code page with names, statuses and meanings (12 of 15). Versions per endpoint (v1, v2, v2.1.5) and notices with effective dates (12 of 15). 5 + 10 + 15 + 10 + 12 + 12 = 64.\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### Payments \u0026 pricing: Uniswap Trading API +25\n\n- Bithumb Open API (15): No machine payment protocol (0). The fee page timed out on every attempt, so no price is recorded (0 of 20, unchecked). Public market data needs no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys in the browser (0). 0 + 0 + 15 + 0 = 15.\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### Maintenance \u0026 community: Uniswap Trading API +19\n\n- Bithumb Open API (69): Read as a closed service. Rate limits updated 27 October 2026 and the ticker cap effective 13 October 2026 (30). Batch orders 20 August, Private v1 retired 30 September, the ticker cap 13 October and the limits page 27 October 2026 (20). A phone support line, dated notices and a GitHub repository with no open issues and one commit; replies not observed (9 of 15). The MCP server is not in the official MCP registry and there is no SDK; the CLI and MCP packages are current (5 of 15). The MCP package depends only on @modelcontextprotocol/sdk ^1.26 on Node 18, with no public source or CI (5 of 10). 30 + 20 + 9 + 5 + 5 = 69.\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### Reliability: Uniswap Trading API +8\n\n- Bithumb Open API (34): Read with the hosted lines. No status page found on apidocs.bithumb.com or in llms.txt; wallet-status and notices endpoints stand in (0). No readable incident history, though two notices record a public WebSocket interruption and a brief service break (5). Rate limits documented per category with numbers, updated 27 October 2026 (15). A breach is described only as a temporary restriction, with no status code, header or Retry-After, and no client order id or idempotency key is documented; 422 order_not_ready and 500 server_error say to retry later (4 of 15). No SLA found (0). The API is generally available; the MCP server and CLI are at 0.8.5 (10). 0 + 5 + 15 + 4 + 0 + 10 = 34.\n- Uniswap Trading API (42): 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\n### Transparency \u0026 trust: Uniswap Trading API +8\n\n- Bithumb Open API (47): The editorial half. A closed service whose terms couldn't be read (timeouts and a title-only page); the kit is MIT with a disclaimer naming Bithumb Co., Ltd. (10 of 30). No privacy policy read (0 of 30, unchecked). Dated retirement of WebSocket Private v1 and effective dates on breaking notices (14 of 20). No subprocessor or data-location statement read (0 of 20). 10 + 0 + 14 + 0 = 24.\n- Uniswap Trading API (55): 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\n### Agent ergonomics: Uniswap Trading API +5\n\n- Bithumb Open API (67): Graded on the REST API with the MCP server. 41 tools in all, selectable by module, so 15 for 11 to 30 or more and 8 added back for the module switch (23 of 25). Candle counts, order paging and a 200-market cap on the ticker (13 of 20). Stable error.name values with retry guidance for order_not_ready and server_error (14 of 20). No client order id or idempotency key documented; the CLI's per-profile read-only flag, the MCP --read-only flag and the skills' read-only gate help, and readOnlyHint annotations weren't checked (9 of 20). Few required parameters, but no official SDK beyond the CLI and a CCXT guide (8 of 15). 23 + 13 + 14 + 9 + 8 = 67.\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## Score by category\n\n| Category | Weight | Bithumb Open API | Uniswap Trading API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 42 | Uniswap Trading API +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 64 | 90 | Uniswap Trading API +26 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 72 | Uniswap Trading API +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 63 | Uniswap Trading API +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 40 | Uniswap Trading API +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 88 | Uniswap Trading API +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 55 | Uniswap Trading API +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.6 · D** | **63.3 · B** | |\n\n## Facts side by side\n\n| Fact | Bithumb Open API | Uniswap Trading API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bithumb Co., Ltd. | Uniswap Labs |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio |  |\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 | 41 | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-13 | 2026-10-22 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models | couldn't be read | couldn't be read |\n| Terms restrict automated access | couldn't be read | couldn't be read |\n| Terms restrict benchmarking | couldn't be read | couldn't be read |\n| Terms or service can change without notice | couldn't be read | couldn't be read |\n| Arbitration or class-action waiver | couldn't be read | couldn't be read |\n| Popularity | 6 stars | 236 stars, 154k npm/wk |\n\n## Verdicts\n\n**Bithumb Open API.** Bithumb runs an official local MCP server with 41 tools, module selection and a read-only flag, beside a CLI with per-profile read-only gating and six agent skills, over an API with scoped one-year keys and a mandatory IP list. There is no sandbox, no status page, no documented 429 behaviour, and the fees and terms couldn't be read.\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### Bithumb Open API\n\n1. Ask for a key with asset and order inquiry plus order placement only, never withdrawals, with your IP registered; keys expire after one year and a wrong IP answers 401 NotAllowIP\n2. Start the server with `--modules market,account,trade --read-only` for analysis and drop `--read-only` only when the person asks to trade; deposit and withdraw modules stay off\n3. Prefer the `bithumb` CLI for writes, as the skills do, and check `bithumb config show --json` for a read-only profile before any order\n4. Keep the ticker's markets parameter at 200 or fewer, batch orders at 30 and cancels at 30 per request, and stay under 140 private calls a second per category\n5. Retry 422 order_not_ready and 500 server_error after a pause; there is no sandbox, so start with the smallest order the market allows\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, Bithumb Open API or Uniswap Trading API?\n\nUniswap Trading API scores 63.3 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category.\n\n### Do Bithumb Open API and Uniswap Trading API need an API key?\n\nBoth need an API key.\n\n### Can an agent call Bithumb Open API and Uniswap Trading API without installing anything?\n\nBithumb Open API runs on your own machine, with no hosted endpoint listed. 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/bithumb-vs-uniswap.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bithumb-vs-uniswap.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bithumb\", \"b\": \"uniswap\"}`. From a terminal: `anchor compare bithumb uniswap`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bithumb.json and https://www.anchorterminal.com/api/v1/tools/uniswap.json\n\n## Other comparisons with Bithumb Open API or Uniswap Trading API\n\n- [Bitfinex API vs Bithumb Open API](https://www.anchorterminal.com/compare/bitfinex-vs-bithumb.md)\n- [Bitfinex API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.md)\n- [Bitget vs Bithumb Open API](https://www.anchorterminal.com/compare/bitget-vs-bithumb.md)\n- [Bitget vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitget-vs-uniswap.md)\n- [Bithumb Open API vs Bitstamp API](https://www.anchorterminal.com/compare/bithumb-vs-bitstamp.md)\n- [Bithumb Open API vs Bybit](https://www.anchorterminal.com/compare/bithumb-vs-bybit.md)\n- [Bithumb Open API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade.md)\n- [Bithumb Open API vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/bithumb-vs-coinbase-mcp.md)\n- [Bithumb Open API vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-crypto-com-exchange.md)\n- [Bithumb Open API vs Deribit](https://www.anchorterminal.com/compare/bithumb-vs-deribit.md)\n- [Bithumb Open API vs dYdX](https://www.anchorterminal.com/compare/bithumb-vs-dydx.md)\n- [Bithumb Open API vs Gate](https://www.anchorterminal.com/compare/bithumb-vs-gate-io.md)\n- [Bithumb Open API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.md)\n- [Bithumb Open API vs HTX trading API](https://www.anchorterminal.com/compare/bithumb-vs-htx.md)\n- [Bithumb Open API vs Hyperliquid](https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.md)\n- [Bithumb Open API vs Kraken API](https://www.anchorterminal.com/compare/bithumb-vs-kraken.md)\n- [Bithumb Open API vs KuCoin](https://www.anchorterminal.com/compare/bithumb-vs-kucoin.md)\n- [Bithumb Open API vs MEXC API](https://www.anchorterminal.com/compare/bithumb-vs-mexc.md)\n- [Bithumb Open API vs OKX API](https://www.anchorterminal.com/compare/bithumb-vs-okx.md)\n- [Bithumb Open API vs Upbit Open API](https://www.anchorterminal.com/compare/bithumb-vs-upbit.md)\n- [Bitstamp API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitstamp-vs-uniswap.md)\n- [Bybit vs Uniswap Trading API](https://www.anchorterminal.com/compare/bybit-vs-uniswap.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 Uniswap Trading API](https://www.anchorterminal.com/compare/gate-io-vs-uniswap.md)\n- [Gemini Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap.md)\n- [HTX trading API vs Uniswap Trading API](https://www.anchorterminal.com/compare/htx-vs-uniswap.md)\n- [KuCoin vs Uniswap Trading API](https://www.anchorterminal.com/compare/kucoin-vs-uniswap.md)\n- [MEXC API vs Uniswap Trading API](https://www.anchorterminal.com/compare/mexc-vs-uniswap.md)\n- [Binance API vs Bithumb Open API](https://www.anchorterminal.com/compare/binance-vs-bithumb.md)\n- [Binance API vs Uniswap Trading API](https://www.anchorterminal.com/compare/binance-vs-uniswap.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 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 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",
  "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": "Bithumb Open API vs Uniswap Trading API",
        "url": ""
      }
    ],
    "description": "Uniswap Trading scores 63.3 (B) to Bithumb Open's 50.6 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bithumb Open API D 50.6",
      "Uniswap Trading API B 63.3",
      "scores"
    ],
    "h1": "Bithumb Open API vs Uniswap Trading API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bithumb-vs-uniswap",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bithumb Open vs Uniswap Trading for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 2480
  },
  "version": 1
}
