# Bitfinex API vs Bitget

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

- Canonical: https://www.anchorterminal.com/compare/bitfinex-vs-bitget
- Markdown: https://www.anchorterminal.com/compare/bitfinex-vs-bitget.md (~4,750 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

Bitfinex API scores 58.4 (C) on agent readiness against Bitget's 53.9 (D), and leads in 1 of 7 scored categories. Bitget leads on schema & documentation, agent ergonomics, maintenance & community and transparency & trust. Both do exchange market data.

- Bitfinex API: grade C, 58.4/100, rank #687 of 1349. Markdown https://www.anchorterminal.com/tools/bitfinex.md · JSON https://www.anchorterminal.com/api/v1/tools/bitfinex.json
- Bitget: grade D, 53.9/100, rank #890 of 1349. Markdown https://www.anchorterminal.com/tools/bitget.md · JSON https://www.anchorterminal.com/api/v1/tools/bitget.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

### Bitfinex API (C)

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 40

Also in its favour:
- No incidents deducted, where Bitget loses 8 points for them

Watch for: No official MCP server, OpenAPI file or AsyncAPI file; the registry's Bitfinex servers are third parties proxying public market data

### Bitget (D)

Good for: An agent trading spot, futures and earn products in a person's Bitget account outside the prohibited list, with the smallest default MCP surface of the exchanges graded and a paper-trading switch.

Ahead on:
- Schema & documentation, 74 against 48
- Agent ergonomics, 83 against 61
- Maintenance & community, 78 against 41
- Transparency & trust, 65 against 49

Also in its favour:
- Runs on your own machine

Watch for: Hot and warm wallets lost about 388 million dollars on 24 September 2026 to forged withdrawal commands, and withdrawals were paused until 2 October


## Why the edge

### Reliability: Bitfinex API +45

- 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.
- Bitget (40): Graded with the hosted lines on the UTA v3 API at api.bitget.com. No status page found (status.bitget.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history; the September 2026 breach is in the deduction, not here. Rate limits are published as 6,000 per IP per minute and per-endpoint UID limits by VIP level (15). An x-mbx-used-remain-limit header is documented and the agent SDK backs off on 429, orders take a clientOid of up to 64 characters, but the breach error code and a Retry-After rule were not read (10 of 15). No SLA (0). UTA v3 is the production API (10). 40.

### Maintenance & community: Bitget +37

- 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.
- Bitget (78): Read as a hosted service with an open-source toolkit. The UTA changelog's latest launched entry is 30 October 2026 and a preview entry 3 November; the MCP package shipped 3.3.1 on 20 September and agent-skill was pushed 30 October (30). 58 dated changelog entries since 5 August 2026 and six MCP versions since June (20). Issue trackers on the Bitget-AI repositories (11 open on agent_hub) and a support centre; replies were not checked (10 of 25). In the official MCP registry under io.github.Bitget-AI, a GitHub namespace, with official SDKs in five languages (10 of 15). CI workflow with coverage, npm provenance attestations, two runtime dependencies, no install scripts (8 of 10). 78.

### Schema & documentation: Bitget +26

- 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.
- Bitget (74): The agent SDK ships openapi.yaml with 109 typed UTA v3 operations from which the tools are generated, a machine-readable contract from the vendor's own organisation though not on the docs site (20 of 25). llms.txt in the SDK and MCP repositories; the docs site has none (6 of 10). Intent tools with a discover tool that explains each verb, action and its risk level, and the server's initialize instructions state surface, modules and read-only posture (15 of 20). Typed inputs with enums and required fields from the OpenAPI source (12 of 15). Examples in the quick start and READMEs, a REST error code page in the legacy docs that we did not read in full (9 of 15). Changelog by day with preview notices and effective dates (12 of 15). 74.

### Agent ergonomics: Bitget +22

- 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.
- Bitget (83): Read for the API with the MCP server as the agent route. 14 compact tools by default, module filters, a full surface on request and progressive discovery (25). Cursor pagination on CFD order history since 15 October 2026 and limit parameters on lists (15 of 20). Uniform ok or error result shape from the SDK with typed error classes and compact JSON in the text channel (13 of 20). clientOid on orders, `dryRun: true` on every write, `confirm: true` gating cancelAll and withdraw, annotations derived from risk level including readOnlyHint, destructiveHint and idempotentHint (18 of 20). Few required fields, official SDKs in five languages plus the TypeScript agent SDK and a CLI (12 of 15). 83.

### Transparency & trust: Bitget +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.
- Bitget (65): The editorial half. A closed hosted service with clear terms naming BTG Technology Holdings Limited; the toolkit is MIT (15 of 30). The privacy notice names the controller and EEA representative, gives 7-year and up to 10-year retention for compliance and litigation, and names recipients by category only (18 of 30). Deprecations and parameter changes carry effective dates (delta mode deprecated 27 August, symbol and category required from 30 September, snapshot changes with demo and live dates) but no written policy (15 of 20). Recipients by category, transfers under Seychelles law with no locations or provider names (5 of 20). 53.

## Score by category

| Category | Weight | Bitfinex API | Bitget | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 85 | 40 | Bitfinex API +45 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 48 | 74 | Bitget +26 |
| Agent ergonomics | 13% (16.2 this run) | 61 | 83 | Bitget +22 |
| Security & auth | 14% (17.5 this run) | 62 | 62 | even |
| Payments & pricing | 10% (12.5 this run) | 40 | 40 | even |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 41 | 78 | Bitget +37 |
| Transparency & trust | 7% (8.8 this run) | 49 | 65 | Bitget +16 |
| Negative events | ≤15 | 0 | -8 | |
| **Total** | | **58.4 · C** | **53.9 · D** | |

## Facts side by side

| Fact | Bitfinex API | Bitget |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | iFinex Inc. | BTG Technology Holdings Limited |
| Hosted endpoint | no (local only) | no (local only) |
| Transports |  | stdio |
| Auth | API key | API key |
| Pricing | Pay per use | Pay per use |
| x402 | no | no |
| 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 | none |
| Tools exposed | none | 14 |
| Read-only variant documented | no | yes |
| llms.txt | yes | no |
| MCP registry | not listed | `io.github.Bitget-AI/bitget-agent-mcp` |
| Last release | 2026-07-18 | 2026-10-30 |
| Terms last updated | couldn't be read | 2026-10-20 |
| Privacy policy last updated | couldn't be read | 2025-12-05 |
| 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 | not found in the text |
| 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 | 234 stars |

## Verdicts

**Bitfinex API.** Bitfinex gives an agent scoped keys with a separate withdraw permission, paper-trading sub-accounts on the production API, llms.txt and official clients in four languages. There is no official MCP server, responses are positional arrays with empty error bodies, rate limits run 10 to 90 a minute per IP, and the terms, API terms and privacy statement could not be read.

**Bitget.** Bitget's official MCP server keeps the default surface to 14 intent tools with discovery, read-only and paper-trading switches, dry runs and a confirmation gate on withdrawals, over an API with demo trading. A 388 million dollar wallet breach in September 2026 paused withdrawals for eight days, and there is no status page, SLA or readable fee table.

## Before you call either

### Bitfinex API

1. Mint a key with read on the scopes the task needs and write only on `orders`; never grant `withdraw` to a trading key, and bind the key to known IPs
2. Use one key per client process, since each key keeps its own strictly increasing nonce and a reused nonce is rejected
3. Rehearse on a paper-trading sub-account with the TEST symbols before touching real balances; the sub-account cannot be converted later
4. Plan requests against the per-endpoint limit of 10 to 90 a minute per IP; `ERR_RATE_LIMIT` blocks the IP for 60 seconds with no Retry-After
5. Map each response by position from the docs' field tables and set a `cid` on orders, because responses are arrays and a 400 carries no reason

### Bitget

1. Run `npx -y @bitget-ai/bitget-agent-mcp --read-only` for research and `--paper-trading` with a demo key before any live order; the two flags cannot be combined
2. Call discover({}) first, then the intent verbs; add `dryRun: true` to any write to preview it, and pass `confirm: true` only after the person has agreed to a withdraw or cancelAll
3. Send a unique clientOid of at most 64 characters on every order and reuse it on retry; orderId wins when both are sent
4. Stay under 10 requests a second per endpoint on a new account and 6,000 a minute per IP; the SDK retries on 429, so do not add a second retry loop
5. Bind the key to an IP and keep write permission off a research key; the docs read show no separate withdrawal scope

## Questions

### Which is better for AI agents, Bitfinex API or Bitget?

Bitfinex API scores 58.4 (C) on agent readiness against Bitget's 53.9 (D), and leads in 1 of 7 scored categories. Bitget leads on schema & documentation, agent ergonomics, maintenance & community and transparency & trust.

### Do Bitfinex API and Bitget need an API key?

Both need an API key.

### Can an agent call Bitfinex API and Bitget without installing anything?

No hosted endpoint is listed for Bitfinex API. Bitget runs on your own machine, with no hosted endpoint listed.


## For agents

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

## Other comparisons with Bitfinex API or Bitget

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

---

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