# Kraken API vs Upbit Open API

> Kraken scores 71 (BB) to Upbit Open's 54.7 (C) for exchange spot trading. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/kraken-vs-upbit
- Markdown: https://www.anchorterminal.com/compare/kraken-vs-upbit.md (~4,800 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-03

Kraken API scores 71 (BB) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories. Both do exchange spot trading.

- 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
- Upbit Open API: grade C, 54.7/100, rank #860 of 1349. Markdown https://www.anchorterminal.com/tools/upbit.md · JSON https://www.anchorterminal.com/api/v1/tools/upbit.json
- Best crypto exchange APIs and MCP servers for AI agents: https://www.anchorterminal.com/best/crypto-exchanges/index.md
- All 210 exchanges comparisons: https://www.anchorterminal.com/compare/crypto-exchanges/index.md

## Which one, for what

### Kraken API (BB)

Good 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.

Ahead on:
- Reliability, 67 against 42
- Schema & documentation, 80 against 66
- Agent ergonomics, 79 against 70
- Security & auth, 80 against 59
- Payments & pricing, 40 against 15
- Transparency & trust, 65 against 54

Also in its favour:
- Agent-ready, a grade of BB or better
- Runs on your own machine
- Free to start without a card

Watch for: No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI

### Upbit Open API (C)

Good for: KRW-market trading for agents acting for a verified Korean account, with first-party SDKs, a CLI and skills but no MCP.

Watch for: No MCP server; the agent route is the CLI through skills, which need a terminal


## Why the edge

### Reliability: Kraken API +25

- 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.
- Upbit Open API (42): Read with the hosted lines. No status page found on docs.upbit.com or in llms.txt; a wallet-status endpoint and an announcements stream stand in (0). No readable incident history (5). Rate limits documented with numbers per group, per IP and per pocket, updated 7 October 2026 (15). 429 then 418 with a stated block length and a Remaining-Req header, an order-test endpoint and a self-match-prevention default; an order identifier for safe retries was not checked (12 of 15). No SLA found (0). Generally available (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.

### Payments & pricing: Kraken API +25

- Kraken API (40): No machine payment protocol (0). Maker and taker fees by tier published without login (20). Public market data, paper trading and the futures demo need no account or card (20). A person signs up, verifies and mints a key or approves the OAuth sign-in (0). 0 + 20 + 20 + 0 = 40.
- Upbit Open API (15): No machine payment protocol (0). The fee schedule is on upbit.com, which disallows every crawler path, so no price is recorded (0 of 20, unchecked). Public quotation endpoints need no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys on the PC web site (0). 0 + 0 + 15 + 0 = 15.

### Security & auth: Kraken API +21

- 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.
- Upbit Open API (59): Keys limited to chosen functions, a mandatory public IPv4 allow-list, a JWT per request with a fresh nonce, keys listed with expiry through the API, and a withdrawal safe-lock on by default (27 of 30). Read-only keys, the default withdrawal lock lifted only in the app, and skills that require a typed CONFIRM before writes (17 of 20). The API returns exchange data and announcements, no third-party content (10 of 15). An API key list endpoint; no per-call log for the operator (5 of 15). No disclosure policy, bug bounty or certification found; security.txt on upbit.com could not be fetched under its robots.txt (0 of 20). 27 + 17 + 10 + 5 + 0 = 59.

### Schema & documentation: Kraken API +14

- 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.
- Upbit Open API (66): No OpenAPI found; the reference is a readme.io site with a Markdown twin of every page (5 of 25). llms.txt on docs.upbit.com and a kr/llms.txt index (10). Each reference page states what the endpoint does, its group and its errors, with warnings such as market_offline after maintenance (14 of 20). Typed parameters with enums for order type, side and time in force and required flags (11 of 15). Recipes in Python, Java and Node.js and an error format of error.name and error.message with HTTP statuses (13 of 15). Feature versions in page histories (v1.6.1) and dated notices with effective dates, no single API version (13 of 15). 5 + 10 + 14 + 11 + 13 + 13 = 66.

### Transparency & trust: Kraken API +11

- 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.
- Upbit Open API (54): The editorial half. A closed service whose user and Open API terms could not be fetched under upbit.com's robots.txt, and whose SDK licence page calls the SDK material not open source while the repositories carry Apache-2.0 (8 of 30). The developer centre's privacy policy names Dunamu Inc., gives retention periods and names Zendesk in Japan; the main privacy policy was not read (14 of 30). Notices with effective dates, including the path-format change and the deprecated Remaining-Req min field (12 of 20). Zendesk and Google Analytics named with a location for the developer centre only (8 of 20). 8 + 14 + 12 + 8 = 42.

### Agent ergonomics: Kraken API +9

- 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.
- Upbit Open API (70): Graded on the REST API with the CLI. Candle counts, list limits and the CLI's --max-items and --transform size responses (16 of 25). Paging and filters on orders and history (15 of 20). error.name codes to branch on, which the November 2026 notice tells clients to use, and 418 with its block length (15 of 20). An order-test endpoint and a CONFIRM gate in the skills; an order identifier for idempotent placement was not checked (11 of 20). Few required parameters, SDKs in three languages and a CLI, but keys need the PC web site and a registered IP (13 of 15). 16 + 15 + 15 + 11 + 13 = 70.

## Score by category

| Category | Weight | Kraken API | Upbit Open API | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 67 | 42 | Kraken API +25 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 80 | 66 | Kraken API +14 |
| Agent ergonomics | 13% (16.2 this run) | 79 | 70 | Kraken API +9 |
| Security & auth | 14% (17.5 this run) | 80 | 59 | Kraken API +21 |
| Payments & pricing | 10% (12.5 this run) | 40 | 15 | Kraken API +25 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 81 | 83 | Upbit Open API +2 |
| Transparency & trust | 7% (8.8 this run) | 65 | 54 | Kraken API +11 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **71 · BB** | **54.7 · C** | |

## Facts side by side

| Fact | Kraken API | Upbit Open API |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Payward, Inc. | Dunamu Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio |  |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Pay per use |
| x402 | no | no |
| 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 |
| Tools exposed | 152 | 0 |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| Last release | 2026-10-29 | 2026-10-20 |
| Terms last updated | 2026-10-30 | no document linked |
| Privacy policy last updated | 2026-10-21 | no date given |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | yes | not read yet |
| Terms restrict benchmarking | yes | not read yet |
| Terms or service can change without notice | yes | not read yet |
| Arbitration or class-action waiver | yes | not read yet |
| Popularity | 795 stars | 91 stars |

## Verdicts

**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.

**Upbit Open API.** Upbit's Open API has a mandatory IP allow-list, scoped keys with a default withdrawal lock, per-group rate limits with 429 and 418 signalling, an order-test endpoint, official SDKs, a CLI and agent skills with a CONFIRM gate. There is no MCP server, sandbox or status page, and the fees and terms sit on a host our crawler may not read.

## Before you call either

### Kraken API

1. 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
2. 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
3. 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
4. Keep the nonce strictly increasing per key and stay under the tier's counter, since EAPI:Rate limit exceeded has no Retry-After header
5. Test strategies in a paper workspace, which fills at live prices with no account, before a live workspace

### Upbit Open API

1. Ask the person for a key with only the functions the task needs and your server's public IPv4 address registered; a private or unregistered IP is refused
2. Sign every request with a fresh JWT (HS512, new nonce, SHA512 query hash) and branch on error.name, not error.message
3. Run POST /v1/orders/test before a live order; it costs nothing and shares the 8-a-second order-test group
4. Read Remaining-Req and keep orders under 12 a second per pocket; on 429 wait for the next second and on 418 wait out the stated block
5. Leave the withdrawal safe-lock on unless the person lifts it in the app, and send paths with single slashes and no trailing slash before 16 November 2026

## Questions

### Which is better for AI agents, Kraken API or Upbit Open API?

Kraken API scores 71 (BB) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories.

### Do Kraken API and Upbit Open API need an API key?

Kraken API takes an API key or an OAuth sign-in. Upbit Open API needs an API key.

### Can an agent call Kraken API and Upbit Open API without installing anything?

Kraken API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Upbit Open API.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/kraken-vs-upbit.json, and with the fewest tokens: https://www.anchorterminal.com/compare/kraken-vs-upbit.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "kraken", "b": "upbit"}`. From a terminal: `anchor compare kraken upbit`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/kraken.json and https://www.anchorterminal.com/api/v1/tools/upbit.json

## Other comparisons with Kraken API or Upbit Open API

- [Bitfinex API vs Kraken API](https://www.anchorterminal.com/compare/bitfinex-vs-kraken.md)
- [Bitfinex API vs Upbit Open API](https://www.anchorterminal.com/compare/bitfinex-vs-upbit.md)
- [Bitget vs Kraken API](https://www.anchorterminal.com/compare/bitget-vs-kraken.md)
- [Bitget vs Upbit Open API](https://www.anchorterminal.com/compare/bitget-vs-upbit.md)
- [Bithumb Open API vs Kraken API](https://www.anchorterminal.com/compare/bithumb-vs-kraken.md)
- [Bithumb Open API vs Upbit Open API](https://www.anchorterminal.com/compare/bithumb-vs-upbit.md)
- [Bitstamp API vs Kraken API](https://www.anchorterminal.com/compare/bitstamp-vs-kraken.md)
- [Bitstamp API vs Upbit Open API](https://www.anchorterminal.com/compare/bitstamp-vs-upbit.md)
- [Bybit vs Kraken API](https://www.anchorterminal.com/compare/bybit-vs-kraken.md)
- [Bybit vs Upbit Open API](https://www.anchorterminal.com/compare/bybit-vs-upbit.md)
- [Crypto.com Exchange API vs Kraken API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken.md)
- [Crypto.com Exchange API vs Upbit Open API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-upbit.md)
- [Deribit vs Upbit Open API](https://www.anchorterminal.com/compare/deribit-vs-upbit.md)
- [dYdX vs Upbit Open API](https://www.anchorterminal.com/compare/dydx-vs-upbit.md)
- [Gate vs Kraken API](https://www.anchorterminal.com/compare/gate-io-vs-kraken.md)
- [Gate vs Upbit Open API](https://www.anchorterminal.com/compare/gate-io-vs-upbit.md)
- [Gemini Exchange API vs Kraken API](https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.md)
- [Gemini Exchange API vs Upbit Open API](https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.md)
- [HTX trading API vs Kraken API](https://www.anchorterminal.com/compare/htx-vs-kraken.md)
- [HTX trading API vs Upbit Open API](https://www.anchorterminal.com/compare/htx-vs-upbit.md)
- [Hyperliquid vs Upbit Open API](https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.md)
- [KuCoin vs Upbit Open API](https://www.anchorterminal.com/compare/kucoin-vs-upbit.md)
- [MEXC API vs Upbit Open API](https://www.anchorterminal.com/compare/mexc-vs-upbit.md)
- [Binance API vs Kraken API](https://www.anchorterminal.com/compare/binance-vs-kraken.md)
- [Binance API vs Upbit Open API](https://www.anchorterminal.com/compare/binance-vs-upbit.md)
- [Coinbase Advanced Trade API vs Kraken API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.md)
- [Coinbase Advanced Trade API vs Upbit Open API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.md)
- [Coinbase MCP server (Coinbase for Agents) vs Kraken API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken.md)
- [Coinbase MCP server (Coinbase for Agents) vs Upbit Open API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-upbit.md)
- [Kraken API vs KuCoin](https://www.anchorterminal.com/compare/kraken-vs-kucoin.md)
- [Kraken API vs MEXC API](https://www.anchorterminal.com/compare/kraken-vs-mexc.md)
- [Kraken API vs OKX API](https://www.anchorterminal.com/compare/kraken-vs-okx.md)
- [Kraken API vs Uniswap Trading API](https://www.anchorterminal.com/compare/kraken-vs-uniswap.md)
- [OKX API vs Upbit Open API](https://www.anchorterminal.com/compare/okx-vs-upbit.md)
- [Uniswap Trading API vs Upbit Open API](https://www.anchorterminal.com/compare/uniswap-vs-upbit.md)
- [Deribit vs Kraken API](https://www.anchorterminal.com/compare/deribit-vs-kraken.md)
- [dYdX vs Kraken API](https://www.anchorterminal.com/compare/dydx-vs-kraken.md)
- [Hyperliquid vs Kraken API](https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
