# Bitfinex API vs Uniswap Trading API

> Uniswap Trading scores 63.3 (B) to Bitfinex's 58.4 (C) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/bitfinex-vs-uniswap
- Markdown: https://www.anchorterminal.com/compare/bitfinex-vs-uniswap.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-04

Uniswap Trading API scores 63.3 (B) 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: grade C, 58.4/100, rank #675 of 1349. Markdown https://www.anchorterminal.com/tools/bitfinex.md · JSON https://www.anchorterminal.com/api/v1/tools/bitfinex.json
- Uniswap Trading API: grade B, 63.3/100, rank #470 of 1349. Markdown https://www.anchorterminal.com/tools/uniswap.md · JSON https://www.anchorterminal.com/api/v1/tools/uniswap.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 42

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

### Uniswap Trading API (B)

Good for: An agent swapping or bridging tokens from its own wallet on 21 EVM chains, or managing liquidity positions, with routing done for it.

Ahead on:
- Schema & documentation, 90 against 48
- Agent ergonomics, 72 against 61
- Maintenance & community, 88 against 41
- Transparency & trust, 55 against 49

Also in its favour:
- Free to start without a card

Watch for: No official MCP server; the registry's Uniswap entries are third parties


## Why the edge

### Maintenance & community: Uniswap Trading API +47

- 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.
- Uniswap Trading API (88): Read as a closed hosted service. The newest changelog notice is dated 22 October 2026 (30). Notices of 20 August, 21 September and 22 October 2026, three in 90 days (20). A help form for developer support that says it won't debug integrators' code, and uniswap-ai with 6 open issues and a push on 26 October (14 of 25). Official TypeScript SDKs current (@uniswap/v4-sdk 2.4.4 with provenance) and the uniswap-ai skills, though no client for the API itself; no MCP registry entry (15). Trusted publishing with provenance on npm, CI and lint hooks on uniswap-ai (9 of 10). Total 88.

### Reliability: Bitfinex API +43

- 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.
- Uniswap Trading API (42): Read with the hosted lines on the Trading API. status.uniswap.org redirects to the swap app and the docs link no status page (0). No readable history (5). Rate limit documented as 6 requests a second per key (15). The errors page says to pause all requests from the key on 429, retry 500 and 503 with backoff and refresh quotes after 30 seconds; swaps are signed transactions, so idempotency rests on the chain nonce (12 of 15). No SLA (0). The API is generally available; Guidestar routing is a beta notice (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.

### Schema & documentation: Uniswap Trading API +42

- 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.
- Uniswap Trading API (90): OpenAPI 3.0 file (Token Trading 1.0.0) for the Trading and LP APIs, about 33 paths with `x-internal` markers on the margin and 4337 operations (25). llms.txt, llms-full.txt and a Markdown twin of every docs page (10). Operation summaries are one line, but the guides say which routing types go to `/swap`, `/order` and `/plan`, when UniswapX quotes are returned and when a 404 means change the request (14 of 20). Enums for routing types, urgency and position statuses, required fields and bounded integers such as `limit` 1 to 20 (12 of 15). Examples on every guide page and error schemas for 400, 401, 404 and 429 with a stable `errorCode` enum and per-code retry advice (14 of 15). A /v1 path, a changelog with posted and effective dates and a 30-day minimum sunset policy (15). Total 90.

### Agent ergonomics: Uniswap Trading API +11

- 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.
- Uniswap Trading API (72): An API, read for response sizing. Quotes and calldata are compact and `/tokens` takes a limit; the quote can carry the swap calldata to save a call (20 of 25). `GET /orders` and `GET /swaps` poll status by id, `/swappable_tokens` and `/tokens` filter by chain and sort, with little pagination elsewhere (12 of 20). Stable `errorCode` values with a `detail` string and a `requestId`, and the docs say which codes to retry (18 of 20). No idempotency key; a swap is a signed transaction whose nonce prevents a double spend, and the docs warn about nonce collisions with pending transactions (12 of 20). Few required fields on `/quote`, defaults for slippage and urgency, but no official client library for the API and signing needs ethers.js, viem or web3.js (10 of 15). Total 72.

### Transparency & trust: Uniswap Trading API +6

- 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.
- Uniswap Trading API (55): The editorial half. The API is closed under API Terms of Use that answered 403; the SDKs and uniswap-ai are MIT and the protocol contracts are open source (15 of 30). No privacy policy read (app.uniswap.org draws by script) and nothing in the docs on retention of quotes or wallet addresses (0 of 30). A published sunset policy of at least 30 days, ideally 60, with dated notices such as the Universal Router 2.0 and 2.1.1 sunset of 21 October 2026 (20). No subprocessors or data locations (0 of 20). Total 35.

## Score by category

| Category | Weight | Bitfinex API | Uniswap Trading API | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 85 | 42 | Bitfinex API +43 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 48 | 90 | Uniswap Trading API +42 |
| Agent ergonomics | 13% (16.2 this run) | 61 | 72 | Uniswap Trading API +11 |
| Security & auth | 14% (17.5 this run) | 62 | 63 | Uniswap Trading API +1 |
| 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 | 88 | Uniswap Trading API +47 |
| Transparency & trust | 7% (8.8 this run) | 49 | 55 | Uniswap Trading API +6 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **58.4 · C** | **63.3 · B** | |

## Facts side by side

| Fact | Bitfinex API | Uniswap Trading API |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | iFinex Inc. | Uniswap Labs |
| Hosted endpoint | no (local only) | no (local only) |
| Transports |  |  |
| Auth | API key | API key |
| Pricing | Pay per use | Free |
| 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 | The Trading API is a proprietary hosted service under Uniswap Labs' API Terms of Use, which we couldn't read; the SDKs and the uniswap-ai skills are MIT. Swaps execute on the open-source Uniswap protocol contracts on chain |
| Tools exposed | none | 0 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-07-18 | 2026-10-22 |
| Terms last updated | couldn't be read | couldn't be read |
| Privacy policy last updated | couldn't be read | no document linked |
| Customer content may train models | couldn't be read | couldn't be read |
| Terms restrict automated access | couldn't be read | couldn't be read |
| Terms restrict benchmarking | couldn't be read | couldn't be read |
| Terms or service can change without notice | couldn't be read | couldn't be read |
| Arbitration or class-action waiver | couldn't be read | couldn't be read |
| Popularity | 480 stars | 236 stars, 154k npm/wk |

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

**Uniswap Trading API.** The Trading API is free, documented by an OpenAPI file with stable error codes, holds no keys since the caller signs every swap, and posts sunset notices 30 days ahead. There is no official MCP server, status page or sandbox, the key is a plain header secret at 6 requests a second, and the API terms refused our reader.

## 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

### Uniswap Trading API

1. Call `/check_approval` first, then `/quote`; if `permitData` is non-null sign it as EIP-712 and send `signature` and `permitData` together to `/swap` or `/order`, never one without the other
2. Route on the quote's `routing`: `CLASSIC`, `WRAP`, `UNWRAP` and `BRIDGE` go to `/swap`, `DUTCH_V2`, `DUTCH_V3` and `PRIORITY` to `/order`, `CHAINED` to `/plan`
3. Refresh any quote older than 30 seconds before broadcasting, and on 429 pause every request from the key before retrying
4. Retry unchanged only on `UpstreamTimeoutError`; `NoRouteFoundError` and `QuoteAmountTooLowError` need a different amount, token or `protocols` list
5. Send `X-Agent-Info` with `decision_origin: autonomous` and keep `x-api-key` server-side

## Questions

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

Uniswap Trading API scores 63.3 (B) on agent readiness against Bitfinex API's 58.4 (C), and leads in 5 of 7 scored categories. Bitfinex API leads on reliability.

### Do Bitfinex API and Uniswap Trading API need an API key?

Both need an API key.

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

No hosted endpoint is listed for Bitfinex API. No hosted endpoint is listed for Uniswap Trading API.


## For agents

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

## Other comparisons with Bitfinex API or Uniswap Trading API

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

---

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