{
  "data": {
    "a": {
      "slug": "coinbase-advanced-trade",
      "name": "Coinbase Advanced Trade API",
      "vendor": "Coinbase, Inc.",
      "vendorUrl": "https://docs.cdp.coinbase.com/advanced-trade/docs/welcome",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Coinbase's Advanced Trade API is the trading API of a Coinbase account, with REST, WebSocket feeds and a static sandbox for spot, US futures and, since October 2026, perpetuals on a Deribit-based gateway, authenticated by CDP API keys.",
      "url": "https://www.anchorterminal.com/tools/coinbase-advanced-trade",
      "markdownUrl": "https://www.anchorterminal.com/tools/coinbase-advanced-trade.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/coinbase-advanced-trade.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/coinbase-advanced-trade.json",
      "dns": "coinbase-advanced-trade.grade.anchorterminal.com",
      "repo": "https://github.com/coinbase/coinbase-advanced-py",
      "license": "Proprietary hosted service under the Coinbase User Agreement, which answered a bot check and wasn't read. The official Python SDK coinbase-advanced-py is on GitHub",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "coinbase-advanced-py"
        }
      ],
      "auth": "mixed",
      "authNotes": "CDP secret API key made in the CDP portal, with view, trade and transfer permissions, a portfolio restriction and an optional IP allowlist. Each request carries a JWT signed with ECDSA (ES256) that expires after 2 minutes, so a new token is minted per call. Ed25519 keys are not accepted by Coinbase App APIs. The OpenAPI spec also lists OAuth2 with wallet:* scopes for acting on other people's accounts. Keys are regenerated or disabled in the portal. Six public market endpoints need no key (https://docs.cdp.coinbase.com/coinbase-app/authentication-authorization/api-key-authentication.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing to call. Trades carry Advanced Trade maker and taker fees by 30-day volume tier; the fee page at coinbase.com/advanced-fees and help.coinbase.com both answered our reader with 403 on 3 November 2026, so the lowest tier's rates are unread. The sandbox and the public market endpoints need no account.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the Advanced Trade endpoints in the OpenAPI spec or docs (checked 2026-11-03). Coinbase's account MCP server, listed as coinbase-mcp, pays x402 resources as a buyer; that is a separate surface.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.cdp.coinbase.com/advanced-trade/docs/welcome",
      "llmsTxt": "https://docs.cdp.coinbase.com/llms.txt",
      "openapi": "https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/advanced-trade-spec.yaml",
      "capabilities": [
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "api-key",
        "oauth",
        "openapi",
        "llms-txt",
        "sandbox",
        "status-page",
        "python",
        "usage-priced",
        "no-card",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.7,
        "grade": "C",
        "agentReady": false,
        "rank": 493,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 57,
          "payments": 20,
          "reliability": 58,
          "schema": 80,
          "security": 68,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Advanced Trade has a public OpenAPI spec, keys limited to view, trade or transfer and to one portfolio, and a keyless static sandbox. No REST rate limit is published, the fee schedule, user agreement and country list sit behind a bot check, and an agent that wants an MCP route uses the separate coinbase-mcp listing.",
        "bestFor": "An agent trading a person's or a treasury's Coinbase account with its own key, where the person wants sandbox tests and portfolio scoping.",
        "strengths": [
          "Public OpenAPI 3.1 and AsyncAPI specs with typed enums, plus llms.txt and a Markdown twin of every docs page",
          "CDP keys carry view, trade and transfer permissions, a portfolio restriction and an IP allowlist, and signed JWTs expire after 2 minutes",
          "Keyless sandbox with static responses and header-driven error simulation for accounts and orders",
          "Six public market data endpoints need no key, and most WebSocket channels are open without authentication",
          "Dated retirement of INTX endpoints with a read-only grace period, announced in the docs"
        ],
        "weaknesses": [
          "No REST rate limit numbers found; the old rate-limits page answers 404 and only the WebSocket limit of 8 per second per IP is published",
          "The fee schedule, user agreement, privacy policy and supported-countries pages answered a bot check and were not read",
          "No FIX connectivity is documented for Advanced Trade",
          "The OpenAPI spec documents only a default error response, with no 4xx or 429 shapes",
          "security.txt expired on 1 June 2024 and no status component exists for the Global Derivatives gateway"
        ],
        "agentNotes": [
          "Mint a fresh ES256 JWT for every request; tokens expire after 2 minutes and Ed25519 keys are rejected",
          "Send a unique client_order_id on every order and reuse it on retry so a dropped connection does not place a second order",
          "Develop against api-sandbox.coinbase.com first; its responses are static, so do not read prices or fills from it",
          "Use a key with view only, or trade without transfer, and restrict it to a portfolio funded for the agent",
          "For perpetuals call the Global Derivatives JSON-RPC gateway at drb.coinbase.com; the /intx/* endpoints are retired"
        ],
        "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": 61.7
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 57,
          "payments": 20,
          "reliability": 58,
          "schema": 80,
          "security": 68,
          "transparency": 42
        },
        "provenanceScore": 92,
        "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": "pip install coinbase-advanced-py",
        "http": "curl https://api.coinbase.com/api/v3/brokerage/market/products/BTC-USD/ticker?limit=1"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.spot-trading",
        "tool": "https://letme.dev/coinbase-advanced-trade"
      },
      "sameCompany": [
        "coinbase-mcp"
      ],
      "area": "payments",
      "provenance": {
        "legalEntity": "Coinbase, Inc.",
        "domain": "coinbase.com",
        "domainRegistered": "2011-07-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.coinbase.com/legal/user_agreement",
        "privacy": "https://www.coinbase.com/legal/privacy",
        "statusPage": "https://status.coinbase.com",
        "changelog": "https://docs.cdp.coinbase.com/get-started/changelog",
        "securityTxt": "expired",
        "checked": "2026-11-03",
        "notes": [
          "The user agreement, privacy policy, fee schedule and help centre answered a bot check or 403 on 3 November 2026. The terms and privacy URLs are Coinbase's standard ones; Coinbase, Inc. is the entity named in the coinbase-cdp-agentkit and coinbase-mcp listings.",
          "Domain registration date per the RDAP read of 24 October 2026 for coinbase-mcp, not re-read.",
          "https://www.coinbase.com/.well-known/security.txt points to HackerOne and expired on 1 June 2024, re-read 3 November 2026.",
          "docs.cdp.coinbase.com/robots.txt disallows only /cdn-cgi/ and /_next/. help.coinbase.com answered 403 to robots.txt, so nothing on that host was requested further.",
          "The CDP changelog's newest entry is 23 October 2026; its only trading entries since August concern the agents MCP server (17 and 21 August)."
        ],
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/coinbase-advanced-trade.json",
      "live": {
        "slug": "coinbase-advanced-trade",
        "vendorStatus": {
          "page": "https://status.coinbase.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-04T19:31:22.399816981Z"
        },
        "securityTxt": {
          "url": "https://coinbase.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2024-06-01T00:00:00z",
          "checkedAt": "2026-11-04T15:52:53.816413711Z"
        },
        "updatedAt": "2026-11-04T19:31:22.399816981Z"
      }
    },
    "answer": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Coinbase Advanced Trade API's 61.7 (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-04T19:31:36.16016617Z"
        },
        "securityTxt": {
          "url": "https://gemini.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-04T15:53:25.749980755Z"
        },
        "updatedAt": "2026-11-04T19:31:36.16016617Z"
      }
    },
    "edges": [
      {
        "by": 31,
        "category": "maintenance",
        "leads": "gemini-exchange",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed hosted service. The last change to the API itself is the Global Derivatives gateway and INTX retirement of 1 October 2026, 33 days before this check; the Python SDK's v2.0.0rc1 is from 30 September (20 of 30). Dated changes in 90 days are the 1 October migration and the agents entries of 17 and 21 August, which run through Advanced Trade (12 of 20). A public changelog and a CDP Discord; SDK issues not read (8 of 15). Official Python SDK current, the rest samples (12 of 15). SDK CI not read (5 of 10). 20 + 12 + 8 + 12 + 5 = 57.",
          "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": 57,
          "b": 88
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "gemini-exchange",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol on the API (0). The fee schedule answered a bot check on 3 November 2026, so no per-trade price was read, and the docs give none (0 of 20, unchecked). Six public market endpoints and the sandbox need no key or card (20). A person signs up, passes verification and mints a key in the portal (0). 0 + 0 + 20 + 0 = 20.",
          "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": 20,
          "b": 40
        }
      },
      {
        "by": 15,
        "category": "reliability",
        "leads": "gemini-exchange",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. status.coinbase.com is a Statuspage site with Coinbase Advanced Trade, API, US Derivatives and International Derivatives components (20). The incidents feed we could read runs from 16 September to 3 November 2026. In it Advanced Trade was degraded for 25 minutes on 21 September, the website had a 3-minute major on 14 October, converts were down 1 hour 4 minutes on 26 October, and no incident named the API; 5 August to 15 September was beyond the feed, so minor only for the seven weeks read (15 of 30). No REST rate limit with numbers was found; the older rate-limits page answers 404 and llms.txt lists none, while the WebSocket page gives 8 connections and 8 unauthenticated messages per second per IP (5 of 15). Orders take a client_order_id, but no 429 or Retry-After guidance was found for Advanced Trade (8 of 15). No SLA (0). REST and WebSocket are generally available; the Global Derivatives gateway is a month old and not marked beta (10). 20 + 15 + 5 + 8 + 0 + 10 = 58.",
          "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": 58,
          "b": 73
        }
      },
      {
        "by": 10,
        "category": "security",
        "leads": "gemini-exchange",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "CDP keys with view, trade and transfer permissions, a portfolio restriction, an optional IP allowlist, revocation in the portal, ES256 JWTs that expire after 2 minutes, and OAuth2 with wallet:* scopes for other people's accounts; no key expiry (28 of 30). View-only keys and portfolio scoping limit an agent, and transfer is a separate permission, but no withdrawal address allow-list for API keys and no confirmation step were found (14 of 20). The API returns no untrusted content (10). key_permissions reports a key's scope and account activity shows in the app, but no per-call log was found (6 of 15). HackerOne bug bounty named in a security.txt that expired on 1 June 2024; certifications unread behind a bot check (10 of 20). 28 + 14 + 10 + 6 + 10 = 68.",
          "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": 68,
          "b": 78
        }
      },
      {
        "by": 8,
        "category": "schema",
        "leads": "gemini-exchange",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.1 spec (45 paths, 51 operations) and an AsyncAPI document (25). llms.txt and a Markdown twin of every docs page (10). Every operation has a summary and description, some one line, several with multi-sentence guidance for equities (14 of 20). Enums on product_type, granularity, order_status, time_in_forces, order_types, order_side and sort_by, with defaults (13 of 15). Examples in the docs and the sandbox's simulated errors, but the spec documents only a default error referencing grpc.gateway.runtime.Error, with no 4xx or 429 shapes (8 of 15). Paths carry /api/v3, the CDP changelog is dated, and the INTX retirement was announced with a date, but the spec's info.version is 0.1 and the October gateway change has no changelog entry (10 of 15). 25 + 10 + 14 + 13 + 8 + 10 = 80.",
          "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": 80,
          "b": 88
        }
      },
      {
        "by": 8,
        "category": "transparency",
        "leads": "gemini-exchange",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service whose user agreement answered a bot check; the OpenAPI spec is public and the Python SDK is open on GitHub (12 of 30). Privacy facts per the coinbase-cdp-agentkit check of 1 October 2026 (Coinbase, Inc., processing countries, retention tied to need without numbers), not re-read (10 of 30). INTX endpoints retired on 1 October 2026 with a dated notice and a read-only grace period (12 of 20). Processing countries and provider categories per the same earlier check, no subprocessor list (8 of 20). 12 + 10 + 12 + 8 = 42.",
          "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": 67,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Coinbase, Inc.",
        "b": "Gemini Trust Company, LLC",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "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": "Proprietary hosted service under the Coinbase User Agreement, which answered a bot check and wasn't read. The official Python SDK coinbase-advanced-py is on GitHub",
        "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": "none",
        "b": "87",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-27",
        "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": "none",
        "b": "8 stars, 99 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Coinbase Advanced Trade API's 61.7 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Coinbase Advanced Trade API or Gemini Exchange API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Coinbase Advanced Trade API and Gemini Exchange API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Coinbase Advanced Trade API. Gemini Exchange API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Coinbase Advanced Trade API and Gemini Exchange API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "An agent trading a person's or a treasury's Coinbase account with its own key, where the person wants sandbox tests and portfolio scoping.",
        "slug": "coinbase-advanced-trade",
        "watchFor": "No REST rate limit numbers found; the old rate-limits page answers 404 and only the WebSocket limit of 8 per second per IP is published"
      },
      {
        "aheadOn": [
          "Reliability, 73 against 58",
          "Schema \u0026 documentation, 88 against 80",
          "Agent ergonomics, 79 against 73",
          "Security \u0026 auth, 78 against 68",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 88 against 57",
          "Transparency \u0026 trust, 75 against 67"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "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.spot-trading",
      "name": "Exchange spot trading"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade.json",
        "title": "Bitfinex API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade"
      },
      {
        "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-coinbase-advanced-trade.json",
        "title": "Bitget vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-coinbase-advanced-trade"
      },
      {
        "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-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-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-coinbase-advanced-trade.json",
        "title": "Bitstamp API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-advanced-trade"
      },
      {
        "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-coinbase-advanced-trade.json",
        "title": "Bybit vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-coinbase-advanced-trade"
      },
      {
        "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-coinbase-advanced-trade.json",
        "title": "Binance API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-coinbase-advanced-trade"
      },
      {
        "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-coinbase-mcp.json",
        "title": "Coinbase Advanced Trade API vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-crypto-com-exchange.json",
        "title": "Coinbase Advanced Trade API vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-deribit.json",
        "title": "Coinbase Advanced Trade API vs Deribit",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-deribit"
      },
      {
        "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-htx.json",
        "title": "Coinbase Advanced Trade API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.json",
        "title": "Coinbase Advanced Trade API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.json",
        "title": "Coinbase Advanced Trade API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.json",
        "title": "Coinbase Advanced Trade API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-mexc.json",
        "title": "Coinbase Advanced Trade API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx.json",
        "title": "Coinbase Advanced Trade API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap.json",
        "title": "Coinbase Advanced Trade API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.json",
        "title": "Coinbase Advanced Trade API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit"
      },
      {
        "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/coinbase-advanced-trade-vs-dydx.json",
        "title": "Coinbase Advanced Trade API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx"
      },
      {
        "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": [
      {
        "by": 15,
        "coinbase-advanced-trade": 58,
        "edge": "gemini-exchange",
        "gemini-exchange": 73,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "coinbase-advanced-trade": 80,
        "edge": "gemini-exchange",
        "gemini-exchange": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 6,
        "coinbase-advanced-trade": 73,
        "edge": "gemini-exchange",
        "gemini-exchange": 79,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 10,
        "coinbase-advanced-trade": 68,
        "edge": "gemini-exchange",
        "gemini-exchange": 78,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "coinbase-advanced-trade": 20,
        "edge": "gemini-exchange",
        "gemini-exchange": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 31,
        "coinbase-advanced-trade": 57,
        "edge": "gemini-exchange",
        "gemini-exchange": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 8,
        "coinbase-advanced-trade": 67,
        "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 Coinbase Advanced Trade API's 61.7 (C), and leads in every scored category. Both do exchange spot trading.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "coinbase-advanced-trade": "Advanced Trade has a public OpenAPI spec, keys limited to view, trade or transfer and to one portfolio, and a keyless static sandbox. No REST rate limit is published, the fee schedule, user agreement and country list sit behind a bot check, and an agent that wants an MCP route uses the separate coinbase-mcp listing.",
      "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/coinbase-advanced-trade-vs-gemini-exchange",
    "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.min.md"
  },
  "markdown": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Coinbase Advanced Trade API's 61.7 (C), and leads in every scored category. Both do exchange spot trading.\n\n- Coinbase Advanced Trade API: grade C, 61.7/100, rank #493 of 1349. Markdown https://www.anchorterminal.com/tools/coinbase-advanced-trade.md · JSON https://www.anchorterminal.com/api/v1/tools/coinbase-advanced-trade.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### Coinbase Advanced Trade API (C)\n\nGood for: An agent trading a person's or a treasury's Coinbase account with its own key, where the person wants sandbox tests and portfolio scoping.\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No REST rate limit numbers found; the old rate-limits page answers 404 and only the WebSocket limit of 8 per second per IP is published\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 58\n- Schema \u0026 documentation, 88 against 80\n- Agent ergonomics, 79 against 73\n- Security \u0026 auth, 78 against 68\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 88 against 57\n- Transparency \u0026 trust, 75 against 67\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\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### Maintenance \u0026 community: Gemini Exchange API +31\n\n- Coinbase Advanced Trade API (57): Read as a closed hosted service. The last change to the API itself is the Global Derivatives gateway and INTX retirement of 1 October 2026, 33 days before this check; the Python SDK's v2.0.0rc1 is from 30 September (20 of 30). Dated changes in 90 days are the 1 October migration and the agents entries of 17 and 21 August, which run through Advanced Trade (12 of 20). A public changelog and a CDP Discord; SDK issues not read (8 of 15). Official Python SDK current, the rest samples (12 of 15). SDK CI not read (5 of 10). 20 + 12 + 8 + 12 + 5 = 57.\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### Payments \u0026 pricing: Gemini Exchange API +20\n\n- Coinbase Advanced Trade API (20): No machine payment protocol on the API (0). The fee schedule answered a bot check on 3 November 2026, so no per-trade price was read, and the docs give none (0 of 20, unchecked). Six public market endpoints and the sandbox need no key or card (20). A person signs up, passes verification and mints a key in the portal (0). 0 + 0 + 20 + 0 = 20.\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### Reliability: Gemini Exchange API +15\n\n- Coinbase Advanced Trade API (58): Read with the hosted lines. status.coinbase.com is a Statuspage site with Coinbase Advanced Trade, API, US Derivatives and International Derivatives components (20). The incidents feed we could read runs from 16 September to 3 November 2026. In it Advanced Trade was degraded for 25 minutes on 21 September, the website had a 3-minute major on 14 October, converts were down 1 hour 4 minutes on 26 October, and no incident named the API; 5 August to 15 September was beyond the feed, so minor only for the seven weeks read (15 of 30). No REST rate limit with numbers was found; the older rate-limits page answers 404 and llms.txt lists none, while the WebSocket page gives 8 connections and 8 unauthenticated messages per second per IP (5 of 15). Orders take a client_order_id, but no 429 or Retry-After guidance was found for Advanced Trade (8 of 15). No SLA (0). REST and WebSocket are generally available; the Global Derivatives gateway is a month old and not marked beta (10). 20 + 15 + 5 + 8 + 0 + 10 = 58.\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### Security \u0026 auth: Gemini Exchange API +10\n\n- Coinbase Advanced Trade API (68): CDP keys with view, trade and transfer permissions, a portfolio restriction, an optional IP allowlist, revocation in the portal, ES256 JWTs that expire after 2 minutes, and OAuth2 with wallet:* scopes for other people's accounts; no key expiry (28 of 30). View-only keys and portfolio scoping limit an agent, and transfer is a separate permission, but no withdrawal address allow-list for API keys and no confirmation step were found (14 of 20). The API returns no untrusted content (10). key_permissions reports a key's scope and account activity shows in the app, but no per-call log was found (6 of 15). HackerOne bug bounty named in a security.txt that expired on 1 June 2024; certifications unread behind a bot check (10 of 20). 28 + 14 + 10 + 6 + 10 = 68.\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### Schema \u0026 documentation: Gemini Exchange API +8\n\n- Coinbase Advanced Trade API (80): Public OpenAPI 3.1 spec (45 paths, 51 operations) and an AsyncAPI document (25). llms.txt and a Markdown twin of every docs page (10). Every operation has a summary and description, some one line, several with multi-sentence guidance for equities (14 of 20). Enums on product_type, granularity, order_status, time_in_forces, order_types, order_side and sort_by, with defaults (13 of 15). Examples in the docs and the sandbox's simulated errors, but the spec documents only a default error referencing grpc.gateway.runtime.Error, with no 4xx or 429 shapes (8 of 15). Paths carry /api/v3, the CDP changelog is dated, and the INTX retirement was announced with a date, but the spec's info.version is 0.1 and the October gateway change has no changelog entry (10 of 15). 25 + 10 + 14 + 13 + 8 + 10 = 80.\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### Transparency \u0026 trust: Gemini Exchange API +8\n\n- Coinbase Advanced Trade API (67): The editorial half. A closed service whose user agreement answered a bot check; the OpenAPI spec is public and the Python SDK is open on GitHub (12 of 30). Privacy facts per the coinbase-cdp-agentkit check of 1 October 2026 (Coinbase, Inc., processing countries, retention tied to need without numbers), not re-read (10 of 30). INTX endpoints retired on 1 October 2026 with a dated notice and a read-only grace period (12 of 20). Processing countries and provider categories per the same earlier check, no subprocessor list (8 of 20). 12 + 10 + 12 + 8 = 42.\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## Score by category\n\n| Category | Weight | Coinbase Advanced Trade API | Gemini Exchange API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 73 | Gemini Exchange API +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 88 | Gemini Exchange API +8 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 79 | Gemini Exchange API +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 78 | Gemini Exchange API +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Gemini Exchange API +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 88 | Gemini Exchange API +31 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 75 | Gemini Exchange API +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.7 · C** | **74.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Coinbase Advanced Trade API | Gemini Exchange API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Coinbase, Inc. | Gemini Trust Company, LLC |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted service under the Coinbase User Agreement, which answered a bot check and wasn't read. The official Python SDK coinbase-advanced-py is on GitHub | 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 | none | 87 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-10-28 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | 2026-05-27 | 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 | none | 8 stars, 99 npm/wk |\n\n## Verdicts\n\n**Coinbase Advanced Trade API.** Advanced Trade has a public OpenAPI spec, keys limited to view, trade or transfer and to one portfolio, and a keyless static sandbox. No REST rate limit is published, the fee schedule, user agreement and country list sit behind a bot check, and an agent that wants an MCP route uses the separate coinbase-mcp listing.\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### Coinbase Advanced Trade API\n\n1. Mint a fresh ES256 JWT for every request; tokens expire after 2 minutes and Ed25519 keys are rejected\n2. Send a unique client_order_id on every order and reuse it on retry so a dropped connection does not place a second order\n3. Develop against api-sandbox.coinbase.com first; its responses are static, so do not read prices or fills from it\n4. Use a key with view only, or trade without transfer, and restrict it to a portfolio funded for the agent\n5. For perpetuals call the Global Derivatives JSON-RPC gateway at drb.coinbase.com; the /intx/* endpoints are retired\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, Coinbase Advanced Trade API or Gemini Exchange API?\n\nGemini Exchange API scores 74.6 (BB) on agent readiness against Coinbase Advanced Trade API's 61.7 (C), and leads in every scored category.\n\n### Do Coinbase Advanced Trade API 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 Coinbase Advanced Trade API and Gemini Exchange API without installing anything?\n\nNo hosted endpoint is listed for Coinbase Advanced Trade API. 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/coinbase-advanced-trade-vs-gemini-exchange.json, and with the fewest tokens: https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"coinbase-advanced-trade\", \"b\": \"gemini-exchange\"}`. From a terminal: `anchor compare coinbase-advanced-trade gemini-exchange`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/coinbase-advanced-trade.json and https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json\n\n## Other comparisons with Coinbase Advanced Trade API or Gemini Exchange API\n\n- [Bitfinex API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade.md)\n- [Bitfinex API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.md)\n- [Bitget vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitget-vs-coinbase-advanced-trade.md)\n- [Bitget vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.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 Gemini Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.md)\n- [Bitstamp API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-advanced-trade.md)\n- [Bitstamp API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.md)\n- [Bybit vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bybit-vs-coinbase-advanced-trade.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 Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/binance-vs-coinbase-advanced-trade.md)\n- [Binance API vs Gemini Exchange API](https://www.anchorterminal.com/compare/binance-vs-gemini-exchange.md)\n- [Coinbase Advanced Trade API vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-coinbase-mcp.md)\n- [Coinbase Advanced Trade API vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-crypto-com-exchange.md)\n- [Coinbase Advanced Trade API vs Deribit](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-deribit.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 HTX trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx.md)\n- [Coinbase Advanced Trade API vs Hyperliquid](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.md)\n- [Coinbase Advanced Trade API vs Kraken API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.md)\n- [Coinbase Advanced Trade API vs KuCoin](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.md)\n- [Coinbase Advanced Trade API vs MEXC API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-mexc.md)\n- [Coinbase Advanced Trade API vs OKX API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx.md)\n- [Coinbase Advanced Trade API vs Uniswap Trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap.md)\n- [Coinbase Advanced Trade API vs Upbit Open API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange.md)\n- [Coinbase Advanced Trade API vs dYdX](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx.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": "Coinbase Advanced Trade API vs Gemini Exchange API",
        "url": ""
      }
    ],
    "description": "Gemini Exchange scores 74.6 (BB) to Coinbase Advanced Trade's 61.7 (C) for exchange spot trading. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Coinbase Advanced Trade API C 61.7",
      "Gemini Exchange API BB 74.6",
      "scores"
    ],
    "h1": "Coinbase Advanced Trade API vs Gemini Exchange API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/coinbase-advanced-trade-vs-gemini-exchange",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Coinbase Advanced Trade vs Gemini Exchange for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange"
  },
  "tokens": {
    "markdown": 5550,
    "slim": 3030
  },
  "version": 1
}
