{
  "data": {
    "a": {
      "slug": "bitstamp",
      "name": "Bitstamp API",
      "vendor": "Bitstamp Ltd.",
      "vendorUrl": "https://www.bitstamp.net",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Bitstamp's HTTP API v2 for spot and derivatives trading, balances, deposits and withdrawals, with WebSocket and FIX feeds and a sandbox at sandbox.bitstamp.net. Bitstamp is a Robinhood company since June 2025.",
      "url": "https://www.anchorterminal.com/tools/bitstamp",
      "markdownUrl": "https://www.anchorterminal.com/tools/bitstamp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bitstamp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bitstamp.json",
      "dns": "bitstamp.grade.anchorterminal.com",
      "license": "Proprietary hosted API under Bitstamp's terms of use, which our reader couldn't load",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key and secret made in the Bitstamp account after a browser signup, sent as `X-Auth: BITSTAMP {key}` with an HMAC-SHA256 `X-Auth-Signature` over the verb, host, path, query, nonce, timestamp and body, a 36-character single-use nonce and a timestamp within 150 seconds. Keys carry per-endpoint permissions (error API0003 names a missing permission) and an IP allow-list (API0002), and `X-Auth-Subaccount-Id` targets a sub-account. `POST /api/v2/revoke_all_api_keys/` is a kill switch for every key. Responses carry an `X-Server-Auth-Signature` to verify (https://www.bitstamp.net/api/, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API itself costs nothing. Trading fees are maker and taker by 30-day volume per the API's fees endpoints, but the fee schedule page at bitstamp.net/fee-schedule/ draws its table by script and loaded empty for our reader, so the rates are unchecked. Commercial use of exchange data needs a Data License Agreement through partners@bitstamp.net. The sandbox at sandbox.bitstamp.net needs no money (https://www.bitstamp.net/api/, checked 2026-11-03).",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation (checked 2026-11-03). Fees are taken from the account; onboarding is a browser signup.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.bitstamp.net/api/",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "official",
        "hosted",
        "api-key",
        "sandbox",
        "status-page",
        "usage-priced",
        "eu",
        "uk"
      ],
      "lastRelease": "2026-08-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.4,
        "grade": "D",
        "agentReady": false,
        "rank": 948,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 28,
          "payments": 20,
          "reliability": 63,
          "schema": 51,
          "security": 60,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Bitstamp documents its v2 API on one static page with numeric rate limits, per-endpoint key permissions, an IP allow-list, a kill switch and a sandbox. There is no official MCP server, duplicate client order ids are allowed, and the fee schedule, terms, privacy policy and country list render by script and could not be read.",
        "bestFor": "An agent that needs a long-running regulated spot venue in the EU, UK and US with a sandbox and per-endpoint key permissions, and can do its own signing.",
        "strengths": [
          "Rate limits with numbers (400 requests a second, 10,000 per 10 minutes) and named error codes for client and market limits",
          "Keys carry per-endpoint permissions and an IP allow-list, and one call revokes every key on the account",
          "A sandbox at sandbox.bitstamp.net with the same v2 paths, plus order-data endpoints to recover gaps after a dropped WebSocket",
          "A dated API changelog from 2023 to 28 August 2026 and a Statuspage feed with per-market incidents",
          "Signed responses (`X-Server-Auth-Signature`) let a client verify what the server returned"
        ],
        "weaknesses": [
          "No official MCP server, SDK, llms.txt or OpenAPI file; the registry's Bitstamp servers are third parties proxying public market data",
          "Duplicate client order ids are allowed since November 2023, so a retried order can execute twice",
          "The fee schedule, terms of use, privacy policy, about page and FAQ load empty without a browser, so fees, retention and the bot clauses are unchecked",
          "A 3-hour withdrawal failure across 14 networks on 21 August 2026 and a 39-minute halt of all markets on 5 August 2026",
          "security.txt expired on 12 July 2026, and no SLA was found"
        ],
        "agentNotes": [
          "Mint a key with only the endpoint permissions the task needs and an IP allow-list; keep `revoke_all_api_keys` in reach as a kill switch",
          "Treat `client_order_id` as a label, not a guard. On a timeout (500.016) fetch the order by client id before resending, because duplicates are accepted",
          "Use a fresh 36-character nonce and a timestamp within 150 seconds of server time on every request, or expect API0004 and API0017",
          "Stay under 400 requests a second and 10,000 per 10 minutes; 400.002 and 400.067 mean back off, and open-orders answers are cached for 10 seconds",
          "Start on sandbox.bitstamp.net with the same paths, and read the fee schedule in a browser before quoting costs, since it is unreadable to a plain fetch"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.4
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 28,
          "payments": 20,
          "reliability": 63,
          "schema": 51,
          "security": 60,
          "transparency": 16
        },
        "provenanceScore": 90,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://www.bitstamp.net/api/v2/ticker/btcusd/"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/bitstamp"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Bitstamp Ltd.",
        "domain": "bitstamp.net",
        "domainRegistered": "2011-07-04",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bitstamp.net/terms-of-use/",
        "privacy": "https://www.bitstamp.net/privacy-policy/",
        "statusPage": "https://status.bitstamp.net",
        "changelog": "https://www.bitstamp.net/api/",
        "securityTxt": "expired",
        "checked": "2026-11-03",
        "notes": [
          "Bitstamp Ltd. is named in Robinhood's newsroom post of 2 June 2025 on closing the acquisition; the terms of use and privacy policy pages loaded empty for our reader, so the entities they name are unconfirmed.",
          "RDAP gives bitstamp.net a registration date of 4 July 2011.",
          "https://www.bitstamp.net/.well-known/security.txt names HackerOne's Robinhood programme as Contact and Policy and expired on 12 July 2026.",
          "www.bitstamp.net/robots.txt allows /api/ itself and disallows /api/*, /account/, /trade/ and others; only /api/ was read under it. status.bitstamp.net disallows /api/ and /embed/, so the history feed was read. support.bitstamp.net did not resolve.",
          "The API changelog is a section of the API documentation page; there is no separate changelog URL."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bitstamp.json",
      "live": {
        "slug": "bitstamp",
        "vendorStatus": {
          "page": "https://status.bitstamp.net",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-04T20:38:43.0107081Z"
        },
        "securityTxt": {
          "url": "https://bitstamp.net/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-07-12T11:59:00.000Z",
          "checkedAt": "2026-11-04T15:53:31.314157297Z"
        },
        "updatedAt": "2026-11-04T20:38:43.0107081Z"
      }
    },
    "answer": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Bitstamp API's 50.4 (D), and leads in every scored category.",
    "b": {
      "slug": "gemini-exchange",
      "name": "Gemini Exchange API",
      "vendor": "Gemini Trust Company, LLC",
      "vendorUrl": "https://developer.gemini.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Gemini's exchange API for spot, margin, perpetuals, prediction markets and staking, through REST, WebSocket and FIX, with API key roles or OAuth, plus an official MCP server and SDKs from its developer-platform repository.",
      "url": "https://www.anchorterminal.com/tools/gemini-exchange",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemini-exchange.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gemini-exchange.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json",
      "dns": "gemini-exchange.grade.anchorterminal.com",
      "repo": "https://github.com/gemini/developer-platform",
      "license": "Proprietary hosted API under Gemini's user agreement. The developer-platform repository (MCP server, TypeScript and Go SDKs, samples and skills) is Apache-2.0",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@gemini-markets/sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key and secret made at exchange.gemini.com/settings/api after a browser signup with identity checks, sent as X-GEMINI-APIKEY, X-GEMINI-PAYLOAD (base64 JSON with a nonce) and X-GEMINI-SIGNATURE (HMAC-SHA384). Keys carry one role, Trader by default, Fund Manager for withdrawals and transfers, Auditor read-only, Administrator for master keys only, and a `master-` key reaches subaccounts. A key can require a heartbeat that cancels its session's orders after 30 seconds of silence. OAuth 2.0 (authorisation code, PKCE S256 for public clients, 24-hour access tokens, single-use refresh tokens, RFC 7009 revocation) is open in the sandbox at once and reviewed by Gemini before production. No IP allow-list was found in the docs (https://developer.gemini.com/roles, https://developer.gemini.com/authentication/api-key, https://developer.gemini.com/authentication/oauth, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API itself costs nothing. Trades pay the API fee schedule, effective 1 September 2026, 0.600% maker and 1.200% taker at the base tier (under $10,000 of 30-day volume), falling to 0.000% maker and 0.020% taker above $250M. Stablecoin pairs 0.00% maker and 0.01% taker. Derivatives from 0.02% maker and 0.07% taker, charged in GUSD. Liquidations 0.5%. The sandbox at api.sandbox.gemini.com credits each new account with test funds and needs no card (https://www.gemini.com/fees/api-fee-schedule, https://developer.gemini.com/get-started/sandbox, checked 2026-11-03).",
      "priceSummary": "0.6% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt, agents.md, the OpenAPI catalogue or the fee schedule (checked 2026-11-03). Trading fees are taken from the account; onboarding is a browser signup.",
        "endpoints": []
      },
      "toolCount": 87,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": 99,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://developer.gemini.com",
      "llmsTxt": "https://developer.gemini.com/llms.txt",
      "openapi": "https://developer.gemini.com/specs/openapi/rest.yaml",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "official",
        "hosted",
        "api-key",
        "oauth",
        "mcp",
        "llms-txt",
        "openapi",
        "sandbox",
        "status-page",
        "bug-bounty",
        "typescript",
        "go",
        "usage-priced"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 70,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 88,
          "payments": 40,
          "reliability": 73,
          "schema": 88,
          "security": 78,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026.",
        "bestFor": "An agent trading spot, perpetuals or prediction markets for a US customer with a role-limited key and a sandbox to rehearse on.",
        "strengths": [
          "Key roles enforce least privilege, since Trader cannot withdraw, Fund Manager cannot trade, Auditor is read-only, and a 403 `MissingRole` names the role an endpoint needs",
          "Official MCP server with readOnlyHint and destructiveHint on every tool, a `confirm: true` gate on funds-moving tools, untrusted-output framing and redaction of free-text fields",
          "OpenAPI 3 and AsyncAPI files, llms.txt, llms-full.txt, agents.md, an agent card and an error-codes page with 53 named reasons",
          "A sandbox with the same REST, WebSocket and FIX surfaces, test balances on signup and a documented 2FA bypass for automated tests",
          "Fee schedule published per tier without login, and a Statuspage feed with component-level incidents"
        ],
        "weaknesses": [
          "Client order ids are only recommended to be unique and no duplicate rejection is documented, so a retried order can execute twice",
          "No Retry-After, backoff guidance or SLA; 429 continues until the rate drops, and the upcoming-changes page reads \"TBD\"",
          "The MCP server lists 87 tools with no toolset or read-only subset switch, which costs context on every session",
          "The hosted MCP address in the repository's plugin manifest is on no docs page and gave no complete answer to a GET",
          "Accounts in the United Kingdom, the EEA and Australia closed on 6 April 2026, and the availability page still lists those countries"
        ],
        "agentNotes": [
          "Create a Trader key for order flow and a separate Fund Manager key only if withdrawals are in scope; never combine them, and keep the secret out of prompts and logs",
          "Set a `client_order_id` per order and look it up with `get_order_status` before resending after a timeout, because Gemini does not reject duplicates",
          "Start on api.sandbox.gemini.com with the same code; sandbox apps register at once, production OAuth apps wait for Gemini's review",
          "Stay under 1 public and 5 private requests a second; a 429 keeps answering 429 until the rate falls, with no Retry-After to read",
          "Check the person's country against the availability page first; UK, EEA and Australian accounts were closed on 6 April 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.6
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 88,
          "payments": 40,
          "reliability": 73,
          "schema": 88,
          "security": 78,
          "transparency": 54
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @gemini-markets/sdk",
        "http": "curl https://api.gemini.com/v1/pubticker/btcusd",
        "claudeCode": "claude mcp add gemini -s user -e GEMINI_API_KEY=your_key -e GEMINI_API_SECRET=your_secret -- node /absolute/path/to/mcp-server/dist/index.js",
        "config": {
          "mcpServers": {
            "gemini": {
              "args": [
                "/absolute/path/to/mcp-server/dist/index.js"
              ],
              "command": "node",
              "env": {
                "GEMINI_ACCOUNT": "primary",
                "GEMINI_API_KEY": "your_api_key_here",
                "GEMINI_API_SECRET": "your_api_secret_here",
                "GEMINI_WS_URL": "wss://ws.gemini.com"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/gemini-exchange"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot maker fee, base tier (under $10,000 of 30-day volume)",
          "unit": "pct",
          "usd": 0.6,
          "note": "API fee schedule effective 1 September 2026"
        },
        {
          "item": "Spot taker fee, base tier",
          "unit": "pct",
          "usd": 1.2,
          "note": "falls to 0.02% above $250M of 30-day volume"
        },
        {
          "item": "Derivatives taker fee, base tier",
          "unit": "pct",
          "usd": 0.07,
          "note": "maker 0.02%, charged in GUSD"
        }
      ],
      "provenance": {
        "legalEntity": "Gemini Trust Company, LLC",
        "domain": "gemini.com",
        "domainRegistered": "1994-02-14",
        "endpointOnVendorDomain": true,
        "terms": "https://www.gemini.com/legal/user-agreement",
        "privacy": "https://www.gemini.com/legal/privacy-policy",
        "statusPage": "https://status.gemini.com",
        "changelog": "https://developer.gemini.com/changelog/revision-history",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The user agreement page of 19 February 2026 names Gemini Trust Company, LLC and Gemini Moonbase, LLC by state of residence; the privacy policy of 11 May 2026 lists the affiliates by region. The SEC's submissions record names the parent Gemini Space Station, Inc., Nasdaq GEMI.",
          "RDAP gives gemini.com a registration date of 14 February 1994.",
          "https://www.gemini.com/.well-known/security.txt is a PGP-signed file with Contact psirt@gemini.com, a bug bounty policy with payouts from $150 to $20,000 and a sandbox-only scope, but no Expires line.",
          "www.gemini.com/robots.txt allows the pages read and sets Crawl-delay 600; developer.gemini.com and status.gemini.com allow all (the status site disallows /api/ and /embed/, so the history feed was read, not the incidents API). support.gemini.com answered 403 to an article fetch.",
          "status.gemini.com is a Statuspage site with an Atom history feed."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemini-exchange.json",
      "live": {
        "slug": "gemini-exchange",
        "vendorStatus": {
          "page": "https://status.gemini.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:14.417123514Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@gemini-markets/sdk",
            "version": "0.1.1",
            "seenAt": "2026-11-04T20:18:02.796959315Z"
          }
        ],
        "githubStars": 8,
        "npmWeekly": 105,
        "securityTxt": {
          "url": "https://gemini.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-04T15:53:25.749980755Z"
        },
        "updatedAt": "2026-11-04T20:39:14.417123514Z"
      }
    },
    "edges": [
      {
        "by": 60,
        "category": "maintenance",
        "leads": "gemini-exchange",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The last dated API change is 28 August 2026, 67 days before the check (20). Only one dated entry in the last 90 days, after 1 July and 12 June (0). No public repository or issue tracker, support pages did not load and support.bitstamp.net did not resolve; a changelog exists (8 of 25). No official SDKs and no MCP registry presence of Bitstamp's own (0). No package to assess (0). 20 + 0 + 8 + 0 + 0 = 28.",
          "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": 28,
          "b": 88
        }
      },
      {
        "by": 37,
        "category": "schema",
        "leads": "gemini-exchange",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or other machine-readable contract was found on the API page or elsewhere (0). No llms.txt or Markdown docs (0). The single documentation page describes each endpoint's purpose and parameters, with notes such as the 10-second cache on open orders and the Travel Rule fields, but not when to use one endpoint over another (14 of 20). Parameters are typed with enumerations (margin mode CROSS or ISOLATED, margin multiplier 1 to 25, order types) and required fields marked (11 of 15). Signing examples in Python, Java and C++, and error families with numbered codes and explanations (13 of 15). Version v2 in the path and header, a dated changelog from 7 April 2023 to 28 August 2026, and a 410.001 code for deprecated endpoints, with no stated notice period (13 of 15). 0 + 0 + 14 + 11 + 13 + 13 = 51.",
          "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": 51,
          "b": 88
        }
      },
      {
        "by": 22,
        "category": "transparency",
        "leads": "gemini-exchange",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service whose terms of use loaded empty for our reader, so the licence and clauses are unknown (8 of 30). The privacy policy loaded empty, so retention and data handling are unchecked (0 of 30). A 410.001 code marks deprecated endpoints and the changelog records replacements such as `trading-pairs-info` by `markets`, with no notice period stated (8 of 20). Subprocessors and data locations are in the unread privacy policy (0). 8 + 0 + 8 + 0 = 16.",
          "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": 53,
          "b": 75
        }
      },
      {
        "by": 21,
        "category": "ergonomics",
        "leads": "gemini-exchange",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the REST API. Order book grouping and transaction time windows size responses, but there is no field selection and no MCP surface (15 of 25). Offset, limit, since and sort on transaction history, `until_id` windows on order-data replay (14 of 20). `response_code` and `response_explanation` name the failure, such as 400.009 insufficient balance, 403.004 trading blocked and 500.025 insufficient liquidity (16 of 20). No idempotency, since `client_order_id` duplicates are allowed since November 2023 and the docs say only to check the order id after a timeout; the kill switch limits damage (8 of 20). Few required parameters, but no official SDK in any language (5 of 15). 15 + 14 + 16 + 8 + 5 = 58.",
          "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": 58,
          "b": 79
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "gemini-exchange",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The fee schedule page loaded empty, the API's fee endpoints need a key, and no rate could be read, so fees are scored as not published (0, unchecked). The API is free, public endpoints need no key and the sandbox needs no money (20). A person must sign up in a browser with identity checks and mint the key (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": 18,
        "category": "security",
        "leads": "gemini-exchange",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Revocable HMAC-SHA256 keys with per-endpoint permissions, an IP allow-list, single-use nonces, a timestamp window, sub-account scoping and a one-call kill switch for every key; no key expiry found (24 of 30). Permissions are chosen per endpoint and withdrawals can need Travel Rule address verification, but whether a withdrawal address allow-list exists sits in the unread account settings and no confirmation step is documented for API withdrawals (14 of 20). The API returns exchange data, not third-party text (10). No per-key audit log found; the account's transaction history is the record (4 of 15). security.txt names HackerOne's Robinhood programme but expired on 12 July 2026; no certification page was readable (8 of 20). 24 + 14 + 10 + 4 + 8 = 60.",
          "b": "Revocable API keys with one role each (Trader, Fund Manager, Auditor, Administrator), HMAC-SHA384 signing with a nonce, and OAuth 2.0 with scopes, PKCE S256, single-use refresh tokens and RFC 7009 revocation; no IP allow-list documented and no key expiry (28 of 30). Auditor is read-only, a Trader key cannot withdraw, approved withdrawal addresses are a Fund Manager action, and the MCP server refuses funds-moving tools without `confirm: true` (18 of 20). The MCP server wraps every response in untrusted-output markers, strips control and bidi characters and redacts memos, labels and agreement text; the REST docs say nothing on the subject (13 of 15). Order and transfer history are readable, but no per-key audit log or API access log was found (5 of 15). security.txt with a PGP contact and a bug bounty paying $150 to $20,000, scoped to the sandbox hosts; no certification was read and no public advisory process was found (14 of 20). 28 + 18 + 13 + 5 + 14 = 78."
        },
        "scores": {
          "a": 60,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bitstamp Ltd.",
        "b": "Gemini Trust Company, LLC",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted API under Bitstamp's terms of use, which our reader couldn't load",
        "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": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-28",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "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 Bitstamp API's 50.4 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Bitstamp API or Gemini Exchange API?"
      },
      {
        "answer": "Bitstamp API needs an API key. Gemini Exchange API takes an API key or an OAuth sign-in.",
        "question": "Do Bitstamp API and Gemini Exchange API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Bitstamp API. Gemini Exchange API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Bitstamp API and Gemini Exchange API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent that needs a long-running regulated spot venue in the EU, UK and US with a sandbox and per-endpoint key permissions, and can do its own signing.",
        "slug": "bitstamp",
        "watchFor": "No official MCP server, SDK, llms.txt or OpenAPI file; the registry's Bitstamp servers are third parties proxying public market data"
      },
      {
        "aheadOn": [
          "Reliability, 73 against 63",
          "Schema \u0026 documentation, 88 against 51",
          "Agent ergonomics, 79 against 58",
          "Security \u0026 auth, 78 against 60",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 88 against 28",
          "Transparency \u0026 trust, 75 against 53"
        ],
        "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.market-data",
      "name": "Exchange market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bitstamp.json",
        "title": "Bitfinex API vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bitstamp"
      },
      {
        "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-bitstamp.json",
        "title": "Bitget vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.json",
        "title": "Bitget vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-bitstamp.json",
        "title": "Bithumb Open API vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-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-bybit.json",
        "title": "Bitstamp API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-bybit"
      },
      {
        "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-coinbase-mcp.json",
        "title": "Bitstamp API vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-crypto-com-exchange.json",
        "title": "Bitstamp API vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-deribit.json",
        "title": "Bitstamp API vs Deribit",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-dydx.json",
        "title": "Bitstamp API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-dydx"
      },
      {
        "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-htx.json",
        "title": "Bitstamp API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid.json",
        "title": "Bitstamp API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-kraken.json",
        "title": "Bitstamp API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-kucoin.json",
        "title": "Bitstamp API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-mexc.json",
        "title": "Bitstamp API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-okx.json",
        "title": "Bitstamp API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-uniswap.json",
        "title": "Bitstamp API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-upbit.json",
        "title": "Bitstamp API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-upbit"
      },
      {
        "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-bitstamp.json",
        "title": "Binance API vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-gemini-exchange.json",
        "title": "Binance API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.json",
        "title": "Coinbase Advanced Trade API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange.json",
        "title": "Deribit vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.json",
        "title": "dYdX vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bitstamp": 63,
        "by": 10,
        "edge": "gemini-exchange",
        "gemini-exchange": 73,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bitstamp": 51,
        "by": 37,
        "edge": "gemini-exchange",
        "gemini-exchange": 88,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bitstamp": 58,
        "by": 21,
        "edge": "gemini-exchange",
        "gemini-exchange": 79,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bitstamp": 60,
        "by": 18,
        "edge": "gemini-exchange",
        "gemini-exchange": 78,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bitstamp": 20,
        "by": 20,
        "edge": "gemini-exchange",
        "gemini-exchange": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bitstamp": 28,
        "by": 60,
        "edge": "gemini-exchange",
        "gemini-exchange": 88,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bitstamp": 53,
        "by": 22,
        "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 Bitstamp API's 50.4 (D), and leads in every scored category. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bitstamp": "Bitstamp documents its v2 API on one static page with numeric rate limits, per-endpoint key permissions, an IP allow-list, a kill switch and a sandbox. There is no official MCP server, duplicate client order ids are allowed, and the fee schedule, terms, privacy policy and country list render by script and could not be read.",
      "gemini-exchange": "Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange",
    "json": "https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.min.md"
  },
  "markdown": "Gemini Exchange API scores 74.6 (BB) on agent readiness against Bitstamp API's 50.4 (D), and leads in every scored category. Both do exchange market data.\n\n- Bitstamp API: grade D, 50.4/100, rank #948 of 1349. Markdown https://www.anchorterminal.com/tools/bitstamp.md · JSON https://www.anchorterminal.com/api/v1/tools/bitstamp.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### Bitstamp API (D)\n\nGood for: An agent that needs a long-running regulated spot venue in the EU, UK and US with a sandbox and per-endpoint key permissions, and can do its own signing.\n\nWatch for: No official MCP server, SDK, llms.txt or OpenAPI file; the registry's Bitstamp servers are third parties proxying public market data\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 63\n- Schema \u0026 documentation, 88 against 51\n- Agent ergonomics, 79 against 58\n- Security \u0026 auth, 78 against 60\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 88 against 28\n- Transparency \u0026 trust, 75 against 53\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 +60\n\n- Bitstamp API (28): Read as a closed service. The last dated API change is 28 August 2026, 67 days before the check (20). Only one dated entry in the last 90 days, after 1 July and 12 June (0). No public repository or issue tracker, support pages did not load and support.bitstamp.net did not resolve; a changelog exists (8 of 25). No official SDKs and no MCP registry presence of Bitstamp's own (0). No package to assess (0). 20 + 0 + 8 + 0 + 0 = 28.\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### Schema \u0026 documentation: Gemini Exchange API +37\n\n- Bitstamp API (51): No OpenAPI or other machine-readable contract was found on the API page or elsewhere (0). No llms.txt or Markdown docs (0). The single documentation page describes each endpoint's purpose and parameters, with notes such as the 10-second cache on open orders and the Travel Rule fields, but not when to use one endpoint over another (14 of 20). Parameters are typed with enumerations (margin mode CROSS or ISOLATED, margin multiplier 1 to 25, order types) and required fields marked (11 of 15). Signing examples in Python, Java and C++, and error families with numbered codes and explanations (13 of 15). Version v2 in the path and header, a dated changelog from 7 April 2023 to 28 August 2026, and a 410.001 code for deprecated endpoints, with no stated notice period (13 of 15). 0 + 0 + 14 + 11 + 13 + 13 = 51.\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 +22\n\n- Bitstamp API (53): The editorial half. A closed service whose terms of use loaded empty for our reader, so the licence and clauses are unknown (8 of 30). The privacy policy loaded empty, so retention and data handling are unchecked (0 of 30). A 410.001 code marks deprecated endpoints and the changelog records replacements such as `trading-pairs-info` by `markets`, with no notice period stated (8 of 20). Subprocessors and data locations are in the unread privacy policy (0). 8 + 0 + 8 + 0 = 16.\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### Agent ergonomics: Gemini Exchange API +21\n\n- Bitstamp API (58): Graded on the REST API. Order book grouping and transaction time windows size responses, but there is no field selection and no MCP surface (15 of 25). Offset, limit, since and sort on transaction history, `until_id` windows on order-data replay (14 of 20). `response_code` and `response_explanation` name the failure, such as 400.009 insufficient balance, 403.004 trading blocked and 500.025 insufficient liquidity (16 of 20). No idempotency, since `client_order_id` duplicates are allowed since November 2023 and the docs say only to check the order id after a timeout; the kill switch limits damage (8 of 20). Few required parameters, but no official SDK in any language (5 of 15). 15 + 14 + 16 + 8 + 5 = 58.\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### Payments \u0026 pricing: Gemini Exchange API +20\n\n- Bitstamp API (20): No machine payment protocol (0). The fee schedule page loaded empty, the API's fee endpoints need a key, and no rate could be read, so fees are scored as not published (0, unchecked). The API is free, public endpoints need no key and the sandbox needs no money (20). A person must sign up in a browser with identity checks and mint the key (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### Security \u0026 auth: Gemini Exchange API +18\n\n- Bitstamp API (60): Revocable HMAC-SHA256 keys with per-endpoint permissions, an IP allow-list, single-use nonces, a timestamp window, sub-account scoping and a one-call kill switch for every key; no key expiry found (24 of 30). Permissions are chosen per endpoint and withdrawals can need Travel Rule address verification, but whether a withdrawal address allow-list exists sits in the unread account settings and no confirmation step is documented for API withdrawals (14 of 20). The API returns exchange data, not third-party text (10). No per-key audit log found; the account's transaction history is the record (4 of 15). security.txt names HackerOne's Robinhood programme but expired on 12 July 2026; no certification page was readable (8 of 20). 24 + 14 + 10 + 4 + 8 = 60.\n- Gemini Exchange API (78): Revocable API keys with one role each (Trader, Fund Manager, Auditor, Administrator), HMAC-SHA384 signing with a nonce, and OAuth 2.0 with scopes, PKCE S256, single-use refresh tokens and RFC 7009 revocation; no IP allow-list documented and no key expiry (28 of 30). Auditor is read-only, a Trader key cannot withdraw, approved withdrawal addresses are a Fund Manager action, and the MCP server refuses funds-moving tools without `confirm: true` (18 of 20). The MCP server wraps every response in untrusted-output markers, strips control and bidi characters and redacts memos, labels and agreement text; the REST docs say nothing on the subject (13 of 15). Order and transfer history are readable, but no per-key audit log or API access log was found (5 of 15). security.txt with a PGP contact and a bug bounty paying $150 to $20,000, scoped to the sandbox hosts; no certification was read and no public advisory process was found (14 of 20). 28 + 18 + 13 + 5 + 14 = 78.\n\n## Score by category\n\n| Category | Weight | Bitstamp API | Gemini Exchange API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 73 | Gemini Exchange API +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 88 | Gemini Exchange API +37 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 79 | Gemini Exchange API +21 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 78 | Gemini Exchange API +18 |\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) | 28 | 88 | Gemini Exchange API +60 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 53 | 75 | Gemini Exchange API +22 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.4 · D** | **74.6 · BB** | |\n\n## Facts side by side\n\n| Fact | Bitstamp API | Gemini Exchange API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bitstamp Ltd. | Gemini Trust Company, LLC |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted API under Bitstamp's terms of use, which our reader couldn't load | 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 | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-08-28 | 2026-10-28 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | couldn't be read | 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**Bitstamp API.** Bitstamp documents its v2 API on one static page with numeric rate limits, per-endpoint key permissions, an IP allow-list, a kill switch and a sandbox. There is no official MCP server, duplicate client order ids are allowed, and the fee schedule, terms, privacy policy and country list render by script and could not be read.\n\n**Gemini Exchange API.** Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026.\n\n## Before you call either\n\n### Bitstamp API\n\n1. Mint a key with only the endpoint permissions the task needs and an IP allow-list; keep `revoke_all_api_keys` in reach as a kill switch\n2. Treat `client_order_id` as a label, not a guard. On a timeout (500.016) fetch the order by client id before resending, because duplicates are accepted\n3. Use a fresh 36-character nonce and a timestamp within 150 seconds of server time on every request, or expect API0004 and API0017\n4. Stay under 400 requests a second and 10,000 per 10 minutes; 400.002 and 400.067 mean back off, and open-orders answers are cached for 10 seconds\n5. Start on sandbox.bitstamp.net with the same paths, and read the fee schedule in a browser before quoting costs, since it is unreadable to a plain fetch\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, Bitstamp API or Gemini Exchange API?\n\nGemini Exchange API scores 74.6 (BB) on agent readiness against Bitstamp API's 50.4 (D), and leads in every scored category.\n\n### Do Bitstamp API and Gemini Exchange API need an API key?\n\nBitstamp API needs an API key. Gemini Exchange API takes an API key or an OAuth sign-in.\n\n### Can an agent call Bitstamp API and Gemini Exchange API without installing anything?\n\nNo hosted endpoint is listed for Bitstamp 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/bitstamp-vs-gemini-exchange.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bitstamp\", \"b\": \"gemini-exchange\"}`. From a terminal: `anchor compare bitstamp gemini-exchange`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bitstamp.json and https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json\n\n## Other comparisons with Bitstamp API or Gemini Exchange API\n\n- [Bitfinex API vs Bitstamp API](https://www.anchorterminal.com/compare/bitfinex-vs-bitstamp.md)\n- [Bitfinex API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.md)\n- [Bitget vs Bitstamp API](https://www.anchorterminal.com/compare/bitget-vs-bitstamp.md)\n- [Bitget vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.md)\n- [Bithumb Open API vs Bitstamp API](https://www.anchorterminal.com/compare/bithumb-vs-bitstamp.md)\n- [Bithumb Open API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.md)\n- [Bitstamp API vs Bybit](https://www.anchorterminal.com/compare/bitstamp-vs-bybit.md)\n- [Bitstamp API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-advanced-trade.md)\n- [Bitstamp API vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-mcp.md)\n- [Bitstamp API vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/bitstamp-vs-crypto-com-exchange.md)\n- [Bitstamp API vs Deribit](https://www.anchorterminal.com/compare/bitstamp-vs-deribit.md)\n- [Bitstamp API vs dYdX](https://www.anchorterminal.com/compare/bitstamp-vs-dydx.md)\n- [Bitstamp API vs Gate](https://www.anchorterminal.com/compare/bitstamp-vs-gate-io.md)\n- [Bitstamp API vs HTX trading API](https://www.anchorterminal.com/compare/bitstamp-vs-htx.md)\n- [Bitstamp API vs Hyperliquid](https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid.md)\n- [Bitstamp API vs Kraken API](https://www.anchorterminal.com/compare/bitstamp-vs-kraken.md)\n- [Bitstamp API vs KuCoin](https://www.anchorterminal.com/compare/bitstamp-vs-kucoin.md)\n- [Bitstamp API vs MEXC API](https://www.anchorterminal.com/compare/bitstamp-vs-mexc.md)\n- [Bitstamp API vs OKX API](https://www.anchorterminal.com/compare/bitstamp-vs-okx.md)\n- [Bitstamp API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitstamp-vs-uniswap.md)\n- [Bitstamp API vs Upbit Open API](https://www.anchorterminal.com/compare/bitstamp-vs-upbit.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 Bitstamp API](https://www.anchorterminal.com/compare/binance-vs-bitstamp.md)\n- [Binance API vs Gemini Exchange API](https://www.anchorterminal.com/compare/binance-vs-gemini-exchange.md)\n- [Coinbase Advanced Trade API vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange.md)\n- [Deribit vs Gemini Exchange API](https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange.md)\n- [dYdX vs Gemini Exchange API](https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bitstamp API vs Gemini Exchange API",
        "url": ""
      }
    ],
    "description": "Gemini Exchange scores 74.6 (BB) to Bitstamp's 50.4 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bitstamp API D 50.4",
      "Gemini Exchange API BB 74.6",
      "scores"
    ],
    "h1": "Bitstamp API vs Gemini Exchange API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bitstamp-vs-gemini-exchange",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bitstamp vs Gemini Exchange for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange"
  },
  "tokens": {
    "markdown": 5250,
    "slim": 2880
  },
  "version": 1
}
