{
  "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": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category.",
    "b": {
      "slug": "gemini-exchange",
      "name": "Gemini Exchange API",
      "vendor": "Gemini Trust Company, LLC",
      "vendorUrl": "https://developer.gemini.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Gemini's exchange API for spot, margin, perpetuals, prediction markets and staking, through REST, WebSocket and FIX, with API key roles or OAuth, plus an official MCP server and SDKs from its developer-platform repository.",
      "url": "https://www.anchorterminal.com/tools/gemini-exchange",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemini-exchange.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gemini-exchange.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json",
      "dns": "gemini-exchange.grade.anchorterminal.com",
      "repo": "https://github.com/gemini/developer-platform",
      "license": "Proprietary hosted API under Gemini's user agreement. The developer-platform repository (MCP server, TypeScript and Go SDKs, samples and skills) is Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@gemini-markets/sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key and secret made at exchange.gemini.com/settings/api after a browser signup with identity checks, sent as X-GEMINI-APIKEY, X-GEMINI-PAYLOAD (base64 JSON with a nonce) and X-GEMINI-SIGNATURE (HMAC-SHA384). Keys carry one role, Trader by default, Fund Manager for withdrawals and transfers, Auditor read-only, Administrator for master keys only, and a `master-` key reaches subaccounts. A key can require a heartbeat that cancels its session's orders after 30 seconds of silence. OAuth 2.0 (authorisation code, PKCE S256 for public clients, 24-hour access tokens, single-use refresh tokens, RFC 7009 revocation) is open in the sandbox at once and reviewed by Gemini before production. No IP allow-list was found in the docs (https://developer.gemini.com/roles, https://developer.gemini.com/authentication/api-key, https://developer.gemini.com/authentication/oauth, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API itself costs nothing. Trades pay the API fee schedule, effective 1 September 2026, 0.600% maker and 1.200% taker at the base tier (under $10,000 of 30-day volume), falling to 0.000% maker and 0.020% taker above $250M. Stablecoin pairs 0.00% maker and 0.01% taker. Derivatives from 0.02% maker and 0.07% taker, charged in GUSD. Liquidations 0.5%. The sandbox at api.sandbox.gemini.com credits each new account with test funds and needs no card (https://www.gemini.com/fees/api-fee-schedule, https://developer.gemini.com/get-started/sandbox, checked 2026-11-03).",
      "priceSummary": "0.6% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt, agents.md, the OpenAPI catalogue or the fee schedule (checked 2026-11-03). Trading fees are taken from the account; onboarding is a browser signup.",
        "endpoints": []
      },
      "toolCount": 87,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 99,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://developer.gemini.com",
      "llmsTxt": "https://developer.gemini.com/llms.txt",
      "openapi": "https://developer.gemini.com/specs/openapi/rest.yaml",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "official",
        "hosted",
        "api-key",
        "oauth",
        "mcp",
        "llms-txt",
        "openapi",
        "sandbox",
        "status-page",
        "bug-bounty",
        "typescript",
        "go",
        "usage-priced"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 70,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 88,
          "payments": 40,
          "reliability": 73,
          "schema": 88,
          "security": 78,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026.",
        "bestFor": "An agent trading spot, perpetuals or prediction markets for a US customer with a role-limited key and a sandbox to rehearse on.",
        "strengths": [
          "Key roles enforce least privilege, since Trader cannot withdraw, Fund Manager cannot trade, Auditor is read-only, and a 403 `MissingRole` names the role an endpoint needs",
          "Official MCP server with readOnlyHint and destructiveHint on every tool, a `confirm: true` gate on funds-moving tools, untrusted-output framing and redaction of free-text fields",
          "OpenAPI 3 and AsyncAPI files, llms.txt, llms-full.txt, agents.md, an agent card and an error-codes page with 53 named reasons",
          "A sandbox with the same REST, WebSocket and FIX surfaces, test balances on signup and a documented 2FA bypass for automated tests",
          "Fee schedule published per tier without login, and a Statuspage feed with component-level incidents"
        ],
        "weaknesses": [
          "Client order ids are only recommended to be unique and no duplicate rejection is documented, so a retried order can execute twice",
          "No Retry-After, backoff guidance or SLA; 429 continues until the rate drops, and the upcoming-changes page reads \"TBD\"",
          "The MCP server lists 87 tools with no toolset or read-only subset switch, which costs context on every session",
          "The hosted MCP address in the repository's plugin manifest is on no docs page and gave no complete answer to a GET",
          "Accounts in the United Kingdom, the EEA and Australia closed on 6 April 2026, and the availability page still lists those countries"
        ],
        "agentNotes": [
          "Create a Trader key for order flow and a separate Fund Manager key only if withdrawals are in scope; never combine them, and keep the secret out of prompts and logs",
          "Set a `client_order_id` per order and look it up with `get_order_status` before resending after a timeout, because Gemini does not reject duplicates",
          "Start on api.sandbox.gemini.com with the same code; sandbox apps register at once, production OAuth apps wait for Gemini's review",
          "Stay under 1 public and 5 private requests a second; a 429 keeps answering 429 until the rate falls, with no Retry-After to read",
          "Check the person's country against the availability page first; UK, EEA and Australian accounts were closed on 6 April 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.6
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 88,
          "payments": 40,
          "reliability": 73,
          "schema": 88,
          "security": 78,
          "transparency": 54
        },
        "provenanceScore": 95,
        "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 @gemini-markets/sdk",
        "http": "curl https://api.gemini.com/v1/pubticker/btcusd",
        "claudeCode": "claude mcp add gemini -s user -e GEMINI_API_KEY=your_key -e GEMINI_API_SECRET=your_secret -- node /absolute/path/to/mcp-server/dist/index.js",
        "config": {
          "mcpServers": {
            "gemini": {
              "args": [
                "/absolute/path/to/mcp-server/dist/index.js"
              ],
              "command": "node",
              "env": {
                "GEMINI_ACCOUNT": "primary",
                "GEMINI_API_KEY": "your_api_key_here",
                "GEMINI_API_SECRET": "your_api_secret_here",
                "GEMINI_WS_URL": "wss://ws.gemini.com"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/gemini-exchange"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot maker fee, base tier (under $10,000 of 30-day volume)",
          "unit": "pct",
          "usd": 0.6,
          "note": "API fee schedule effective 1 September 2026"
        },
        {
          "item": "Spot taker fee, base tier",
          "unit": "pct",
          "usd": 1.2,
          "note": "falls to 0.02% above $250M of 30-day volume"
        },
        {
          "item": "Derivatives taker fee, base tier",
          "unit": "pct",
          "usd": 0.07,
          "note": "maker 0.02%, charged in GUSD"
        }
      ],
      "provenance": {
        "legalEntity": "Gemini Trust Company, LLC",
        "domain": "gemini.com",
        "domainRegistered": "1994-02-14",
        "endpointOnVendorDomain": true,
        "terms": "https://www.gemini.com/legal/user-agreement",
        "privacy": "https://www.gemini.com/legal/privacy-policy",
        "statusPage": "https://status.gemini.com",
        "changelog": "https://developer.gemini.com/changelog/revision-history",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The user agreement page of 19 February 2026 names Gemini Trust Company, LLC and Gemini Moonbase, LLC by state of residence; the privacy policy of 11 May 2026 lists the affiliates by region. The SEC's submissions record names the parent Gemini Space Station, Inc., Nasdaq GEMI.",
          "RDAP gives gemini.com a registration date of 14 February 1994.",
          "https://www.gemini.com/.well-known/security.txt is a PGP-signed file with Contact psirt@gemini.com, a bug bounty policy with payouts from $150 to $20,000 and a sandbox-only scope, but no Expires line.",
          "www.gemini.com/robots.txt allows the pages read and sets Crawl-delay 600; developer.gemini.com and status.gemini.com allow all (the status site disallows /api/ and /embed/, so the history feed was read, not the incidents API). support.gemini.com answered 403 to an article fetch.",
          "status.gemini.com is a Statuspage site with an Atom history feed."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemini-exchange.json",
      "live": {
        "slug": "gemini-exchange",
        "vendorStatus": {
          "page": "https://status.gemini.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:14.417123514Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@gemini-markets/sdk",
            "version": "0.1.1",
            "seenAt": "2026-11-04T20:18:02.796959315Z"
          }
        ],
        "githubStars": 8,
        "npmWeekly": 105,
        "securityTxt": {
          "url": "https://gemini.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-04T15:53:25.749980755Z"
        },
        "updatedAt": "2026-11-04T20:39:14.417123514Z"
      }
    },
    "edges": [
      {
        "by": 39,
        "category": "reliability",
        "leads": "gemini-exchange",
        "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 REST API at api.gemini.com. status.gemini.com is a Statuspage site with component history (20). Its Atom feed for 10 September to 3 November 2026 holds 25 entries, mostly scheduled trading and FIX upgrades of 15 to 60 minutes with possible order timeouts, single-network deposit delays, and incorrect perpetual index prices for about 3.5 hours on 15 and 16 October; a 3-hour scheduled eOTC window was planned and outside the core API. Minor only (20). Rate limits with numbers, 120 a minute public and 600 private plus per-endpoint limits (15). 429 is documented but with no Retry-After or backoff guidance, and client order ids are recommended without duplicate rejection, so retries are not safe by contract; the heartbeat cancel is a safety net rather than idempotency (8 of 15). No SLA found (0). Generally available (10). 20 + 20 + 15 + 8 + 0 + 10 = 73."
        },
        "scores": {
          "a": 34,
          "b": 73
        }
      },
      {
        "by": 28,
        "category": "transparency",
        "leads": "gemini-exchange",
        "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. A closed service under a user agreement that names its entities by state, with the MCP server and SDKs open under Apache-2.0 (18 of 30). The privacy policy of 11 May 2026 names entities and processing countries, ties retention to need without numbers and names provider categories only, with no DPA or subprocessor list found (16 of 30). The revision history records removals and type changes with dates, but the upcoming-changes page is \"TBD\" and no notice period is stated (8 of 20). Processing countries are named (US, Ireland, UK, Malta, Singapore, Australia) and providers by category, with no named subprocessors (12 of 20). 18 + 16 + 8 + 12 = 54."
        },
        "scores": {
          "a": 47,
          "b": 75
        }
      },
      {
        "by": 25,
        "category": "payments",
        "leads": "gemini-exchange",
        "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 (0). The API fee schedule is public per tier without login, 0.6% maker and 1.2% taker at the base tier (20). The API is free to call, public market data needs no key, and the sandbox credits test funds with no card (20). A person must sign up in a browser with identity checks, mint a key or approve an OAuth grant, and production OAuth apps wait for Gemini's review (0). 0 + 20 + 20 + 0 = 40."
        },
        "scores": {
          "a": 15,
          "b": 40
        }
      },
      {
        "by": 24,
        "category": "schema",
        "leads": "gemini-exchange",
        "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 for REST (specs/openapi/rest.yaml), AsyncAPI for WebSocket, a prediction-markets OpenAPI file and a specs/index.json catalogue; the MCP server's tools take zod schemas published as JSON Schema (25). llms.txt, llms-full.txt, agents.md, an agent card and an agent skills index (10). Endpoint pages state purpose, the Build an agent guide says what to establish before acting and when to stop, and MCP tool descriptions tell the model when to confirm; the docs don't say when not to use an endpoint (15 of 20). Typed inputs with enums for order types, options and sessions, required fields marked, decimals as strings since 7 July 2026 (12 of 15). Examples throughout, samples in three languages, and an error-codes page with 53 named reasons and their HTTP statuses (14 of 15). A revision history dated from 2015 to 28 October 2026 and versioned paths (v1, v2), but the upcoming-changes page reads \"TBD\" (12 of 15). 25 + 10 + 15 + 12 + 14 + 12 = 88."
        },
        "scores": {
          "a": 64,
          "b": 88
        }
      },
      {
        "by": 19,
        "category": "maintenance",
        "leads": "gemini-exchange",
        "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 with an open repository. The revision history's latest entry is 28 October 2026 and the repository was pushed on 5 October (30). Thirteen dated entries between 2 September and 28 October 2026 (20). The nine open items on the repository are all pull requests with replies, Dependabot included, and the docs name trading@gemini.com for developer support; no public issue tracker was tested (15 of 25). Not in the official MCP registry, but current official SDKs, TypeScript 0.1.1 of 23 September and Go 0.1.0 of 29 August 2026 (15). CI workflows validate and publish both SDKs and the MCP server has tests; dependencies are current (8 of 10). 30 + 20 + 15 + 15 + 8 = 88."
        },
        "scores": {
          "a": 69,
          "b": 88
        }
      },
      {
        "by": 18,
        "category": "security",
        "leads": "gemini-exchange",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Keys scoped to chosen permissions, mandatory registered IPs, one-year expiry, a JWT per request and a key-list endpoint with expiry (26 of 30). Read-only keys, `--read-only` on the MCP server, per-profile read_only on the CLI, a second factor on KRW deposits and withdrawals, and skills that refuse to switch profiles to bypass read-only; nothing server-side confirms an order (16 of 20). The API returns exchange data and the disclaimer warns about prompt injection through third-party plugins (11 of 15). A local audit log for CLI and MCP calls and a key-list endpoint; no server-side per-call log (7 of 15). security.txt timed out and no disclosure policy, bug bounty or certification was found (0 of 20, security.txt unchecked). 26 + 16 + 11 + 7 + 0 = 60.",
          "b": "Revocable API keys with one role each (Trader, Fund Manager, Auditor, Administrator), HMAC-SHA384 signing with a nonce, and OAuth 2.0 with scopes, PKCE S256, single-use refresh tokens and RFC 7009 revocation; no IP allow-list documented and no key expiry (28 of 30). Auditor is read-only, a Trader key cannot withdraw, approved withdrawal addresses are a Fund Manager action, and the MCP server refuses funds-moving tools without `confirm: true` (18 of 20). The MCP server wraps every response in untrusted-output markers, strips control and bidi characters and redacts memos, labels and agreement text; the REST docs say nothing on the subject (13 of 15). Order and transfer history are readable, but no per-key audit log or API access log was found (5 of 15). security.txt with a PGP contact and a bug bounty paying $150 to $20,000, scoped to the sandbox hosts; no certification was read and no public advisory process was found (14 of 20). 28 + 18 + 13 + 5 + 14 = 78."
        },
        "scores": {
          "a": 60,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bithumb Co., Ltd.",
        "b": "Gemini Trust Company, LLC",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary hosted API under Gemini's user agreement. The developer-platform repository (MCP server, TypeScript and Go SDKs, samples and skills) is Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "41",
        "b": "87",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-13",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "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": "8 stars, 99 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Gemini Exchange API scores 74.6 (BB) 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 Gemini Exchange API?"
      },
      {
        "answer": "Bithumb Open API needs an API key. Gemini Exchange API takes an API key or an OAuth sign-in.",
        "question": "Do Bithumb Open API and Gemini Exchange API need an API key?"
      },
      {
        "answer": "Bithumb Open API runs on your own machine, with no hosted endpoint listed. Gemini Exchange API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Bithumb Open API and Gemini Exchange API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "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, 73 against 34",
          "Schema \u0026 documentation, 88 against 64",
          "Agent ergonomics, 79 against 67",
          "Security \u0026 auth, 78 against 60",
          "Payments \u0026 pricing, 40 against 15",
          "Maintenance \u0026 community, 88 against 69",
          "Transparency \u0026 trust, 75 against 47"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "An agent trading spot, perpetuals or prediction markets for a US customer with a role-limited key and a sandbox to rehearse on.",
        "slug": "gemini-exchange",
        "watchFor": "Client order ids are only recommended to be unique and no duplicate rejection is documented, so a retried order can execute twice"
      }
    ],
    "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-gemini-exchange.json",
        "title": "Bitfinex API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange"
      },
      {
        "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-gemini-exchange.json",
        "title": "Bitget vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange"
      },
      {
        "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-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-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/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-gemini-exchange.json",
        "title": "Bitstamp API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange.json",
        "title": "Bybit vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-gemini-exchange.json",
        "title": "Crypto.com Exchange API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.json",
        "title": "Gate vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-htx.json",
        "title": "Gemini Exchange API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.json",
        "title": "Gemini Exchange API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.json",
        "title": "Gemini Exchange API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken"
      },
      {
        "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-mexc.json",
        "title": "Gemini Exchange API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-okx.json",
        "title": "Gemini Exchange API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-okx"
      },
      {
        "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/gemini-exchange-vs-upbit.json",
        "title": "Gemini Exchange API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit"
      },
      {
        "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-gemini-exchange.json",
        "title": "Binance API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.json",
        "title": "Coinbase Advanced Trade API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange.json",
        "title": "Deribit vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.json",
        "title": "dYdX vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bithumb": 34,
        "by": 39,
        "edge": "gemini-exchange",
        "gemini-exchange": 73,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bithumb": 64,
        "by": 24,
        "edge": "gemini-exchange",
        "gemini-exchange": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bithumb": 67,
        "by": 12,
        "edge": "gemini-exchange",
        "gemini-exchange": 79,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bithumb": 60,
        "by": 18,
        "edge": "gemini-exchange",
        "gemini-exchange": 78,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bithumb": 15,
        "by": 25,
        "edge": "gemini-exchange",
        "gemini-exchange": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bithumb": 69,
        "by": 19,
        "edge": "gemini-exchange",
        "gemini-exchange": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bithumb": 47,
        "by": 28,
        "edge": "gemini-exchange",
        "gemini-exchange": 75,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Gemini Exchange API scores 74.6 (BB) 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.",
      "gemini-exchange": "Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange",
    "json": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.min.md"
  },
  "markdown": "Gemini Exchange API scores 74.6 (BB) 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- Gemini Exchange API: grade BB, 74.6/100, rank #70 of 1349. Markdown https://www.anchorterminal.com/tools/gemini-exchange.md · JSON https://www.anchorterminal.com/api/v1/tools/gemini-exchange.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\nWatch for: No sandbox or testnet; every order uses real funds\n\n### Gemini Exchange API (BB)\n\nGood for: An agent trading spot, perpetuals or prediction markets for a US customer with a role-limited key and a sandbox to rehearse on.\n\nAhead on:\n- Reliability, 73 against 34\n- Schema \u0026 documentation, 88 against 64\n- Agent ergonomics, 79 against 67\n- Security \u0026 auth, 78 against 60\n- Payments \u0026 pricing, 40 against 15\n- Maintenance \u0026 community, 88 against 69\n- Transparency \u0026 trust, 75 against 47\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Client order ids are only recommended to be unique and no duplicate rejection is documented, so a retried order can execute twice\n\n\n## Why the edge\n\n### Reliability: Gemini Exchange API +39\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- Gemini Exchange API (73): Read with the hosted lines on the REST API at api.gemini.com. status.gemini.com is a Statuspage site with component history (20). Its Atom feed for 10 September to 3 November 2026 holds 25 entries, mostly scheduled trading and FIX upgrades of 15 to 60 minutes with possible order timeouts, single-network deposit delays, and incorrect perpetual index prices for about 3.5 hours on 15 and 16 October; a 3-hour scheduled eOTC window was planned and outside the core API. Minor only (20). Rate limits with numbers, 120 a minute public and 600 private plus per-endpoint limits (15). 429 is documented but with no Retry-After or backoff guidance, and client order ids are recommended without duplicate rejection, so retries are not safe by contract; the heartbeat cancel is a safety net rather than idempotency (8 of 15). No SLA found (0). Generally available (10). 20 + 20 + 15 + 8 + 0 + 10 = 73.\n\n### Transparency \u0026 trust: Gemini Exchange API +28\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- Gemini Exchange API (75): The editorial half. A closed service under a user agreement that names its entities by state, with the MCP server and SDKs open under Apache-2.0 (18 of 30). The privacy policy of 11 May 2026 names entities and processing countries, ties retention to need without numbers and names provider categories only, with no DPA or subprocessor list found (16 of 30). The revision history records removals and type changes with dates, but the upcoming-changes page is \"TBD\" and no notice period is stated (8 of 20). Processing countries are named (US, Ireland, UK, Malta, Singapore, Australia) and providers by category, with no named subprocessors (12 of 20). 18 + 16 + 8 + 12 = 54.\n\n### Payments \u0026 pricing: Gemini Exchange 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- Gemini Exchange API (40): No machine payment protocol (0). The API fee schedule is public per tier without login, 0.6% maker and 1.2% taker at the base tier (20). The API is free to call, public market data needs no key, and the sandbox credits test funds with no card (20). A person must sign up in a browser with identity checks, mint a key or approve an OAuth grant, and production OAuth apps wait for Gemini's review (0). 0 + 20 + 20 + 0 = 40.\n\n### Schema \u0026 documentation: Gemini Exchange API +24\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- Gemini Exchange API (88): OpenAPI 3 for REST (specs/openapi/rest.yaml), AsyncAPI for WebSocket, a prediction-markets OpenAPI file and a specs/index.json catalogue; the MCP server's tools take zod schemas published as JSON Schema (25). llms.txt, llms-full.txt, agents.md, an agent card and an agent skills index (10). Endpoint pages state purpose, the Build an agent guide says what to establish before acting and when to stop, and MCP tool descriptions tell the model when to confirm; the docs don't say when not to use an endpoint (15 of 20). Typed inputs with enums for order types, options and sessions, required fields marked, decimals as strings since 7 July 2026 (12 of 15). Examples throughout, samples in three languages, and an error-codes page with 53 named reasons and their HTTP statuses (14 of 15). A revision history dated from 2015 to 28 October 2026 and versioned paths (v1, v2), but the upcoming-changes page reads \"TBD\" (12 of 15). 25 + 10 + 15 + 12 + 14 + 12 = 88.\n\n### Maintenance \u0026 community: Gemini Exchange 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- Gemini Exchange API (88): Read as a closed hosted service with an open repository. The revision history's latest entry is 28 October 2026 and the repository was pushed on 5 October (30). Thirteen dated entries between 2 September and 28 October 2026 (20). The nine open items on the repository are all pull requests with replies, Dependabot included, and the docs name trading@gemini.com for developer support; no public issue tracker was tested (15 of 25). Not in the official MCP registry, but current official SDKs, TypeScript 0.1.1 of 23 September and Go 0.1.0 of 29 August 2026 (15). CI workflows validate and publish both SDKs and the MCP server has tests; dependencies are current (8 of 10). 30 + 20 + 15 + 15 + 8 = 88.\n\n### Security \u0026 auth: Gemini Exchange API +18\n\n- Bithumb Open API (60): Keys scoped to chosen permissions, mandatory registered IPs, one-year expiry, a JWT per request and a key-list endpoint with expiry (26 of 30). Read-only keys, `--read-only` on the MCP server, per-profile read_only on the CLI, a second factor on KRW deposits and withdrawals, and skills that refuse to switch profiles to bypass read-only; nothing server-side confirms an order (16 of 20). The API returns exchange data and the disclaimer warns about prompt injection through third-party plugins (11 of 15). A local audit log for CLI and MCP calls and a key-list endpoint; no server-side per-call log (7 of 15). security.txt timed out and no disclosure policy, bug bounty or certification was found (0 of 20, security.txt unchecked). 26 + 16 + 11 + 7 + 0 = 60.\n- Gemini Exchange API (78): Revocable API keys with one role each (Trader, Fund Manager, Auditor, Administrator), HMAC-SHA384 signing with a nonce, and OAuth 2.0 with scopes, PKCE S256, single-use refresh tokens and RFC 7009 revocation; no IP allow-list documented and no key expiry (28 of 30). Auditor is read-only, a Trader key cannot withdraw, approved withdrawal addresses are a Fund Manager action, and the MCP server refuses funds-moving tools without `confirm: true` (18 of 20). The MCP server wraps every response in untrusted-output markers, strips control and bidi characters and redacts memos, labels and agreement text; the REST docs say nothing on the subject (13 of 15). Order and transfer history are readable, but no per-key audit log or API access log was found (5 of 15). security.txt with a PGP contact and a bug bounty paying $150 to $20,000, scoped to the sandbox hosts; no certification was read and no public advisory process was found (14 of 20). 28 + 18 + 13 + 5 + 14 = 78.\n\n## Score by category\n\n| Category | Weight | Bithumb Open API | Gemini Exchange API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 73 | Gemini Exchange API +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 64 | 88 | Gemini Exchange API +24 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 79 | Gemini Exchange API +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 78 | Gemini Exchange API +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 40 | Gemini Exchange 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 | Gemini Exchange API +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 75 | Gemini Exchange API +28 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.6 · D** | **74.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Bithumb Open API | Gemini Exchange API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bithumb Co., Ltd. | Gemini Trust Company, LLC |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio | stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | Proprietary hosted API under Gemini's user agreement. The developer-platform repository (MCP server, TypeScript and Go SDKs, samples and skills) is Apache-2.0 |\n| Tools exposed | 41 | 87 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-13 | 2026-10-28 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models | couldn't be read | yes |\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 | 8 stars, 99 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**Gemini Exchange API.** Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026.\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### Gemini Exchange API\n\n1. Create a Trader key for order flow and a separate Fund Manager key only if withdrawals are in scope; never combine them, and keep the secret out of prompts and logs\n2. Set a `client_order_id` per order and look it up with `get_order_status` before resending after a timeout, because Gemini does not reject duplicates\n3. Start on api.sandbox.gemini.com with the same code; sandbox apps register at once, production OAuth apps wait for Gemini's review\n4. Stay under 1 public and 5 private requests a second; a 429 keeps answering 429 until the rate falls, with no Retry-After to read\n5. Check the person's country against the availability page first; UK, EEA and Australian accounts were closed on 6 April 2026\n\n## Questions\n\n### Which is better for AI agents, Bithumb Open API or Gemini Exchange API?\n\nGemini Exchange API scores 74.6 (BB) on agent readiness against Bithumb Open API's 50.6 (D), and leads in every scored category.\n\n### Do Bithumb Open API and Gemini Exchange API need an API key?\n\nBithumb Open API needs an API key. Gemini Exchange API takes an API key or an OAuth sign-in.\n\n### Can an agent call Bithumb Open API and Gemini Exchange API without installing anything?\n\nBithumb Open API runs on your own machine, with no hosted endpoint listed. Gemini Exchange API runs on your own machine, with no hosted endpoint listed.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bithumb\", \"b\": \"gemini-exchange\"}`. From a terminal: `anchor compare bithumb gemini-exchange`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bithumb.json and https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json\n\n## Other comparisons with Bithumb Open API or Gemini Exchange API\n\n- [Bitfinex API vs Bithumb Open API](https://www.anchorterminal.com/compare/bitfinex-vs-bithumb.md)\n- [Bitfinex API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.md)\n- [Bitget vs Bithumb Open API](https://www.anchorterminal.com/compare/bitget-vs-bithumb.md)\n- [Bitget vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.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 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 Uniswap Trading API](https://www.anchorterminal.com/compare/bithumb-vs-uniswap.md)\n- [Bithumb Open API vs Upbit Open API](https://www.anchorterminal.com/compare/bithumb-vs-upbit.md)\n- [Bitstamp API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.md)\n- [Bybit vs Gemini Exchange API](https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange.md)\n- [Crypto.com Exchange API vs Gemini Exchange API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-gemini-exchange.md)\n- [Gate vs Gemini Exchange API](https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.md)\n- [Gemini Exchange API vs HTX trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-htx.md)\n- [Gemini Exchange API vs Hyperliquid](https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.md)\n- [Gemini Exchange API vs Kraken API](https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.md)\n- [Gemini Exchange API vs KuCoin](https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin.md)\n- [Gemini Exchange API vs MEXC API](https://www.anchorterminal.com/compare/gemini-exchange-vs-mexc.md)\n- [Gemini Exchange API vs OKX API](https://www.anchorterminal.com/compare/gemini-exchange-vs-okx.md)\n- [Gemini Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap.md)\n- [Gemini Exchange API vs Upbit Open API](https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.md)\n- [Binance API vs Bithumb Open API](https://www.anchorterminal.com/compare/binance-vs-bithumb.md)\n- [Binance API vs Gemini Exchange API](https://www.anchorterminal.com/compare/binance-vs-gemini-exchange.md)\n- [Coinbase Advanced Trade API vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange.md)\n- [Deribit vs Gemini Exchange API](https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange.md)\n- [dYdX vs Gemini Exchange API](https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.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 Gemini Exchange API",
        "url": ""
      }
    ],
    "description": "Gemini Exchange scores 74.6 (BB) 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",
      "Gemini Exchange API BB 74.6",
      "scores"
    ],
    "h1": "Bithumb Open API vs Gemini Exchange API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bithumb-vs-gemini-exchange",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bithumb Open vs Gemini Exchange for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange"
  },
  "tokens": {
    "markdown": 5200,
    "slim": 2780
  },
  "version": 1
}
