{
  "data": {
    "a": {
      "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-04T20:05:18.866095768Z"
        },
        "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-04T20:05:18.866095768Z"
      }
    },
    "answer": "Kraken API scores 71 (BB) on agent readiness against KuCoin's 53.9 (D), and leads in every scored category.",
    "b": {
      "slug": "kucoin",
      "name": "KuCoin",
      "vendor": "KuCoin",
      "vendorUrl": "https://www.kucoin.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "KuCoin is a centralised crypto exchange for spot, margin and futures trading and earn products, reached through its REST and WebSocket API with a unified trading account, an official multi-language SDK and read-only agent skills. It runs no MCP server.",
      "url": "https://www.anchorterminal.com/tools/kucoin",
      "markdownUrl": "https://www.anchorterminal.com/tools/kucoin.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kucoin.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kucoin.json",
      "dns": "kucoin.grade.anchorterminal.com",
      "repo": "https://github.com/Kucoin/kucoin-universal-sdk",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key, secret and user-set passphrase minted under API Management after a browser sign-up and identity verification, with KC-API-KEY, KC-API-SIGN (HMAC-SHA256 over timestamp, method, path and body, Base64), KC-API-TIMESTAMP, KC-API-PASSPHRASE (the passphrase signed with the secret) and KC-API-KEY-VERSION headers. Permissions are General (read-only), Spot, Margin, Futures, Earn, Withdrawal, FlexTransfers, LeadtradeFutures and Unified; Withdrawal and FlexTransfers need an IP allow-list, and a key with trading permissions and no IP bound has trading disabled or is deleted after 30 days of inactivity. General-only keys do not expire (https://www.kucoin.com/docs-new/authentication, https://www.kucoin.com/docs-new/ and https://www.kucoin.com/support/360015102174, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing; trades carry KuCoin's fees. Spot fee levels are set against a base of 0.1 per cent maker and 0.1 per cent taker at LV0, with some pairs priced differently and a 20 per cent discount when fees are paid in KCS. The futures LV0 rate (0.02 per cent maker and 0.06 per cent taker per a KuCoin blog post) sits in an image on the support page and was not read first-hand. The fee page itself loads its table by script (https://www.kucoin.com/support/360015188494 and https://www.kucoin.com/en-eu/support/360015207133, checked 2026-11-03).",
      "priceSummary": "0.1% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the skills hub or the fee pages (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.kucoin.com/docs-new/",
      "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",
        "no-status-page",
        "agent-skills",
        "python",
        "typescript",
        "go",
        "java",
        "php"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.9,
        "grade": "D",
        "agentReady": false,
        "rank": 891,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 73,
          "payments": 35,
          "reliability": 45,
          "schema": 60,
          "security": 55,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.",
        "bestFor": "An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.",
        "strengths": [
          "Rate limits published per VIP level with per-endpoint weights and gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset headers, 429000 on breach",
          "API key permissions split into General, Spot, Margin, Futures, Earn, Withdrawal, FlexTransfers and Unified, with Withdrawal and FlexTransfers requiring an IP allow-list",
          "Official kucoin-universal-sdk for Go, Python, Node.js, PHP and Java, MIT, pushed September 2026",
          "Unified Trading Account API V2 with a dated changelog and unified six-digit error codes",
          "Seven read-only agent skills in a KuCoin-published repository, installable with the skills CLI"
        ],
        "weaknesses": [
          "No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package",
          "No sandbox or testnet; the legacy sandbox is offline and the docs point to mocking",
          "No status page, incident history or SLA found",
          "No OpenAPI file or llms.txt; the SDK page links a Postman workspace instead",
          "Terms name no company and fix the Turks and Caicos Islands as the deemed place of every transaction; the privacy policy names only KuCoin"
        ],
        "agentNotes": [
          "Mint a key with General only for research; add Spot or Futures only with an IP allow-list, since unbound trading keys are disabled after 30 days of inactivity",
          "Send a UUID clientOid on every order and keep it for the retry, and read the order back by clientOid before placing again",
          "Budget requests by weight against gw-ratelimit-remaining and sleep for gw-ratelimit-reset milliseconds on 429000; sub-accounts share the pool",
          "There is no sandbox, so rehearse with the smallest order size on a dedicated sub-account",
          "Use the UTA V2 endpoints and hosts; the Classic API loses endpoints without notice, as the margin credit endpoints did on 21 October 2026"
        ],
        "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": 62,
          "maintenance": 73,
          "payments": 35,
          "reliability": 45,
          "schema": 60,
          "security": 55,
          "transparency": 52
        },
        "provenanceScore": 55,
        "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://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/kucoin"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, LV0 maker or taker",
          "unit": "pct",
          "usd": 0.1,
          "note": "base rate; some pairs differ, 20 per cent off in KCS"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "kucoin.com",
        "domainRegistered": "2013-11-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.kucoin.com/support/47185419968079",
        "privacy": "https://www.kucoin.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.kucoin.com/docs-new/change-log",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 29 October 2026) name no company; they deem all activity to occur in the Turks and Caicos Islands under its law with SIAC arbitration. /legal/terms-of-use is a shell page that links the support article recorded here. The privacy policy (dated 10/05/2026 in an ambiguous format) names KuCoin as controller with no company name.",
          "www.kucoin.com/robots.txt disallows assets, order and account paths only; docs-new and support pages are allowed.",
          "RDAP gives kucoin.com a registration date of 13 November 2013 (Amazon Registrar).",
          "https://www.kucoin.com/.well-known/security.txt answers 404. No status page found; status.kucoin.com does not resolve and the docs link none.",
          "The docs changelog is dated by day; its newest entry is dated 6 November 2026, three days ahead of the check, and the newest past entry 2 November 2026."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kucoin.json",
      "live": {
        "slug": "kucoin",
        "securityTxt": {
          "url": "https://kucoin.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:04.738329571Z"
        },
        "updatedAt": "2026-11-04T15:54:04.738329571Z"
      }
    },
    "edges": [
      {
        "by": 25,
        "category": "security",
        "leads": "kraken",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "API key with a user-set passphrase, HMAC-SHA256 signing, nine permission groups, IP allow-lists required for Withdrawal and FlexTransfers, trading keys without an IP disabled after 30 days of inactivity, revocation on the management page; no OAuth and no expiry on General keys (24 of 30). A General-only key is a true read-only mode and withdrawals are a separate permission; no confirmation step for writes beyond the key scope (12 of 20). Tools return the exchange's own data (10). The API key info endpoint shows permissions and IP lists; no per-call audit log was found (5 of 15). No security.txt, no disclosure policy or bounty on a page we could read, a whistleblower notice on the legal page (4 of 20). 55."
        },
        "scores": {
          "a": 80,
          "b": 55
        }
      },
      {
        "by": 22,
        "category": "reliability",
        "leads": "kraken",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Graded with the hosted lines on the API at api.kucoin.com. No status page found (status.kucoin.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per VIP level with per-endpoint weights and IP limits for public endpoints (15). Every response carries gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset, 429000 is documented with a wait rule, and orders take a clientOid the docs recommend as a UUID (15). No SLA (0). The UTA V2 API is the production surface (10). 45."
        },
        "scores": {
          "a": 67,
          "b": 45
        }
      },
      {
        "by": 20,
        "category": "schema",
        "leads": "kraken",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "No OpenAPI or other machine-readable contract was found; the docs link a Postman workspace and the universal SDK is generated from an internal spec (8 of 25). No llms.txt; the skills hub ships Markdown SKILL.md files with endpoint tables for seven product areas, read-only (6 of 10). One docs page per endpoint with a description, permission and weight, but no when-to-use guidance (12 of 20). Typed parameter tables with enums for type and side and required flags (11 of 15). Request and response examples per endpoint and a unified six-digit error code scheme introduced with V2 (10 of 15). Dated changelog with V1 to V2 versioning (13 of 15). 60."
        },
        "scores": {
          "a": 80,
          "b": 60
        }
      },
      {
        "by": 17,
        "category": "ergonomics",
        "leads": "kraken",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The MCP server loads services with -s, defaults to no live trading, and its 152 tool definitions average about 520 characters; the REST API takes count, limit and pair filters but has no field selection (18 of 25). Cursor pagination on ledgers and trades since 30 September and 6 October 2026, with ofs deprecated (17 of 20). Prefixed error strings such as EOrder:Rate limit exceeded and EAPI:Invalid nonce, and the CLI's error catalogue says which to retry (17 of 20). cl_ord_id and validate on orders, destructive_hint and elicitation on dangerous MCP tools, no idempotency key on REST (16 of 20). An official Rust SDK at 5 stars, a Go module and example clients, HMAC-SHA512 signing with a strict nonce (11 of 15). 18 + 17 + 17 + 16 + 11 = 79.",
          "b": "Read for the API alone, since there is no MCP server. Responses take limit and cursor parameters on list endpoints and the order book depth is a parameter (14 of 25). Pagination and symbol filters on orders, fills and ledgers (15 of 20). Codes and messages per response, with the V2 scheme claimed to be clearer; the rate-limit page's own examples contradict its table, which costs an agent a turn (12 of 20). clientOid on orders makes retries safe; no MCP annotations to read (10 of 20). Three required fields on a spot order, official SDKs in five languages (11 of 15). 62."
        },
        "scores": {
          "a": 79,
          "b": 62
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "kraken",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service with clear terms naming regional Payward entities under California law; the CLI is MIT (15 of 30). The privacy notice was not read (5 of 30). The changelog dates deprecations and the terms carry a last-updated date (16 of 20). No subprocessor or data-location statement read (0 of 20). 15 + 5 + 16 + 0 = 36.",
          "b": "The editorial half. A closed hosted service with terms that are clear on use, liability and law but name no company (12 of 30). The privacy policy gives retention periods by purpose and provider (2 years after closure, 14 months for Firebase, 3 years for Jumio, 5 years for Sumsub) and names 41 services, with no data centre locations (22 of 30). Endpoints are removed and fields deprecated in dated changelog entries with no notice period or policy (8 of 20). Third parties named by service, locations not stated beyond transfers around the globe (10 of 20). 52."
        },
        "scores": {
          "a": 65,
          "b": 54
        }
      },
      {
        "by": 8,
        "category": "maintenance",
        "leads": "kraken",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service with an open-source client. Changelog entry of 27 October 2026 and kraken-cli v0.5.1 on 29 October (30). Fourteen changelog entries since 19 August 2026 and CLI tags on 6 and 7 August and 28 and 29 October (20). A public changelog, api@kraken.com, a status page and a CLI repository merging pull requests at the end of October; issue replies not read (11 of 15). An official Rust SDK pushed in October 2026 and a Go module from January; the MCP server is not in the official registry (12 of 15). The CLI has release and secure SDLC workflows, deny.toml and a pinned toolchain; the SDK's CI not read (8 of 10). 30 + 20 + 11 + 12 + 8 = 81.",
          "b": "Read as a closed hosted service. The changelog's newest past entry is 2 November 2026 and the universal SDK was pushed 15 September (30). Nine dated changelog entries since 5 August 2026 (20). A Telegram API group (t.me/KuCoin_API) and api@kucoin.com for limit requests, no public issue tracker for the API; the SDK repository's issues were not checked (10 of 25). Official SDKs current in five languages, no MCP registry presence (13 of 15). No package health signal checked (0 of 10). 73."
        },
        "scores": {
          "a": 81,
          "b": 73
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Payward, Inc.",
        "b": "KuCoin",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "152",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "2026-10-30",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-21",
        "b": "no date given",
        "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": "yes",
        "b": "not found in the text",
        "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": "795 stars",
        "b": "55 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Kraken API scores 71 (BB) on agent readiness against KuCoin's 53.9 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Kraken API or KuCoin?"
      },
      {
        "answer": "Kraken API takes an API key or an OAuth sign-in. KuCoin needs an API key.",
        "question": "Do Kraken API and KuCoin need an API key?"
      },
      {
        "answer": "Kraken API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for KuCoin.",
        "question": "Can an agent call Kraken API and KuCoin without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 67 against 45",
          "Schema \u0026 documentation, 80 against 60",
          "Agent ergonomics, 79 against 62",
          "Security \u0026 auth, 80 against 55",
          "Payments \u0026 pricing, 40 against 35",
          "Maintenance \u0026 community, 81 against 73",
          "Transparency \u0026 trust, 65 against 54"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "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"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.",
        "slug": "kucoin",
        "watchFor": "No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.spot-trading",
      "name": "Exchange spot trading"
    },
    "others": [
      {
        "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/bitfinex-vs-kucoin.json",
        "title": "Bitfinex API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-kraken.json",
        "title": "Bitget vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-kraken"
      },
      {
        "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/bithumb-vs-kraken.json",
        "title": "Bithumb Open API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin.json",
        "title": "Bithumb Open API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/bybit-vs-kraken.json",
        "title": "Bybit vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-kucoin.json",
        "title": "Bybit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kucoin"
      },
      {
        "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/crypto-com-exchange-vs-kucoin.json",
        "title": "Crypto.com Exchange API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kraken.json",
        "title": "Gate vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin.json",
        "title": "Gate vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/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/htx-vs-kucoin.json",
        "title": "HTX trading API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-mexc.json",
        "title": "KuCoin vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-okx.json",
        "title": "KuCoin vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap.json",
        "title": "KuCoin vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-upbit.json",
        "title": "KuCoin vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-upbit"
      },
      {
        "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/binance-vs-kucoin.json",
        "title": "Binance API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/binance-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.json",
        "title": "Coinbase Advanced Trade API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.json",
        "title": "Coinbase Advanced Trade API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-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/coinbase-mcp-vs-kucoin.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-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/deribit-vs-kucoin.json",
        "title": "Deribit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-kucoin"
      },
      {
        "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/dydx-vs-kucoin.json",
        "title": "dYdX vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.json",
        "title": "Hyperliquid vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.json",
        "title": "Hyperliquid vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 22,
        "edge": "kraken",
        "key": "reliability",
        "kraken": 67,
        "kucoin": 45,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "kraken",
        "key": "schema",
        "kraken": 80,
        "kucoin": 60,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 17,
        "edge": "kraken",
        "key": "ergonomics",
        "kraken": 79,
        "kucoin": 62,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 25,
        "edge": "kraken",
        "key": "security",
        "kraken": 80,
        "kucoin": 55,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "edge": "kraken",
        "key": "payments",
        "kraken": 40,
        "kucoin": 35,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "kraken",
        "key": "maintenance",
        "kraken": 81,
        "kucoin": 73,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 11,
        "edge": "kraken",
        "key": "transparency",
        "kraken": 65,
        "kucoin": 54,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Kraken API scores 71 (BB) on agent readiness against KuCoin's 53.9 (D), and leads in every scored category. Both do exchange spot trading.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "kucoin": "KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/kraken-vs-kucoin",
    "json": "https://www.anchorterminal.com/compare/kraken-vs-kucoin.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/kraken-vs-kucoin.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/kraken-vs-kucoin.min.md"
  },
  "markdown": "Kraken API scores 71 (BB) on agent readiness against KuCoin's 53.9 (D), and leads in every scored category. Both do exchange spot trading.\n\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- KuCoin: grade D, 53.9/100, rank #891 of 1349. Markdown https://www.anchorterminal.com/tools/kucoin.md · JSON https://www.anchorterminal.com/api/v1/tools/kucoin.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### 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 45\n- Schema \u0026 documentation, 80 against 60\n- Agent ergonomics, 79 against 62\n- Security \u0026 auth, 80 against 55\n- Payments \u0026 pricing, 40 against 35\n- Maintenance \u0026 community, 81 against 73\n- Transparency \u0026 trust, 65 against 54\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- Free to start without a card\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### KuCoin (D)\n\nGood for: An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.\n\nWatch for: No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package\n\n\n## Why the edge\n\n### Security \u0026 auth: Kraken API +25\n\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- KuCoin (55): API key with a user-set passphrase, HMAC-SHA256 signing, nine permission groups, IP allow-lists required for Withdrawal and FlexTransfers, trading keys without an IP disabled after 30 days of inactivity, revocation on the management page; no OAuth and no expiry on General keys (24 of 30). A General-only key is a true read-only mode and withdrawals are a separate permission; no confirmation step for writes beyond the key scope (12 of 20). Tools return the exchange's own data (10). The API key info endpoint shows permissions and IP lists; no per-call audit log was found (5 of 15). No security.txt, no disclosure policy or bounty on a page we could read, a whistleblower notice on the legal page (4 of 20). 55.\n\n### Reliability: Kraken API +22\n\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- KuCoin (45): Graded with the hosted lines on the API at api.kucoin.com. No status page found (status.kucoin.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per VIP level with per-endpoint weights and IP limits for public endpoints (15). Every response carries gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset, 429000 is documented with a wait rule, and orders take a clientOid the docs recommend as a UUID (15). No SLA (0). The UTA V2 API is the production surface (10). 45.\n\n### Schema \u0026 documentation: Kraken API +20\n\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- KuCoin (60): No OpenAPI or other machine-readable contract was found; the docs link a Postman workspace and the universal SDK is generated from an internal spec (8 of 25). No llms.txt; the skills hub ships Markdown SKILL.md files with endpoint tables for seven product areas, read-only (6 of 10). One docs page per endpoint with a description, permission and weight, but no when-to-use guidance (12 of 20). Typed parameter tables with enums for type and side and required flags (11 of 15). Request and response examples per endpoint and a unified six-digit error code scheme introduced with V2 (10 of 15). Dated changelog with V1 to V2 versioning (13 of 15). 60.\n\n### Agent ergonomics: Kraken API +17\n\n- Kraken API (79): The MCP server loads services with -s, defaults to no live trading, and its 152 tool definitions average about 520 characters; the REST API takes count, limit and pair filters but has no field selection (18 of 25). Cursor pagination on ledgers and trades since 30 September and 6 October 2026, with ofs deprecated (17 of 20). Prefixed error strings such as EOrder:Rate limit exceeded and EAPI:Invalid nonce, and the CLI's error catalogue says which to retry (17 of 20). cl_ord_id and validate on orders, destructive_hint and elicitation on dangerous MCP tools, no idempotency key on REST (16 of 20). An official Rust SDK at 5 stars, a Go module and example clients, HMAC-SHA512 signing with a strict nonce (11 of 15). 18 + 17 + 17 + 16 + 11 = 79.\n- KuCoin (62): Read for the API alone, since there is no MCP server. Responses take limit and cursor parameters on list endpoints and the order book depth is a parameter (14 of 25). Pagination and symbol filters on orders, fills and ledgers (15 of 20). Codes and messages per response, with the V2 scheme claimed to be clearer; the rate-limit page's own examples contradict its table, which costs an agent a turn (12 of 20). clientOid on orders makes retries safe; no MCP annotations to read (10 of 20). Three required fields on a spot order, official SDKs in five languages (11 of 15). 62.\n\n### Transparency \u0026 trust: Kraken API +11\n\n- Kraken API (65): The editorial half. A closed service with clear terms naming regional Payward entities under California law; the CLI is MIT (15 of 30). The privacy notice was not read (5 of 30). The changelog dates deprecations and the terms carry a last-updated date (16 of 20). No subprocessor or data-location statement read (0 of 20). 15 + 5 + 16 + 0 = 36.\n- KuCoin (54): The editorial half. A closed hosted service with terms that are clear on use, liability and law but name no company (12 of 30). The privacy policy gives retention periods by purpose and provider (2 years after closure, 14 months for Firebase, 3 years for Jumio, 5 years for Sumsub) and names 41 services, with no data centre locations (22 of 30). Endpoints are removed and fields deprecated in dated changelog entries with no notice period or policy (8 of 20). Third parties named by service, locations not stated beyond transfers around the globe (10 of 20). 52.\n\n### Maintenance \u0026 community: Kraken API +8\n\n- Kraken API (81): Read as a closed service with an open-source client. Changelog entry of 27 October 2026 and kraken-cli v0.5.1 on 29 October (30). Fourteen changelog entries since 19 August 2026 and CLI tags on 6 and 7 August and 28 and 29 October (20). A public changelog, api@kraken.com, a status page and a CLI repository merging pull requests at the end of October; issue replies not read (11 of 15). An official Rust SDK pushed in October 2026 and a Go module from January; the MCP server is not in the official registry (12 of 15). The CLI has release and secure SDLC workflows, deny.toml and a pinned toolchain; the SDK's CI not read (8 of 10). 30 + 20 + 11 + 12 + 8 = 81.\n- KuCoin (73): Read as a closed hosted service. The changelog's newest past entry is 2 November 2026 and the universal SDK was pushed 15 September (30). Nine dated changelog entries since 5 August 2026 (20). A Telegram API group (t.me/KuCoin_API) and api@kucoin.com for limit requests, no public issue tracker for the API; the SDK repository's issues were not checked (10 of 25). Official SDKs current in five languages, no MCP registry presence (13 of 15). No package health signal checked (0 of 10). 73.\n\n## Score by category\n\n| Category | Weight | Kraken API | KuCoin | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 45 | Kraken API +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 60 | Kraken API +20 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 62 | Kraken API +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 55 | Kraken API +25 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 35 | Kraken API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 81 | 73 | Kraken API +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 54 | Kraken API +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **71 · BB** | **53.9 · D** | |\n\n## Facts side by side\n\n| Fact | Kraken API | KuCoin |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Payward, Inc. | KuCoin |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio |  |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT | none |\n| Tools exposed | 152 | none |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | no |\n| Last release | 2026-10-29 | 2026-11-02 |\n| Terms last updated | 2026-10-30 | no date given |\n| Privacy policy last updated | 2026-10-21 | no date given |\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 | yes | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 795 stars | 55 stars |\n\n## Verdicts\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**KuCoin.** KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.\n\n## Before you call either\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### KuCoin\n\n1. Mint a key with General only for research; add Spot or Futures only with an IP allow-list, since unbound trading keys are disabled after 30 days of inactivity\n2. Send a UUID clientOid on every order and keep it for the retry, and read the order back by clientOid before placing again\n3. Budget requests by weight against gw-ratelimit-remaining and sleep for gw-ratelimit-reset milliseconds on 429000; sub-accounts share the pool\n4. There is no sandbox, so rehearse with the smallest order size on a dedicated sub-account\n5. Use the UTA V2 endpoints and hosts; the Classic API loses endpoints without notice, as the margin credit endpoints did on 21 October 2026\n\n## Questions\n\n### Which is better for AI agents, Kraken API or KuCoin?\n\nKraken API scores 71 (BB) on agent readiness against KuCoin's 53.9 (D), and leads in every scored category.\n\n### Do Kraken API and KuCoin need an API key?\n\nKraken API takes an API key or an OAuth sign-in. KuCoin needs an API key.\n\n### Can an agent call Kraken API and KuCoin without installing anything?\n\nKraken API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for KuCoin.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/kraken-vs-kucoin.json, and with the fewest tokens: https://www.anchorterminal.com/compare/kraken-vs-kucoin.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"kraken\", \"b\": \"kucoin\"}`. From a terminal: `anchor compare kraken kucoin`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/kraken.json and https://www.anchorterminal.com/api/v1/tools/kucoin.json\n\n## Other comparisons with Kraken API or KuCoin\n\n- [Bitfinex API vs Kraken API](https://www.anchorterminal.com/compare/bitfinex-vs-kraken.md)\n- [Bitfinex API vs KuCoin](https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.md)\n- [Bitget vs Kraken API](https://www.anchorterminal.com/compare/bitget-vs-kraken.md)\n- [Bitget vs KuCoin](https://www.anchorterminal.com/compare/bitget-vs-kucoin.md)\n- [Bithumb Open API vs Kraken API](https://www.anchorterminal.com/compare/bithumb-vs-kraken.md)\n- [Bithumb Open API vs KuCoin](https://www.anchorterminal.com/compare/bithumb-vs-kucoin.md)\n- [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- [Bybit vs Kraken API](https://www.anchorterminal.com/compare/bybit-vs-kraken.md)\n- [Bybit vs KuCoin](https://www.anchorterminal.com/compare/bybit-vs-kucoin.md)\n- [Crypto.com Exchange API vs Kraken API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken.md)\n- [Crypto.com Exchange API vs KuCoin](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin.md)\n- [Gate vs Kraken API](https://www.anchorterminal.com/compare/gate-io-vs-kraken.md)\n- [Gate vs KuCoin](https://www.anchorterminal.com/compare/gate-io-vs-kucoin.md)\n- [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- [HTX trading API vs Kraken API](https://www.anchorterminal.com/compare/htx-vs-kraken.md)\n- [HTX trading API vs KuCoin](https://www.anchorterminal.com/compare/htx-vs-kucoin.md)\n- [KuCoin vs MEXC API](https://www.anchorterminal.com/compare/kucoin-vs-mexc.md)\n- [KuCoin vs OKX API](https://www.anchorterminal.com/compare/kucoin-vs-okx.md)\n- [KuCoin vs Uniswap Trading API](https://www.anchorterminal.com/compare/kucoin-vs-uniswap.md)\n- [KuCoin vs Upbit Open API](https://www.anchorterminal.com/compare/kucoin-vs-upbit.md)\n- [Binance API vs Kraken API](https://www.anchorterminal.com/compare/binance-vs-kraken.md)\n- [Binance API vs KuCoin](https://www.anchorterminal.com/compare/binance-vs-kucoin.md)\n- [Coinbase Advanced Trade API vs Kraken API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.md)\n- [Coinbase Advanced Trade API vs KuCoin](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Kraken API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken.md)\n- [Coinbase MCP server (Coinbase for Agents) vs KuCoin](https://www.anchorterminal.com/compare/coinbase-mcp-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- [Deribit vs KuCoin](https://www.anchorterminal.com/compare/deribit-vs-kucoin.md)\n- [dYdX vs Kraken API](https://www.anchorterminal.com/compare/dydx-vs-kraken.md)\n- [dYdX vs KuCoin](https://www.anchorterminal.com/compare/dydx-vs-kucoin.md)\n- [Hyperliquid vs Kraken API](https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.md)\n- [Hyperliquid vs KuCoin](https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.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": "Kraken API vs KuCoin",
        "url": ""
      }
    ],
    "description": "Kraken scores 71 (BB) to KuCoin's 53.9 (D) for exchange spot trading. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Kraken API BB 71",
      "KuCoin D 53.9",
      "scores"
    ],
    "h1": "Kraken API vs KuCoin",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/kraken-vs-kucoin",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Kraken vs KuCoin for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/kraken-vs-kucoin"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 2680
  },
  "version": 1
}
