# Bitfinex API vs Kraken API (slim)

> Kraken scores 71 (BB) to Bitfinex's 58.4 (C) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/bitfinex-vs-kraken.md (~5,200 tokens) · this version ~3,030 tokens · JSON https://www.anchorterminal.com/compare/bitfinex-vs-kraken.json · canonical https://www.anchorterminal.com/compare/bitfinex-vs-kraken
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-04
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Kraken API scores 71 (BB) on agent readiness against Bitfinex API's 58.4 (C), and leads in 5 of 7 scored categories. Bitfinex API leads on reliability. Both do exchange market data.

- Bitfinex API: C 58.4, rank #677 of 1350 · https://www.anchorterminal.com/tools/bitfinex.min.md
- Kraken API: BB 71, rank #159 of 1350 · https://www.anchorterminal.com/tools/kraken.min.md
- Bitfinex API, good for An agent trading spot, margin or derivatives, or lending on the funding market, with scoped keys, official clients and paper trading. Ahead on Reliability, 85 against 67.
- Kraken API, 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 Schema & documentation, 80 against 48; Agent ergonomics, 79 against 61; Security & auth, 80 against 62; Maintenance & community, 81 against 41; Transparency & trust, 65 against 49. Also Agent-ready, a grade of BB or better; Runs on your own machine; Free to start without a card.

| Category | Bitfinex API | Kraken API |
| --- | --- | --- |
| Reliability (16%) | 85 | 67 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 48 | 80 |
| Agent ergonomics (13%) | 61 | 79 |
| Security & auth (14%) | 62 | 80 |
| Payments & pricing (10%) | 40 | 40 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 41 | 81 |
| Transparency & trust (7%) | 49 | 65 |

| Fact (where they differ) | Bitfinex API | Kraken API |
| --- | --- | --- |
| Vendor | iFinex Inc. | Payward, Inc. |
| Transports |  | stdio |
| Auth | API key | OAuth or key |
| Licence | Proprietary hosted API under Bitfinex's API Terms of Service, which our reader couldn't load. The official client libraries (Node, Python, Go, Ruby) are MIT or Apache-2.0 | Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT |
| Tools exposed | none | 152 |
| Read-only variant documented | no | yes |
| Last release | 2026-07-18 | 2026-10-29 |
| Terms last updated | couldn't be read | 2026-10-30 |
| Privacy policy last updated | couldn't be read | 2026-10-21 |
| Customer content may train models | couldn't be read | not found in the text |
| Terms restrict automated access | couldn't be read | yes |
| Terms restrict benchmarking | couldn't be read | yes |
| Terms or service can change without notice | couldn't be read | yes |
| Arbitration or class-action waiver | couldn't be read | yes |
| Popularity | 480 stars | 795 stars |

Why the edge:
- Maintenance & community, Kraken API +40: Bitfinex API 41 (Read as a closed service with open clients. The last dated change we could read is bitfinex-api-node 9.1.0 on 18 July 2026, 108 days before the check; the docs changelog stops in October 2024 (10). Not three dated releases in the last 90 days (0). The bitfinexcom organisation pushes often (bfx-report on 3 November 2026) and the clients have issue trackers, but support articles answered 403 and no reply times were read (10 of 25). Official clients current in four languages, Node 9.1.0 of July 2026 and Python 4.0.0 of October 2025; not in the MCP registry (15). The Node client has a dependency history of security fixes (its last GitHub release notes name two) and no CI was read (6 of 10). 10 + 0 + 10 + 15 + 6 = 41.); 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.)
- Schema & documentation, Kraken API +32: Bitfinex API 48 (No OpenAPI or AsyncAPI file was found on docs.bitfinex.com, in llms.txt or in the client repositories (0). llms.txt and a .md twin of every docs page (10). Each reference page states the endpoint's purpose and fields, and the introduction says when to use api-pub against api, but nothing says when not to use an endpoint (14 of 20). Responses are positional arrays described in field tables, inputs are typed in prose with some enumerations (wallet names, order types) and required fields marked; the withdrawal CODE field is work in progress (7 of 15). Signed-request recipes in five languages, but authenticated errors are documented as 400 with an empty object and there is no error reference (9 of 15). Version v2 in the path and a dated changelog, whose last entry is October 2024 and whose v1 deprecation has no date (8 of 15). 0 + 10 + 14 + 7 + 9 + 8 = 48.); 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.)
- Reliability, Bitfinex API +18: Bitfinex API 85 (Read with the hosted lines on the v2 API at api.bitfinex.com. bitfinex.statuspage.io is a Statuspage site with history back to May 2021 (20). Its feed has no entry between 25 March 2026 and 3 November 2026, so the last 90 days are clean on the record; the feed logs platform-wide outages only (a 14-hour maintenance in March 2026, a 3-hour outage in August 2025), so smaller incidents may go unrecorded. Judgement call (30). Rate limits with numbers, 10 to 90 a minute per IP and the WebSocket connection limits (15). `ERR_RATE_LIMIT` and the 60-second block are documented, with no Retry-After; orders take a `cid` but no idempotency key or retry guidance was found (10 of 15). No SLA found (0). Generally available (10). 20 + 30 + 15 + 10 + 0 + 10 = 85.); 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.)
- Agent ergonomics, Kraken API +18: Bitfinex API 61 (Graded on the REST API. Limits on trades, candles and book depth, and `pub:list` config endpoints keep responses small, but positional arrays make every field a lookup (14 of 25). `start`, `end`, `limit` and `sort` on history endpoints and per-symbol variants (16 of 20). `ERR_RATE_LIMIT` is actionable; authenticated 400s return `{}` and withdrawal status strings may change, so an agent cannot branch on causes (8 of 20). A client id on orders, order multi-op and cancel-multiple, but no idempotency key and no retry contract (8 of 20). Few required parameters and official clients in Node, Python, Go and Ruby (15). 14 + 16 + 8 + 8 + 15 = 61.); 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.)
- Security & auth, Kraken API +18: Bitfinex API 62 (Revocable keys with per-scope read and write flags, a permissions endpoint, 2FA and email confirmation at creation, strictly increasing nonces, and IP binding to 20 addresses per the support article's search text (the article answered 403); no key expiry (24 of 30). `withdraw` and `ui_withdraw` are separate scopes and read-only keys are possible, but the support text says keys from email-and-password accounts start with every permission enabled and no confirmation step is documented for API withdrawals (14 of 20). The API returns exchange data, not third-party text (10). Login history and an account changelog (audit) endpoint are documented (10 of 15). No security.txt, no readable disclosure policy and no certification page readable (4 of 20). 24 + 14 + 10 + 10 + 4 = 62.); 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.)
- Transparency & trust, Kraken API +16: Bitfinex API 49 (The editorial half. A closed service whose Exchange Terms and API Terms of Service loaded only navigation, so the licence terms are unknown; the clients are MIT and Apache-2.0 (8 of 30). The privacy statement loaded only navigation, so retention and data handling are unchecked (0 of 30). The docs say v1 will be deprecated "at some point in the future" with no date, and the Python client's 4.0.0 removed endpoints with a release note (5 of 20). Subprocessors and data locations are in the unread privacy statement (0). 8 + 0 + 5 + 0 = 13.); 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.)
