{
  "data": {
    "a": {
      "slug": "gate-io",
      "name": "Gate",
      "vendor": "Gate",
      "vendorUrl": "https://www.gate.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Gate is a centralised crypto exchange for spot, margin, futures, options, earn and tokenised stocks, reached through its REST and WebSocket API v4, official SDKs, a CLI, and hosted and local MCP servers under its Gate for AI programme.",
      "url": "https://www.anchorterminal.com/tools/gate-io",
      "markdownUrl": "https://www.anchorterminal.com/tools/gate-io.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gate-io.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gate-io.json",
      "dns": "gate-io.grade.anchorterminal.com",
      "repo": "https://github.com/gate/gate-mcp",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.gatemcp.ai/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "gate-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "The API v4 takes an API key and secret minted on the APIv4 Keys page after a browser sign-up, signed per request with HMAC-SHA512 in the KEY, Timestamp and SIGN headers, with a 60 second timestamp window. Each key carries a permission per product group (spot and margin, perpetual, delivery, wallet, withdrawal and others) set to disabled, read-only or read-write, an IP allow-list of up to 20 addresses, and changes take up to 5 minutes. The hosted MCP trading endpoint uses Gate OAuth 2 at www.gate.com/apiw/v2/mcp/oauth with scopes base, read, asset, spot_trade, futures_trade, earn, cfd and stock, revocable on the API management page; the public market-data endpoints need no credential; the local `gate-mcp` package takes GATE_API_KEY and GATE_API_SECRET (https://www.gate.com/docs/developers/apiv4/en/, https://api.gatemcp.ai/.well-known/oauth-protected-resource/mcp/exchange and https://www.gate.com/docs/developers/agent/en/, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API and the MCP servers cost nothing; trades carry Gate's fees. The fee page shows its tier table only after login. Gate's help centre gives the VIP 0 spot taker rate as 0.1 per cent and its learn articles give 0.1 per cent maker and taker with GT payment lowering it to 0.09 per cent; VIP tiers run from 0 to 16. The VIP 0 futures rate was not readable (https://www.gate.com/help/trade/spot/41629 and https://www.gate.com/fee, checked 2026-11-03).",
      "priceSummary": "0.1% fee",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API v4 docs, the agent guide, the gate-mcp README or the fee pages (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": 58,
      "popularity": {
        "githubStars": 44,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.gate.com/docs/developers/apiv4/en/",
      "registryName": "io.github.gateio-dev/gate-mcp",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "oauth",
        "usage-priced",
        "sandbox",
        "no-status-page",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "official",
        "read-only-mode",
        "agent-skills",
        "cli",
        "python",
        "typescript",
        "go",
        "java",
        "php",
        "dotnet"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 56.4,
        "grade": "C",
        "agentReady": false,
        "rank": 740,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 77,
          "payments": 35,
          "reliability": 42,
          "schema": 70,
          "security": 60,
          "transparency": 49
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Gate runs official hosted MCP servers with keyless market data and OAuth-scoped trading, a local stdio server with a read-only switch, per-endpoint rate limits with headers and a futures testnet. There is no status page, SLA or OpenAPI file, the fee table needs a login, the MCP host is a separate domain, and the terms name no company.",
        "bestFor": "An agent trading spot, futures and earn products in a person's Gate account outside the 35 restricted locations, with a keyless MCP for research and an OAuth MCP or scoped key for trading.",
        "strengths": [
          "Hosted MCP at api.gatemcp.ai split by purpose, 58 market-data tools with no credential and trading tools behind Gate OAuth 2 with eight scopes, in the official MCP registry",
          "API keys with a disabled, read-only or read-write setting per product group, a withdrawal group of its own and an IP allow-list of up to 20 addresses",
          "Per-endpoint rate limits with X-Gate-RateLimit-Limit, X-Gate-RateLimit-Requests-Remain and X-Gate-RateLimit-Reset-Timestamp headers and a labelled error body",
          "Futures TestNet at api-testnet.gateapi.io with its own keys, and the complete REST and WebSocket docs downloadable as Markdown",
          "Official SDKs in Python, Java, PHP, Go, C#, Node.js and JavaScript, a CLI with JSON output, and 40 dated changelog entries in the last 90 days"
        ],
        "weaknesses": [
          "No status page, incident history or SLA; the terms give no uptime guarantee and cap liability at three months of fees",
          "The MCP endpoints live on gatemcp.ai, not gate.com, and the registry namespace is a GitHub organisation; the OAuth scopes in the metadata differ from the ones the docs describe",
          "The local MCP server sets no readOnlyHint or destructiveHint annotations, and the hosted server's annotations could not be read without a session",
          "The fee table loads only after login, and the docs disagree with themselves on keys per account (5 against 20) and tool counts",
          "Clause 1.3(h) of the user agreement bans automated activity through any channel Gate has not designated, and the agreement names no legal entity"
        ],
        "agentNotes": [
          "Start on https://api.gatemcp.ai/mcp for prices and order books with no credential; switch to /mcp/exchange only when the person has approved the OAuth grant with the narrowest scopes",
          "For a key-based route, create a key on a dedicated sub-account with read-only on every group but the one the task needs, withdrawal disabled and an IP allow-list; changes take up to 5 minutes",
          "Put a unique `text` value starting with t- on every spot order and reuse it on the retry; read the order back before placing again",
          "Read X-Gate-RateLimit-Requests-Remain and stop at zero; spot order placement is capped at 10 a second and withdrawals at 1 per 3 seconds",
          "Rehearse futures logic on api-testnet.gateapi.io with TestNet keys; there is no spot testnet"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56.4
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 77,
          "payments": 35,
          "reliability": 42,
          "schema": 70,
          "security": 60,
          "transparency": 37
        },
        "provenanceScore": 60,
        "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 -y gate-mcp",
        "http": "curl https://api.gateio.ws/api/v4/spot/tickers?currency_pair=BTC_USDT",
        "claudeCode": "claude mcp add gate-mcp --transport http https://api.gatemcp.ai/mcp",
        "config": {
          "mcpServers": {
            "gate-mcp": {
              "transport": "streamable-http",
              "url": "https://api.gatemcp.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/gate-io"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, VIP 0 taker",
          "unit": "pct",
          "usd": 0.1,
          "note": "maker 0.1 per cent per Gate's learn articles; 0.09 per cent paid in GT"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "gate.com",
        "domainRegistered": "1996-03-29",
        "endpointOnVendorDomain": true,
        "terms": "https://www.gate.com/user-agreement",
        "privacy": "https://www.gate.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.gate.com/docs/developers/apiv4/en/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The user agreement (last updated 22 July 2026) and the privacy policy name only Gate, under the laws of the Republic of Panama with ICC arbitration; no company name or registration number appears. The about page names Gate Technology Ltd for the Malta licence only.",
          "www.gate.com/robots.txt allows the docs, help, legal and about paths and disallows /post/, search results, referral URLs and a list of internal API paths; nothing under those paths was fetched. The /about path answered 403 and /about-us loaded.",
          "RDAP gives gate.com a registration date of 29 March 1996 (Amazon Registrar); the exchange moved from gate.io to gate.com and traces its origin to 2013.",
          "https://www.gate.com/.well-known/security.txt answers 404. No status page found; status.gate.com does not resolve and the docs link none.",
          "The API endpoint api.gateio.ws is Gate's own; the MCP endpoints are on api.gatemcp.ai, a separate domain whose OAuth metadata points back to www.gate.com. The changelog is the versioned section of the API v4 docs page."
        ],
        "score": 60
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gate-io.json",
      "live": {
        "slug": "gate-io",
        "probe": {
          "target": "https://api.gatemcp.ai/mcp",
          "method": "get",
          "lastAt": "2026-11-04T20:46:46.96949385Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 10350,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 10330,
          "p95ms24h": 10631,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.gateio-dev/gate-mcp",
            "version": "1.0.0",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "npm",
            "name": "gate-mcp",
            "version": "0.19.0",
            "seenAt": "2026-11-04T20:17:45.56236451Z"
          }
        ],
        "githubStars": 44,
        "npmWeekly": 303,
        "securityTxt": {
          "url": "https://gate.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:53:27.737532632Z"
        },
        "updatedAt": "2026-11-04T20:46:46.96949385Z"
      }
    },
    "answer": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Gate's 56.4 (C), 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": 31,
        "category": "reliability",
        "leads": "gemini-exchange",
        "name": "Reliability",
        "reasons": {
          "a": "Graded with the hosted lines on the API v4 at api.gateio.ws with the hosted MCP beside it. No status page found (status.gate.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per endpoint group with numbers and fill-ratio rules (15). Every response carries X-Gate-RateLimit-Limit, X-Gate-RateLimit-Requests-Remain and X-Gate-RateLimit-Reset-Timestamp, 429 answers with the label TOO_FAST, and spot orders take a user `text` identifier, but no retry or idempotency guidance is written down (12 of 15). No SLA (0). API v4 and the MCP endpoints are production surfaces (10). 42.",
          "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": 42,
          "b": 73
        }
      },
      {
        "by": 26,
        "category": "transparency",
        "leads": "gemini-exchange",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed hosted service with a clear user agreement that names no company; the MCP packages are MIT (12 of 30). The privacy policy names a DPO address and categories of recipients, with no retention numbers and no named subprocessors (12 of 30). The changelog records breaking changes such as the amend endpoint path move of 16 October 2026 with no notice period or policy (8 of 20). Transfers outside the user's jurisdiction are disclosed with no locations or provider names (5 of 20). 37.",
          "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": 49,
          "b": 75
        }
      },
      {
        "by": 18,
        "category": "schema",
        "leads": "gemini-exchange",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No public OpenAPI file was found, though the SDKs are generated and the MCP tools carry typed parameters per the tool reference; the hosted tools' JSON Schema could not be read without a session (12 of 25). The whole REST and WebSocket documentation is downloadable as Markdown and the agent guide is a plain page (10). The tool reference gives one line and the main parameters per tool, the API reference a description per endpoint, no when-not-to-use guidance (12 of 20). Required flags, enums for side, type and time_in_force (11 of 15). Examples per endpoint and a labelled error body with a fixed label list the docs tell you to branch on instead of messages (13 of 15). A versioned changelog, v4.106.177 on 2 November 2026 (12 of 15, since entries are terse). 70.",
          "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": 70,
          "b": 88
        }
      },
      {
        "by": 18,
        "category": "security",
        "leads": "gemini-exchange",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Gate OAuth 2 for the hosted trading MCP with eight scopes per the protected-resource metadata and revocation on the API management page, and API keys with disabled, read-only or read-write per product group, a separate withdrawal group and an IP allow-list of 20 addresses (30). A read-only key and a GATE_READONLY switch exist, and the guide says fund-moving actions need the person's confirmation in the client, with no server-side cap documented (15 of 20). The news and info servers return third-party content with no guidance on treating it as untrusted (5 of 15). Key changes and OAuth grants are visible on the API management page; no per-call log found (5 of 15). No security.txt, no disclosure policy or bounty on a page we read, a proof-of-reserves repository (5 of 20). 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
        }
      },
      {
        "by": 13,
        "category": "ergonomics",
        "leads": "gemini-exchange",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read for the API with the hosted MCP beside it. The MCP is split by endpoint (58 public tools on /mcp, 400 or more on /mcp/exchange, smaller info and news servers) and the local package filters by module and read-only flag, which stands in for toolsets (5 of 25 for the trading server, 10 added back). Pagination by page and limit, from and to timestamps, status filters (15 of 20). Error labels such as INVALID_SIGNATURE, REQUEST_EXPIRED, IP_FORBIDDEN and READ_ONLY name the recovery (15 of 20). The `text` order identifier makes retries safe; the local server's source sets no readOnlyHint or destructiveHint and the hosted annotations are unread (8 of 20). Three required fields on a spot order, SDKs in seven languages and a CLI (13 of 15). 66.",
          "b": "Graded on the REST API, with the MCP server noted. Order book depth, trade and candle counts can be limited and symbols filtered; the MCP server lists 87 tools with no toolset or read-only subset switch, so a session that loads it pays for all of them (18 of 25). Timestamps, `limit_trades`, `since` and per-symbol filters on history, pagination on prediction-market lists (16 of 20). Errors carry a reason and message an agent can branch on, such as InsufficientFunds, MarketNotOpen and MissingRole, though some messages only say to retry later (16 of 20). client_order_id is echoed back but not checked for duplicates, cancel-all-session-orders and the heartbeat limit damage; the MCP server publishes readOnlyHint and destructiveHint on every tool and gates destructive ones on `confirm: true` (14 of 20). Few required parameters, sensible defaults, and official TypeScript and Go SDKs (15). 18 + 16 + 16 + 14 + 15 = 79."
        },
        "scores": {
          "a": 66,
          "b": 79
        }
      },
      {
        "by": 11,
        "category": "maintenance",
        "leads": "gemini-exchange",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a hosted service with open-source MCP packages. The API changelog's latest entry is 2 November 2026 and gate-skills was pushed 3 November (30). 40 dated changelog entries since 5 August 2026 (20). developer@gate.com, a help centre and issue trackers on gate-mcp and gate-skills, replies not checked (12 of 25). In the official MCP registry under io.github.gateio-dev, a GitHub namespace rather than gate.com, and official SDKs current (10 of 15). The local package has a publish workflow and no test workflow in CI, and its last tag is 16 April 2026 (5 of 10). 77.",
          "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": 77,
          "b": 88
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Gate",
        "b": "Gemini Trust Company, LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.gatemcp.ai/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or 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": "58",
        "b": "87",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.gateio-dev/gate-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2026-07-22",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "44 stars",
        "b": "8 stars, 99 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Gate's 56.4 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Gate or Gemini Exchange API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Gate and Gemini Exchange API need an API key?"
      },
      {
        "answer": "Gate has a hosted endpoint at https://api.gatemcp.ai/mcp. Gemini Exchange API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Gate and Gemini Exchange API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent trading spot, futures and earn products in a person's Gate account outside the 35 restricted locations, with a keyless MCP for research and an OAuth MCP or scoped key for trading.",
        "slug": "gate-io",
        "watchFor": "No status page, incident history or SLA; the terms give no uptime guarantee and cap liability at three months of fees"
      },
      {
        "aheadOn": [
          "Reliability, 73 against 42",
          "Schema \u0026 documentation, 88 against 70",
          "Agent ergonomics, 79 against 66",
          "Security \u0026 auth, 78 against 60",
          "Payments \u0026 pricing, 40 against 35",
          "Maintenance \u0026 community, 88 against 77",
          "Transparency \u0026 trust, 75 against 49"
        ],
        "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-gate-io.json",
        "title": "Bitfinex API vs Gate",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "Bitget vs Gate",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-gate-io"
      },
      {
        "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-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/bitstamp-vs-gate-io.json",
        "title": "Bitstamp API vs Gate",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "Bybit vs Gate",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "Crypto.com Exchange API vs Gate",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-gate-io"
      },
      {
        "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-htx.json",
        "title": "Gate vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid.json",
        "title": "Gate vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kraken.json",
        "title": "Gate vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin.json",
        "title": "Gate vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-mexc.json",
        "title": "Gate vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-okx.json",
        "title": "Gate vs OKX API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-okx"
      },
      {
        "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/gate-io-vs-upbit.json",
        "title": "Gate vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-upbit"
      },
      {
        "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-gate-io.json",
        "title": "Binance API vs Gate",
        "url": "https://www.anchorterminal.com/compare/binance-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "Coinbase Advanced Trade API vs Gate",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Gate",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "Deribit vs Gate",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-gate-io"
      },
      {
        "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-gate-io.json",
        "title": "dYdX vs Gate",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gate-io"
      },
      {
        "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": [
      {
        "by": 31,
        "edge": "gemini-exchange",
        "gate-io": 42,
        "gemini-exchange": 73,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 18,
        "edge": "gemini-exchange",
        "gate-io": 70,
        "gemini-exchange": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 13,
        "edge": "gemini-exchange",
        "gate-io": 66,
        "gemini-exchange": 79,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 18,
        "edge": "gemini-exchange",
        "gate-io": 60,
        "gemini-exchange": 78,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "edge": "gemini-exchange",
        "gate-io": 35,
        "gemini-exchange": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "gemini-exchange",
        "gate-io": 77,
        "gemini-exchange": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 26,
        "edge": "gemini-exchange",
        "gate-io": 49,
        "gemini-exchange": 75,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Gate's 56.4 (C), and leads in every scored category. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "gate-io": "Gate runs official hosted MCP servers with keyless market data and OAuth-scoped trading, a local stdio server with a read-only switch, per-endpoint rate limits with headers and a futures testnet. There is no status page, SLA or OpenAPI file, the fee table needs a login, the MCP host is a separate domain, and the terms name no company.",
      "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/gate-io-vs-gemini-exchange",
    "json": "https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.min.md"
  },
  "markdown": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Gate's 56.4 (C), and leads in every scored category. Both do exchange market data.\n\n- Gate: grade C, 56.4/100, rank #740 of 1349. Markdown https://www.anchorterminal.com/tools/gate-io.md · JSON https://www.anchorterminal.com/api/v1/tools/gate-io.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### Gate (C)\n\nGood for: An agent trading spot, futures and earn products in a person's Gate account outside the 35 restricted locations, with a keyless MCP for research and an OAuth MCP or scoped key for trading.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No status page, incident history or SLA; the terms give no uptime guarantee and cap liability at three months of fees\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 42\n- Schema \u0026 documentation, 88 against 70\n- Agent ergonomics, 79 against 66\n- Security \u0026 auth, 78 against 60\n- Payments \u0026 pricing, 40 against 35\n- Maintenance \u0026 community, 88 against 77\n- Transparency \u0026 trust, 75 against 49\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 +31\n\n- Gate (42): Graded with the hosted lines on the API v4 at api.gateio.ws with the hosted MCP beside it. No status page found (status.gate.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per endpoint group with numbers and fill-ratio rules (15). Every response carries X-Gate-RateLimit-Limit, X-Gate-RateLimit-Requests-Remain and X-Gate-RateLimit-Reset-Timestamp, 429 answers with the label TOO_FAST, and spot orders take a user `text` identifier, but no retry or idempotency guidance is written down (12 of 15). No SLA (0). API v4 and the MCP endpoints are production surfaces (10). 42.\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 +26\n\n- Gate (49): The editorial half. A closed hosted service with a clear user agreement that names no company; the MCP packages are MIT (12 of 30). The privacy policy names a DPO address and categories of recipients, with no retention numbers and no named subprocessors (12 of 30). The changelog records breaking changes such as the amend endpoint path move of 16 October 2026 with no notice period or policy (8 of 20). Transfers outside the user's jurisdiction are disclosed with no locations or provider names (5 of 20). 37.\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### Schema \u0026 documentation: Gemini Exchange API +18\n\n- Gate (70): No public OpenAPI file was found, though the SDKs are generated and the MCP tools carry typed parameters per the tool reference; the hosted tools' JSON Schema could not be read without a session (12 of 25). The whole REST and WebSocket documentation is downloadable as Markdown and the agent guide is a plain page (10). The tool reference gives one line and the main parameters per tool, the API reference a description per endpoint, no when-not-to-use guidance (12 of 20). Required flags, enums for side, type and time_in_force (11 of 15). Examples per endpoint and a labelled error body with a fixed label list the docs tell you to branch on instead of messages (13 of 15). A versioned changelog, v4.106.177 on 2 November 2026 (12 of 15, since entries are terse). 70.\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### Security \u0026 auth: Gemini Exchange API +18\n\n- Gate (60): Gate OAuth 2 for the hosted trading MCP with eight scopes per the protected-resource metadata and revocation on the API management page, and API keys with disabled, read-only or read-write per product group, a separate withdrawal group and an IP allow-list of 20 addresses (30). A read-only key and a GATE_READONLY switch exist, and the guide says fund-moving actions need the person's confirmation in the client, with no server-side cap documented (15 of 20). The news and info servers return third-party content with no guidance on treating it as untrusted (5 of 15). Key changes and OAuth grants are visible on the API management page; no per-call log found (5 of 15). No security.txt, no disclosure policy or bounty on a page we read, a proof-of-reserves repository (5 of 20). 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### Agent ergonomics: Gemini Exchange API +13\n\n- Gate (66): Read for the API with the hosted MCP beside it. The MCP is split by endpoint (58 public tools on /mcp, 400 or more on /mcp/exchange, smaller info and news servers) and the local package filters by module and read-only flag, which stands in for toolsets (5 of 25 for the trading server, 10 added back). Pagination by page and limit, from and to timestamps, status filters (15 of 20). Error labels such as INVALID_SIGNATURE, REQUEST_EXPIRED, IP_FORBIDDEN and READ_ONLY name the recovery (15 of 20). The `text` order identifier makes retries safe; the local server's source sets no readOnlyHint or destructiveHint and the hosted annotations are unread (8 of 20). Three required fields on a spot order, SDKs in seven languages and a CLI (13 of 15). 66.\n- Gemini Exchange API (79): Graded on the REST API, with the MCP server noted. Order book depth, trade and candle counts can be limited and symbols filtered; the MCP server lists 87 tools with no toolset or read-only subset switch, so a session that loads it pays for all of them (18 of 25). Timestamps, `limit_trades`, `since` and per-symbol filters on history, pagination on prediction-market lists (16 of 20). Errors carry a reason and message an agent can branch on, such as InsufficientFunds, MarketNotOpen and MissingRole, though some messages only say to retry later (16 of 20). client_order_id is echoed back but not checked for duplicates, cancel-all-session-orders and the heartbeat limit damage; the MCP server publishes readOnlyHint and destructiveHint on every tool and gates destructive ones on `confirm: true` (14 of 20). Few required parameters, sensible defaults, and official TypeScript and Go SDKs (15). 18 + 16 + 16 + 14 + 15 = 79.\n\n### Maintenance \u0026 community: Gemini Exchange API +11\n\n- Gate (77): Read as a hosted service with open-source MCP packages. The API changelog's latest entry is 2 November 2026 and gate-skills was pushed 3 November (30). 40 dated changelog entries since 5 August 2026 (20). developer@gate.com, a help centre and issue trackers on gate-mcp and gate-skills, replies not checked (12 of 25). In the official MCP registry under io.github.gateio-dev, a GitHub namespace rather than gate.com, and official SDKs current (10 of 15). The local package has a publish workflow and no test workflow in CI, and its last tag is 16 April 2026 (5 of 10). 77.\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## Score by category\n\n| Category | Weight | Gate | Gemini Exchange API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 73 | Gemini Exchange API +31 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 88 | Gemini Exchange API +18 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 79 | Gemini Exchange API +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 78 | Gemini Exchange API +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 40 | Gemini Exchange API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 88 | Gemini Exchange API +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 49 | 75 | Gemini Exchange API +26 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **56.4 · C** | **74.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Gate | Gemini Exchange API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Gate | Gemini Trust Company, LLC |\n| Hosted endpoint | `https://api.gatemcp.ai/mcp` | no (local only) |\n| Transports | Streamable HTTP, stdio | stdio |\n| Auth | OAuth or 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 | 58 | 87 |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | yes |\n| MCP registry | `io.github.gateio-dev/gate-mcp` | not listed |\n| Last release | 2026-11-02 | 2026-10-28 |\n| Terms last updated | 2026-07-22 | couldn't be read |\n| Privacy policy last updated | no date given | no date given |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 44 stars | 8 stars, 99 npm/wk |\n\n## Verdicts\n\n**Gate.** Gate runs official hosted MCP servers with keyless market data and OAuth-scoped trading, a local stdio server with a read-only switch, per-endpoint rate limits with headers and a futures testnet. There is no status page, SLA or OpenAPI file, the fee table needs a login, the MCP host is a separate domain, and the terms name no company.\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### Gate\n\n1. Start on https://api.gatemcp.ai/mcp for prices and order books with no credential; switch to /mcp/exchange only when the person has approved the OAuth grant with the narrowest scopes\n2. For a key-based route, create a key on a dedicated sub-account with read-only on every group but the one the task needs, withdrawal disabled and an IP allow-list; changes take up to 5 minutes\n3. Put a unique `text` value starting with t- on every spot order and reuse it on the retry; read the order back before placing again\n4. Read X-Gate-RateLimit-Requests-Remain and stop at zero; spot order placement is capped at 10 a second and withdrawals at 1 per 3 seconds\n5. Rehearse futures logic on api-testnet.gateapi.io with TestNet keys; there is no spot testnet\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, Gate or Gemini Exchange API?\n\nGemini Exchange API scores 74.6 (BB) on agent readiness against Gate's 56.4 (C), and leads in every scored category.\n\n### Do Gate and Gemini Exchange API need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Gate and Gemini Exchange API without installing anything?\n\nGate has a hosted endpoint at https://api.gatemcp.ai/mcp. 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/gate-io-vs-gemini-exchange.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"gate-io\", \"b\": \"gemini-exchange\"}`. From a terminal: `anchor compare gate-io gemini-exchange`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gate-io.json and https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json\n\n## Other comparisons with Gate or Gemini Exchange API\n\n- [Bitfinex API vs Gate](https://www.anchorterminal.com/compare/bitfinex-vs-gate-io.md)\n- [Bitfinex API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.md)\n- [Bitget vs Gate](https://www.anchorterminal.com/compare/bitget-vs-gate-io.md)\n- [Bitget vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.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- [Bitstamp API vs Gate](https://www.anchorterminal.com/compare/bitstamp-vs-gate-io.md)\n- [Bitstamp API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.md)\n- [Bybit vs Gate](https://www.anchorterminal.com/compare/bybit-vs-gate-io.md)\n- [Bybit vs Gemini Exchange API](https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange.md)\n- [Crypto.com Exchange API vs Gate](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-gate-io.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 HTX trading API](https://www.anchorterminal.com/compare/gate-io-vs-htx.md)\n- [Gate vs Hyperliquid](https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid.md)\n- [Gate vs Kraken API](https://www.anchorterminal.com/compare/gate-io-vs-kraken.md)\n- [Gate vs KuCoin](https://www.anchorterminal.com/compare/gate-io-vs-kucoin.md)\n- [Gate vs MEXC API](https://www.anchorterminal.com/compare/gate-io-vs-mexc.md)\n- [Gate vs OKX API](https://www.anchorterminal.com/compare/gate-io-vs-okx.md)\n- [Gate vs Uniswap Trading API](https://www.anchorterminal.com/compare/gate-io-vs-uniswap.md)\n- [Gate vs Upbit Open API](https://www.anchorterminal.com/compare/gate-io-vs-upbit.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 Gate](https://www.anchorterminal.com/compare/binance-vs-gate-io.md)\n- [Binance API vs Gemini Exchange API](https://www.anchorterminal.com/compare/binance-vs-gemini-exchange.md)\n- [Coinbase Advanced Trade API vs Gate](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gate-io.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 Gate](https://www.anchorterminal.com/compare/coinbase-mcp-vs-gate-io.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 Gate](https://www.anchorterminal.com/compare/deribit-vs-gate-io.md)\n- [Deribit vs Gemini Exchange API](https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange.md)\n- [dYdX vs Gate](https://www.anchorterminal.com/compare/dydx-vs-gate-io.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": "Gate vs Gemini Exchange API",
        "url": ""
      }
    ],
    "description": "Gemini Exchange scores 74.6 (BB) to Gate's 56.4 (C) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Gate C 56.4",
      "Gemini Exchange API BB 74.6",
      "scores"
    ],
    "h1": "Gate vs Gemini Exchange API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/gate-io-vs-gemini-exchange",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Gate vs Gemini Exchange for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange"
  },
  "tokens": {
    "markdown": 5400,
    "slim": 3130
  },
  "version": 1
}
