{
  "data": {
    "a": {
      "slug": "bitget",
      "name": "Bitget",
      "vendor": "BTG Technology Holdings Limited",
      "vendorUrl": "https://www.bitget.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Bitget is a centralised crypto exchange for spot, margin, futures, earn and tokenised stocks, reached through its Unified Trading Account v3 REST and WebSocket API and an Agent Hub toolkit with a stdio MCP server, CLI and agent skills.",
      "url": "https://www.anchorterminal.com/tools/bitget",
      "markdownUrl": "https://www.anchorterminal.com/tools/bitget.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bitget.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bitget.json",
      "dns": "bitget.grade.anchorterminal.com",
      "repo": "https://github.com/Bitget-AI/agent-mcp",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@bitget-ai/bitget-agent-mcp"
        },
        {
          "registry": "npm",
          "name": "bitget-mcp-server"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key, system-generated secret and user-set passphrase minted under API Key Management after a browser sign-up and identity verification, up to 50 keys per UID, each with read or read-and-write permission, signed per request with HMAC-SHA256 or RSA over timestamp, method, path and body in the ACCESS-KEY, ACCESS-SIGN, ACCESS-TIMESTAMP and ACCESS-PASSPHRASE headers. Binding an IP is recommended, not required. Sub-account keys carry trade or management permission, read-only or read-write, once the main account enables key management for them. Demo keys are minted in demo mode and sent with the paptrading header set to 1 (https://www.bitget.com/legacy-docs/uta/guide, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API and the Agent Hub packages cost nothing; trades carry Bitget's fees. Base rates are 0.1 per cent maker and taker on spot and 0.02 per cent maker and 0.06 per cent taker on futures before VIP tiers or the BGB discount, which applies to spot only at a rate the article says to read on the live schedule. The fee page draws its table by script (https://www.bitget.com/support/articles/12560603892734, 20 August 2026, checked 2026-11-03).",
      "priceSummary": "0.1% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the UTA docs, the Agent Hub READMEs, the SDK's openapi.yaml or the fee article (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": 14,
      "popularity": {
        "githubStars": 234,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.bitget.com/api-doc/uta/intro",
      "registryName": "io.github.Bitget-AI/bitget-agent-mcp",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "usage-priced",
        "sandbox",
        "no-status-page",
        "mcp",
        "mcp-registry",
        "official",
        "read-only-mode",
        "agent-skills",
        "cli",
        "python",
        "typescript",
        "go",
        "java",
        "php"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.9,
        "grade": "D",
        "agentReady": false,
        "rank": 824,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 78,
          "payments": 40,
          "reliability": 40,
          "schema": 74,
          "security": 62,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": -8,
        "negativeNotes": [
          "Security incident of 24 September 2026. An attacker who had obtained high-level internal credentials through a vulnerability in a third-party security product injected forged withdrawal commands into Bitget's wallet back end and moved about 388 million dollars in 13 assets on 11 chains from hot and warm wallets. Withdrawals, fiat and C2C were paused from 24 September and restored in phases from 28 September to 2 October 2026; trading, deposits and the API kept running. Bitget says user balances were unaffected, the Protection Fund covered the loss and was topped above 300 million dollars, private keys and cold wallets were untouched, and Mandiant and SlowMist reports of 30 September agree with its account. A fixed, documented incident with a public root cause, so below the top of the range. Sources https://www.bitget.com/academy/12560603896113 (updated 20 October 2026) and https://www.bitget.com/support/articles/12560603896110 (26 September 2026), read 2026-11-03."
        ],
        "verdict": "Bitget's official MCP server keeps the default surface to 14 intent tools with discovery, read-only and paper-trading switches, dry runs and a confirmation gate on withdrawals, over an API with demo trading. A 388 million dollar wallet breach in September 2026 paused withdrawals for eight days, and there is no status page, SLA or readable fee table.",
        "bestFor": "An agent trading spot, futures and earn products in a person's Bitget account outside the prohibited list, with the smallest default MCP surface of the exchanges graded and a paper-trading switch.",
        "strengths": [
          "Official stdio MCP server with 14 intent tools by default, progressive discovery, `--read-only`, `--paper-trading`, `dryRun: true` on writes and `confirm: true` required for withdrawals and cancel-all",
          "Demo trading on the production host with demo keys and a paptrading header, and a TypeScript agent SDK whose openapi.yaml types all 109 UTA v3 operations",
          "Terms name BTG Technology Holdings Limited with Hong Kong law, and the privacy notice gives retention periods of 7 and up to 10 years",
          "Changelog with 58 dated entries since 5 August 2026, including preview notices with demo and live dates for WebSocket changes",
          "Base fees public in a help article, 0.1 per cent spot and 0.02 per cent maker and 0.06 per cent taker on futures"
        ],
        "weaknesses": [
          "Hot and warm wallets lost about 388 million dollars on 24 September 2026 to forged withdrawal commands, and withdrawals were paused until 2 October",
          "No status page, incident history or SLA; the terms disclaim uninterrupted access",
          "Two official MCP servers coexist, the V2-based bitget-mcp-server on Bitget's own Agent Hub page and the v3 bitget-agent-mcp on GitHub and npm, with different tool counts",
          "The current api-doc site renders every page as the UTA overview for a reader without script; the legacy docs were used instead",
          "Keys have read or read-and-write only, with no separate withdrawal permission in the docs read, and IP binding is recommended rather than required"
        ],
        "agentNotes": [
          "Run `npx -y @bitget-ai/bitget-agent-mcp --read-only` for research and `--paper-trading` with a demo key before any live order; the two flags cannot be combined",
          "Call discover({}) first, then the intent verbs; add `dryRun: true` to any write to preview it, and pass `confirm: true` only after the person has agreed to a withdraw or cancelAll",
          "Send a unique clientOid of at most 64 characters on every order and reuse it on retry; orderId wins when both are sent",
          "Stay under 10 requests a second per endpoint on a new account and 6,000 a minute per IP; the SDK retries on 429, so do not add a second retry loop",
          "Bind the key to an IP and keep write permission off a research key; the docs read show no separate withdrawal scope"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.9
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 78,
          "payments": 40,
          "reliability": 40,
          "schema": 74,
          "security": 62,
          "transparency": 53
        },
        "provenanceScore": 76,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx -y @bitget-ai/bitget-agent-mcp",
        "http": "curl https://api.bitget.com/api/v3/market/tickers?category=SPOT\u0026symbol=BTCUSDT",
        "claudeCode": "claude mcp add bitget -- npx -y @bitget-ai/bitget-agent-mcp --read-only",
        "config": {
          "mcpServers": {
            "bitget": {
              "args": [
                "-y",
                "@bitget-ai/bitget-agent-mcp",
                "--read-only"
              ],
              "command": "npx",
              "env": {
                "BITGET_API_KEY": "YOUR_API_KEY",
                "BITGET_PASSPHRASE": "YOUR_PASSPHRASE",
                "BITGET_SECRET_KEY": "YOUR_SECRET_KEY"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/bitget"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, base maker or taker",
          "unit": "pct",
          "usd": 0.1,
          "note": "before VIP tiers and the BGB discount"
        },
        {
          "item": "Futures trade, base taker",
          "unit": "pct",
          "usd": 0.06,
          "note": "maker 0.02 per cent"
        }
      ],
      "provenance": {
        "legalEntity": "BTG Technology Holdings Limited",
        "domain": "bitget.com",
        "domainRegistered": "2003-02-03",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bitget.com/support/articles/360014944032-terms-of-use",
        "privacy": "https://www.bitget.com/support/articles/360015150651",
        "statusPage": "",
        "changelog": "https://www.bitget.com/legacy-docs/uta/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "Terms of Use last updated 20 October 2026 name BTG Technology Holdings Limited under Hong Kong law with HKIAC arbitration; the privacy notice (5 December 2025) names the same company as controller under the Seychelles Data Protection Act 2023 with BTGT Europe Limited, UAB as EEA representative. /user-agreement and /privacy-policy answer 404; the documents live in the support centre.",
          "www.bitget.com/robots.txt disallows internal, search, calendar, wiki and register paths; the api-doc, legacy-docs, support, academy, blog and activity-hub paths are allowed.",
          "RDAP gives bitget.com a registration date of 3 February 2003 (MarkMonitor), earlier than the exchange, so the domain was bought.",
          "https://www.bitget.com/.well-known/security.txt answers 404; the Agent Hub README gives security@bitget.com for reports. No status page found; status.bitget.com does not resolve and the docs link none.",
          "The current api-doc site answers every path with the UTA overview for a reader without script; the legacy docs at /legacy-docs/uta/ were read for the guide, rate limits and changelog."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bitget.json",
      "live": {
        "slug": "bitget",
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.Bitget-AI/bitget-agent-mcp",
            "version": "3.0.2",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "npm",
            "name": "@bitget-ai/bitget-agent-mcp",
            "version": "3.3.1",
            "seenAt": "2026-11-04T20:02:49.846993208Z"
          },
          {
            "registry": "npm",
            "name": "bitget-mcp-server",
            "version": "1.1.0",
            "seenAt": "2026-11-04T20:02:50.714916236Z"
          }
        ],
        "githubStars": 1,
        "npmWeekly": 255,
        "securityTxt": {
          "url": "https://bitget.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:53.864777414Z"
        },
        "updatedAt": "2026-11-04T20:02:53.43909091Z"
      }
    },
    "answer": "Kraken API scores 71 (BB) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories.",
    "b": {
      "slug": "kraken",
      "name": "Kraken API",
      "vendor": "Payward, Inc.",
      "vendorUrl": "https://docs.kraken.com/api/",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Kraken's exchange APIs cover spot, tokenised US stocks, forex and futures over REST, WebSocket and FIX, with rate limits by client tier, a self-service futures demo and kraken-cli, an open-source CLI whose kraken-mcp binary is a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/kraken",
      "markdownUrl": "https://www.anchorterminal.com/tools/kraken.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kraken.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kraken.json",
      "dns": "kraken.grade.anchorterminal.com",
      "repo": "https://github.com/krakenfx/kraken-cli",
      "license": "Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT",
      "transports": [
        "stdio"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Spot API key and private key, signed with HMAC-SHA512 over the path, nonce and POST data, sent as API-Key and API-Sign. Permissions per key are Query Funds, Deposit Funds, Withdraw Funds, Query Open Orders \u0026 Trades, Query Closed Orders \u0026 Trades, Modify Orders, Cancel/Close Orders, Query Ledger Entries and Export Data, with optional Key Expiration, IP Address Restriction, a custom nonce window and a WebSocket interface setting. Futures keys are separate. kraken auth login signs in with OAuth (authorisation code with PKCE) in a browser and saves a restricted spot key with no withdrawal rights that expires after at most 90 days, or a read-only one with --read-only (https://support.kraken.com/hc/en-us/articles/360000919966, https://github.com/krakenfx/kraken-cli, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing to call. Kraken Pro spot fees at the lowest 30-day volume tier are 0.40 per cent maker and 0.80 per cent taker, stablecoin, pegged token and FX pairs 0.20 per cent each way, and futures 0.02 per cent maker and 0.05 per cent taker. Public market data, paper trading in kraken-cli and the futures demo need no account.",
      "priceSummary": "0.4% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the CLI or the MCP docs (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": 152,
      "popularity": {
        "githubStars": 795,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.kraken.com/api/",
      "llmsTxt": "https://raw.githubusercontent.com/krakenfx/kraken-cli/main/llms.txt",
      "capabilities": [
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "api-key",
        "oauth",
        "mcp",
        "cli",
        "llms-txt",
        "status-page",
        "bug-bounty",
        "rust",
        "go",
        "usage-priced",
        "no-card",
        "mit"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71,
        "grade": "BB",
        "agentReady": true,
        "rank": 159,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 40,
          "reliability": 67,
          "schema": 80,
          "security": 80,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Kraken pairs a documented REST, WebSocket and FIX API with the open-source kraken-cli, whose kraken-mcp server gates 33 dangerous tools behind approval and signs in by OAuth with a no-withdrawal key. Spot has no self-service sandbox, no OpenAPI file was found, and a 59-minute connectivity outage hit every interface on 30 October 2026.",
        "bestFor": "An agent that trades spot, xStocks, forex or futures on a person's Kraken account from a local machine, with paper trading to test first and an approval gate on live orders.",
        "strengths": [
          "Official local MCP server with 152 typed tools in services, destructive_hint on dangerous tools and an elicitation approval before each unless disabled",
          "OAuth sign-in from the CLI mints a restricted spot key with no withdrawal rights that expires within 90 days, or a read-only key",
          "Rate limits published with numbers by client tier for REST and the matching engine, shared across REST, WebSocket and FIX",
          "Fees published without login, 0.40 per cent maker and 0.80 per cent taker at the lowest Pro tier, 0.02 and 0.05 on futures",
          "Dated changelog of 120 entries with deprecations announced by date, a Statuspage site with API components and a valid security.txt"
        ],
        "weaknesses": [
          "No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI",
          "No OpenAPI file was found for the REST API; the machine-readable contract is the CLI's tool catalogue",
          "Spot and derivatives clients could not connect or submit orders on any interface for 59 minutes on 30 October 2026",
          "The CLI's feedback tool can upload a local file it names with no approval step, so the docs say to drop it for agents reading untrusted input",
          "The terms bar bots, scripts and third-party applications on Kraken's content without written consent, alongside the documented API"
        ],
        "agentNotes": [
          "Start kraken-mcp with -s market,paper,feedback or the default services; add trade only with a least-privilege key, and never pass --allow-dangerous on an agent that reads untrusted input",
          "Ask the person to run kraken auth login in their own terminal; it needs a browser and saves a no-withdrawal key that expires in 90 days at most",
          "Send a fresh --cl-ord-id on each order and run it with --validate first; after a network error look the order up before sending it again",
          "Keep the nonce strictly increasing per key and stay under the tier's counter, since EAPI:Rate limit exceeded has no Retry-After header",
          "Test strategies in a paper workspace, which fills at live prices with no account, before a live workspace"
        ],
        "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": 71
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 40,
          "reliability": 67,
          "schema": 80,
          "security": 80,
          "transparency": 36
        },
        "provenanceScore": 94,
        "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": "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/krakenfx/kraken-cli/releases/latest/download/kraken-cli-installer.sh | sh",
        "http": "curl https://api.kraken.com/0/public/Ticker?pair=XBTUSD",
        "claudeCode": "claude mcp add --scope user kraken -- kraken-mcp -s market,paper,feedback",
        "config": {
          "mcpServers": {
            "kraken": {
              "args": [
                "-s",
                "market,paper,feedback"
              ],
              "command": "kraken-mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.spot-trading",
        "tool": "https://letme.dev/kraken"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, maker, tier 1",
          "unit": "pct",
          "usd": 0.4,
          "note": "Kraken Pro, under $10,000 30-day volume"
        },
        {
          "item": "Spot trade, taker, tier 1",
          "unit": "pct",
          "usd": 0.8,
          "note": "Kraken Pro, under $10,000 30-day volume"
        },
        {
          "item": "Futures trade, maker, tier 1",
          "unit": "pct",
          "usd": 0.02,
          "note": "under $5M 30-day volume"
        },
        {
          "item": "Futures trade, taker, tier 1",
          "unit": "pct",
          "usd": 0.05,
          "note": "under $5M 30-day volume"
        }
      ],
      "provenance": {
        "legalEntity": "Payward, Inc.",
        "domain": "kraken.com",
        "domainRegistered": "2000-04-03",
        "endpointOnVendorDomain": true,
        "terms": "https://www.kraken.com/legal/global-terms",
        "privacy": "https://www.kraken.com/legal/privacy",
        "statusPage": "https://status.kraken.com",
        "changelog": "https://docs.kraken.com/api/docs/change-log",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The Global Terms of Service (last updated 30 October 2026) name Payward Interactive, Inc., Payward Ltd., Bit Trade Pty Limited and Payward Trading Ltd as contracting entities by region under California law; the site footer is © 2011 to 2026 Payward, Inc. The privacy notice was linked from the legal hub and not read.",
          "RDAP gives kraken.com a registration date of 3 April 2000, before the exchange's 2011 founding.",
          "https://www.kraken.com/.well-known/security.txt names bugbounty@kraken.com and a bug bounty policy page on kraken.com, expiring 13 February 2027.",
          "www.kraken.com, docs.kraken.com and support.kraken.com robots.txt disallow only /u/ and /lp/ (docs allows all but /cdn-cgi/ and /_next/).",
          "status.kraken.com is a Statuspage site; its history page renders by script, so incidents were read from its incidents.json feed, which reached back to 4 September 2026."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kraken.json",
      "live": {
        "slug": "kraken",
        "vendorStatus": {
          "page": "https://status.kraken.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-04T21:26:03.217280029Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "krakenfx/kraken-cli",
            "version": "v0.5.1",
            "released": "2026-10-29",
            "seenAt": "2026-11-04T20:28:50.559125133Z"
          }
        ],
        "githubStars": 798,
        "securityTxt": {
          "url": "https://kraken.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-02-13T00:00:00.000Z",
          "checkedAt": "2026-11-04T15:54:35.804472383Z"
        },
        "updatedAt": "2026-11-04T21:26:03.217280029Z"
      }
    },
    "edges": [
      {
        "by": 27,
        "category": "reliability",
        "leads": "kraken",
        "name": "Reliability",
        "reasons": {
          "a": "Graded with the hosted lines on the UTA v3 API at api.bitget.com. No status page found (status.bitget.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history; the September 2026 breach is in the deduction, not here. Rate limits are published as 6,000 per IP per minute and per-endpoint UID limits by VIP level (15). An x-mbx-used-remain-limit header is documented and the agent SDK backs off on 429, orders take a clientOid of up to 64 characters, but the breach error code and a Retry-After rule were not read (10 of 15). No SLA (0). UTA v3 is the production API (10). 40.",
          "b": "Read with the hosted lines on the spot API. status.kraken.com is a Statuspage site with REST, WebSocket and FIX components (20). The incidents feed read covers 4 September to 3 November 2026. On 30 October spot and derivatives clients could not connect or submit orders across web, mobile, REST, WebSocket and FIX for 59 minutes 39 seconds, rated minor by Kraken; on 28 October some FIX clients were rejected on reconnection for 1 hour 59 minutes while other interfaces worked; the futures engine was degraded for 3 minutes on 13 October. A whole-exchange order outage 21 seconds short of an hour is read as one major (10 of 30). Numeric limits per key by tier and per pair for the matching engine (15). EAPI:Rate limit exceeded and EService:Throttled with a retry timestamp, a client order id and a validate flag on orders, but no Retry-After header (12 of 15). No SLA (0). Generally available (10). 20 + 10 + 15 + 12 + 0 + 10 = 67."
        },
        "scores": {
          "a": 40,
          "b": 67
        }
      },
      {
        "by": 18,
        "category": "security",
        "leads": "kraken",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "API keys with read or read-and-write permission, a passphrase, HMAC-SHA256 or RSA signing, IP binding recommended, 50 keys per UID, revocation on the management page; no OAuth and no separate withdrawal scope in the docs read (22 of 30). --read-only strips write tools at start, --paper-trading routes to demo, and high-risk writes need `confirm: true` (18 of 20). Tools return the exchange's own data (10). Request and response hooks are forwarded as MCP log notifications; no per-call audit log on Bitget's side was found (6 of 15). security@bitget.com in the toolkit README, no security.txt, Mandiant and SlowMist reports on the September breach, a proof-of-reserves repository, no bounty page read (6 of 20). 62.",
          "b": "Keys with nine named permissions, optional expiry, IP restriction and nonce window, plus an OAuth sign-in from the CLI (authorisation code with PKCE, public client) that mints a no-withdrawal key expiring within 90 days or a read-only key (30). Read-only and no-withdrawal keys, position limits and pair allowlists in account settings, and MCP approval prompts for 33 dangerous tools (18 of 20). The API returns no untrusted content; the CLI docs warn that the feedback tool uploads a local file without approval (10). Keys and their permissions are listed in settings and ledgers record activity, but no per-call log for the operator was found (6 of 15). A valid security.txt, a bug bounty policy page, SECURITY.md and a secure SDLC workflow in the CLI; certifications not read (16 of 20). 30 + 18 + 10 + 6 + 16 = 80."
        },
        "scores": {
          "a": 62,
          "b": 80
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "kraken",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The agent SDK ships openapi.yaml with 109 typed UTA v3 operations from which the tools are generated, a machine-readable contract from the vendor's own organisation though not on the docs site (20 of 25). llms.txt in the SDK and MCP repositories; the docs site has none (6 of 10). Intent tools with a discover tool that explains each verb, action and its risk level, and the server's initialize instructions state surface, modules and read-only posture (15 of 20). Typed inputs with enums and required fields from the OpenAPI source (12 of 15). Examples in the quick start and READMEs, a REST error code page in the legacy docs that we did not read in full (9 of 15). Changelog by day with preview notices and effective dates (12 of 15). 74.",
          "b": "No OpenAPI file was found for the REST API in the docs read; the CLI's agents/tool-catalog.json gives JSON Schema inputs for all 188 commands and the 152 MCP tools (15 of 25). The docs serve Markdown twins such as quickstart.md and the CLI ships llms.txt, AGENTS.md and CONTEXT.md (10). Endpoint pages and guides on order lifecycle, errors and rate limits say what each call does, with less on when not to use one (15 of 20). Enums for order types, time in force and flags, and enums and required fields in the tool catalogue (12 of 15). Python, Node.js and cURL examples, an errors guide and the CLI's error-catalog.json with retry guidance (13 of 15). A changelog of 120 dated entries with deprecations dated (15). 15 + 10 + 15 + 12 + 13 + 15 = 80."
        },
        "scores": {
          "a": 74,
          "b": 80
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "BTG Technology Holdings Limited",
        "b": "Payward, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT",
        "name": "Licence"
      },
      {
        "a": "14",
        "b": "152",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.Bitget-AI/bitget-agent-mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-30",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "2026-10-20",
        "b": "2026-10-30",
        "name": "Terms last updated"
      },
      {
        "a": "2025-12-05",
        "b": "2026-10-21",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "234 stars",
        "b": "795 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Kraken API scores 71 (BB) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories.",
        "question": "Which is better for AI agents, Bitget or Kraken API?"
      },
      {
        "answer": "Bitget needs an API key. Kraken API takes an API key or an OAuth sign-in.",
        "question": "Do Bitget and Kraken API need an API key?"
      },
      {
        "answer": "Bitget runs on your own machine, with no hosted endpoint listed. Kraken API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Bitget and Kraken API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent trading spot, futures and earn products in a person's Bitget account outside the prohibited list, with the smallest default MCP surface of the exchanges graded and a paper-trading switch.",
        "slug": "bitget",
        "watchFor": "Hot and warm wallets lost about 388 million dollars on 24 September 2026 to forged withdrawal commands, and withdrawals were paused until 2 October"
      },
      {
        "aheadOn": [
          "Reliability, 67 against 40",
          "Schema \u0026 documentation, 80 against 74",
          "Security \u0026 auth, 80 against 62"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card",
          "No incidents deducted, where Bitget loses 8 points for them"
        ],
        "goodFor": "An agent that trades spot, xStocks, forex or futures on a person's Kraken account from a local machine, with paper trading to test first and an approval gate on live orders.",
        "slug": "kraken",
        "watchFor": "No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.market-data",
      "name": "Exchange market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bitget.json",
        "title": "Bitfinex API vs Bitget",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bitget"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-kraken.json",
        "title": "Bitfinex API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-bithumb.json",
        "title": "Bitget vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bithumb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-bitstamp.json",
        "title": "Bitget vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-bybit.json",
        "title": "Bitget vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bybit"
      },
      {
        "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-coinbase-mcp.json",
        "title": "Bitget vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-crypto-com-exchange.json",
        "title": "Bitget vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-deribit.json",
        "title": "Bitget vs Deribit",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-dydx.json",
        "title": "Bitget vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-gate-io.json",
        "title": "Bitget vs Gate",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.json",
        "title": "Bitget vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-htx.json",
        "title": "Bitget vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-hyperliquid.json",
        "title": "Bitget vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-kucoin.json",
        "title": "Bitget vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-mexc.json",
        "title": "Bitget vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-okx.json",
        "title": "Bitget vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-uniswap.json",
        "title": "Bitget vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-upbit.json",
        "title": "Bitget vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-kraken.json",
        "title": "Bithumb Open API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/bybit-vs-kraken.json",
        "title": "Bybit vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken.json",
        "title": "Crypto.com Exchange API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kraken.json",
        "title": "Gate vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/htx-vs-kraken.json",
        "title": "HTX trading API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-bitget.json",
        "title": "Binance API vs Bitget",
        "url": "https://www.anchorterminal.com/compare/binance-vs-bitget"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-kraken.json",
        "title": "Binance API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-kraken"
      },
      {
        "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-mcp-vs-kraken.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-kucoin.json",
        "title": "Kraken API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-mexc.json",
        "title": "Kraken API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-okx.json",
        "title": "Kraken API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-uniswap.json",
        "title": "Kraken API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-upbit.json",
        "title": "Kraken API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-kraken.json",
        "title": "Deribit vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-kraken.json",
        "title": "dYdX vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.json",
        "title": "Hyperliquid vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken"
      }
    ],
    "panel": null,
    "scores": [
      {
        "bitget": 40,
        "by": 27,
        "edge": "kraken",
        "key": "reliability",
        "kraken": 67,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bitget": 74,
        "by": 6,
        "edge": "kraken",
        "key": "schema",
        "kraken": 80,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bitget": 83,
        "by": 4,
        "edge": "bitget",
        "key": "ergonomics",
        "kraken": 79,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bitget": 62,
        "by": 18,
        "edge": "kraken",
        "key": "security",
        "kraken": 80,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bitget": 40,
        "by": 0,
        "edge": "",
        "key": "payments",
        "kraken": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bitget": 78,
        "by": 3,
        "edge": "kraken",
        "key": "maintenance",
        "kraken": 81,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bitget": 65,
        "by": 0,
        "edge": "",
        "key": "transparency",
        "kraken": 65,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Kraken API scores 71 (BB) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bitget": "Bitget's official MCP server keeps the default surface to 14 intent tools with discovery, read-only and paper-trading switches, dry runs and a confirmation gate on withdrawals, over an API with demo trading. A 388 million dollar wallet breach in September 2026 paused withdrawals for eight days, and there is no status page, SLA or readable fee table.",
      "kraken": "Kraken pairs a documented REST, WebSocket and FIX API with the open-source kraken-cli, whose kraken-mcp server gates 33 dangerous tools behind approval and signs in by OAuth with a no-withdrawal key. Spot has no self-service sandbox, no OpenAPI file was found, and a 59-minute connectivity outage hit every interface on 30 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bitget-vs-kraken",
    "json": "https://www.anchorterminal.com/compare/bitget-vs-kraken.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bitget-vs-kraken.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bitget-vs-kraken.min.md"
  },
  "markdown": "Kraken API scores 71 (BB) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories. Both do exchange market data.\n\n- Bitget: grade D, 53.9/100, rank #824 of 1349. Markdown https://www.anchorterminal.com/tools/bitget.md · JSON https://www.anchorterminal.com/api/v1/tools/bitget.json\n- Kraken API: grade BB, 71/100, rank #159 of 1349. Markdown https://www.anchorterminal.com/tools/kraken.md · JSON https://www.anchorterminal.com/api/v1/tools/kraken.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### Bitget (D)\n\nGood for: An agent trading spot, futures and earn products in a person's Bitget account outside the prohibited list, with the smallest default MCP surface of the exchanges graded and a paper-trading switch.\n\nWatch for: Hot and warm wallets lost about 388 million dollars on 24 September 2026 to forged withdrawal commands, and withdrawals were paused until 2 October\n\n### Kraken API (BB)\n\nGood for: An agent that trades spot, xStocks, forex or futures on a person's Kraken account from a local machine, with paper trading to test first and an approval gate on live orders.\n\nAhead on:\n- Reliability, 67 against 40\n- Schema \u0026 documentation, 80 against 74\n- Security \u0026 auth, 80 against 62\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n- No incidents deducted, where Bitget loses 8 points for them\n\nWatch for: No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI\n\n\n## Why the edge\n\n### Reliability: Kraken API +27\n\n- Bitget (40): Graded with the hosted lines on the UTA v3 API at api.bitget.com. No status page found (status.bitget.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history; the September 2026 breach is in the deduction, not here. Rate limits are published as 6,000 per IP per minute and per-endpoint UID limits by VIP level (15). An x-mbx-used-remain-limit header is documented and the agent SDK backs off on 429, orders take a clientOid of up to 64 characters, but the breach error code and a Retry-After rule were not read (10 of 15). No SLA (0). UTA v3 is the production API (10). 40.\n- Kraken API (67): Read with the hosted lines on the spot API. status.kraken.com is a Statuspage site with REST, WebSocket and FIX components (20). The incidents feed read covers 4 September to 3 November 2026. On 30 October spot and derivatives clients could not connect or submit orders across web, mobile, REST, WebSocket and FIX for 59 minutes 39 seconds, rated minor by Kraken; on 28 October some FIX clients were rejected on reconnection for 1 hour 59 minutes while other interfaces worked; the futures engine was degraded for 3 minutes on 13 October. A whole-exchange order outage 21 seconds short of an hour is read as one major (10 of 30). Numeric limits per key by tier and per pair for the matching engine (15). EAPI:Rate limit exceeded and EService:Throttled with a retry timestamp, a client order id and a validate flag on orders, but no Retry-After header (12 of 15). No SLA (0). Generally available (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.\n\n### Security \u0026 auth: Kraken API +18\n\n- Bitget (62): API keys with read or read-and-write permission, a passphrase, HMAC-SHA256 or RSA signing, IP binding recommended, 50 keys per UID, revocation on the management page; no OAuth and no separate withdrawal scope in the docs read (22 of 30). --read-only strips write tools at start, --paper-trading routes to demo, and high-risk writes need `confirm: true` (18 of 20). Tools return the exchange's own data (10). Request and response hooks are forwarded as MCP log notifications; no per-call audit log on Bitget's side was found (6 of 15). security@bitget.com in the toolkit README, no security.txt, Mandiant and SlowMist reports on the September breach, a proof-of-reserves repository, no bounty page read (6 of 20). 62.\n- Kraken API (80): Keys with nine named permissions, optional expiry, IP restriction and nonce window, plus an OAuth sign-in from the CLI (authorisation code with PKCE, public client) that mints a no-withdrawal key expiring within 90 days or a read-only key (30). Read-only and no-withdrawal keys, position limits and pair allowlists in account settings, and MCP approval prompts for 33 dangerous tools (18 of 20). The API returns no untrusted content; the CLI docs warn that the feedback tool uploads a local file without approval (10). Keys and their permissions are listed in settings and ledgers record activity, but no per-call log for the operator was found (6 of 15). A valid security.txt, a bug bounty policy page, SECURITY.md and a secure SDLC workflow in the CLI; certifications not read (16 of 20). 30 + 18 + 10 + 6 + 16 = 80.\n\n### Schema \u0026 documentation: Kraken API +6\n\n- Bitget (74): The agent SDK ships openapi.yaml with 109 typed UTA v3 operations from which the tools are generated, a machine-readable contract from the vendor's own organisation though not on the docs site (20 of 25). llms.txt in the SDK and MCP repositories; the docs site has none (6 of 10). Intent tools with a discover tool that explains each verb, action and its risk level, and the server's initialize instructions state surface, modules and read-only posture (15 of 20). Typed inputs with enums and required fields from the OpenAPI source (12 of 15). Examples in the quick start and READMEs, a REST error code page in the legacy docs that we did not read in full (9 of 15). Changelog by day with preview notices and effective dates (12 of 15). 74.\n- Kraken API (80): No OpenAPI file was found for the REST API in the docs read; the CLI's agents/tool-catalog.json gives JSON Schema inputs for all 188 commands and the 152 MCP tools (15 of 25). The docs serve Markdown twins such as quickstart.md and the CLI ships llms.txt, AGENTS.md and CONTEXT.md (10). Endpoint pages and guides on order lifecycle, errors and rate limits say what each call does, with less on when not to use one (15 of 20). Enums for order types, time in force and flags, and enums and required fields in the tool catalogue (12 of 15). Python, Node.js and cURL examples, an errors guide and the CLI's error-catalog.json with retry guidance (13 of 15). A changelog of 120 dated entries with deprecations dated (15). 15 + 10 + 15 + 12 + 13 + 15 = 80.\n\n## Score by category\n\n| Category | Weight | Bitget | Kraken API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 67 | Kraken API +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 80 | Kraken API +6 |\n| Agent ergonomics | 13% (16.2 this run) | 83 | 79 | Bitget +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 80 | Kraken API +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 81 | Kraken API +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 65 | even |\n| Negative events | ≤15 | -8 | 0 | |\n| **Total** | | **53.9 · D** | **71 · BB** | |\n\n## Facts side by side\n\n| Fact | Bitget | Kraken API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | BTG Technology Holdings Limited | Payward, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio | stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT |\n| Tools exposed | 14 | 152 |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | yes |\n| MCP registry | `io.github.Bitget-AI/bitget-agent-mcp` | not listed |\n| Last release | 2026-10-30 | 2026-10-29 |\n| Terms last updated | 2026-10-20 | 2026-10-30 |\n| Privacy policy last updated | 2025-12-05 | 2026-10-21 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 234 stars | 795 stars |\n\n## Verdicts\n\n**Bitget.** Bitget's official MCP server keeps the default surface to 14 intent tools with discovery, read-only and paper-trading switches, dry runs and a confirmation gate on withdrawals, over an API with demo trading. A 388 million dollar wallet breach in September 2026 paused withdrawals for eight days, and there is no status page, SLA or readable fee table.\n\n**Kraken API.** Kraken pairs a documented REST, WebSocket and FIX API with the open-source kraken-cli, whose kraken-mcp server gates 33 dangerous tools behind approval and signs in by OAuth with a no-withdrawal key. Spot has no self-service sandbox, no OpenAPI file was found, and a 59-minute connectivity outage hit every interface on 30 October 2026.\n\n## Before you call either\n\n### Bitget\n\n1. Run `npx -y @bitget-ai/bitget-agent-mcp --read-only` for research and `--paper-trading` with a demo key before any live order; the two flags cannot be combined\n2. Call discover({}) first, then the intent verbs; add `dryRun: true` to any write to preview it, and pass `confirm: true` only after the person has agreed to a withdraw or cancelAll\n3. Send a unique clientOid of at most 64 characters on every order and reuse it on retry; orderId wins when both are sent\n4. Stay under 10 requests a second per endpoint on a new account and 6,000 a minute per IP; the SDK retries on 429, so do not add a second retry loop\n5. Bind the key to an IP and keep write permission off a research key; the docs read show no separate withdrawal scope\n\n### Kraken API\n\n1. Start kraken-mcp with -s market,paper,feedback or the default services; add trade only with a least-privilege key, and never pass --allow-dangerous on an agent that reads untrusted input\n2. Ask the person to run kraken auth login in their own terminal; it needs a browser and saves a no-withdrawal key that expires in 90 days at most\n3. Send a fresh --cl-ord-id on each order and run it with --validate first; after a network error look the order up before sending it again\n4. Keep the nonce strictly increasing per key and stay under the tier's counter, since EAPI:Rate limit exceeded has no Retry-After header\n5. Test strategies in a paper workspace, which fills at live prices with no account, before a live workspace\n\n## Questions\n\n### Which is better for AI agents, Bitget or Kraken API?\n\nKraken API scores 71 (BB) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories.\n\n### Do Bitget and Kraken API need an API key?\n\nBitget needs an API key. Kraken API takes an API key or an OAuth sign-in.\n\n### Can an agent call Bitget and Kraken API without installing anything?\n\nBitget runs on your own machine, with no hosted endpoint listed. Kraken 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/bitget-vs-kraken.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bitget-vs-kraken.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bitget\", \"b\": \"kraken\"}`. From a terminal: `anchor compare bitget kraken`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bitget.json and https://www.anchorterminal.com/api/v1/tools/kraken.json\n\n## Other comparisons with Bitget or Kraken API\n\n- [Bitfinex API vs Bitget](https://www.anchorterminal.com/compare/bitfinex-vs-bitget.md)\n- [Bitfinex API vs Kraken API](https://www.anchorterminal.com/compare/bitfinex-vs-kraken.md)\n- [Bitget vs Bithumb Open API](https://www.anchorterminal.com/compare/bitget-vs-bithumb.md)\n- [Bitget vs Bitstamp API](https://www.anchorterminal.com/compare/bitget-vs-bitstamp.md)\n- [Bitget vs Bybit](https://www.anchorterminal.com/compare/bitget-vs-bybit.md)\n- [Bitget vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitget-vs-coinbase-advanced-trade.md)\n- [Bitget vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/bitget-vs-coinbase-mcp.md)\n- [Bitget vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/bitget-vs-crypto-com-exchange.md)\n- [Bitget vs Deribit](https://www.anchorterminal.com/compare/bitget-vs-deribit.md)\n- [Bitget vs dYdX](https://www.anchorterminal.com/compare/bitget-vs-dydx.md)\n- [Bitget vs Gate](https://www.anchorterminal.com/compare/bitget-vs-gate-io.md)\n- [Bitget vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.md)\n- [Bitget vs HTX trading API](https://www.anchorterminal.com/compare/bitget-vs-htx.md)\n- [Bitget vs Hyperliquid](https://www.anchorterminal.com/compare/bitget-vs-hyperliquid.md)\n- [Bitget vs KuCoin](https://www.anchorterminal.com/compare/bitget-vs-kucoin.md)\n- [Bitget vs MEXC API](https://www.anchorterminal.com/compare/bitget-vs-mexc.md)\n- [Bitget vs OKX API](https://www.anchorterminal.com/compare/bitget-vs-okx.md)\n- [Bitget vs Uniswap Trading API](https://www.anchorterminal.com/compare/bitget-vs-uniswap.md)\n- [Bitget vs Upbit Open API](https://www.anchorterminal.com/compare/bitget-vs-upbit.md)\n- [Bithumb Open API vs Kraken API](https://www.anchorterminal.com/compare/bithumb-vs-kraken.md)\n- [Bitstamp API vs Kraken API](https://www.anchorterminal.com/compare/bitstamp-vs-kraken.md)\n- [Bybit vs Kraken API](https://www.anchorterminal.com/compare/bybit-vs-kraken.md)\n- [Crypto.com Exchange API vs Kraken API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken.md)\n- [Gate vs Kraken API](https://www.anchorterminal.com/compare/gate-io-vs-kraken.md)\n- [Gemini Exchange API vs Kraken API](https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.md)\n- [HTX trading API vs Kraken API](https://www.anchorterminal.com/compare/htx-vs-kraken.md)\n- [Binance API vs Bitget](https://www.anchorterminal.com/compare/binance-vs-bitget.md)\n- [Binance API vs Kraken API](https://www.anchorterminal.com/compare/binance-vs-kraken.md)\n- [Coinbase Advanced Trade API vs Kraken API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Kraken API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken.md)\n- [Kraken API vs KuCoin](https://www.anchorterminal.com/compare/kraken-vs-kucoin.md)\n- [Kraken API vs MEXC API](https://www.anchorterminal.com/compare/kraken-vs-mexc.md)\n- [Kraken API vs OKX API](https://www.anchorterminal.com/compare/kraken-vs-okx.md)\n- [Kraken API vs Uniswap Trading API](https://www.anchorterminal.com/compare/kraken-vs-uniswap.md)\n- [Kraken API vs Upbit Open API](https://www.anchorterminal.com/compare/kraken-vs-upbit.md)\n- [Deribit vs Kraken API](https://www.anchorterminal.com/compare/deribit-vs-kraken.md)\n- [dYdX vs Kraken API](https://www.anchorterminal.com/compare/dydx-vs-kraken.md)\n- [Hyperliquid vs Kraken API](https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.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": "Bitget vs Kraken API",
        "url": ""
      }
    ],
    "description": "Kraken scores 71 (BB) to Bitget's 53.9 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bitget D 53.9",
      "Kraken API BB 71",
      "scores"
    ],
    "h1": "Bitget vs Kraken API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bitget-vs-kraken",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bitget vs Kraken for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/bitget-vs-kraken"
  },
  "tokens": {
    "markdown": 4000,
    "slim": 1830
  },
  "version": 1
}
