Head to head · Exchange market data · October 2026 research run

Bitfinex API vs 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. Both do exchange market data.

Best crypto exchange APIs and MCP servers for AI agents · All 210 exchanges comparisons

Which one, for what

Bitfinex API C

Best 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

Best 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

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

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

CategoryWeight this runBitfinex APIUniswap Trading APIEdge
Reliability16%208542Bitfinex API +43
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24890Uniswap Trading API +42
Agent ergonomics13%16.26172Uniswap Trading API +11
Security & auth14%17.56263Uniswap Trading API +1
Payments & pricing10%12.54040even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.84188Uniswap Trading API +47
Transparency & trust7%8.84955Uniswap Trading API +6
Negative events≤1500
TotalC 58.4/100B 63.3/100

Facts side by side

FactBitfinex APIUniswap Trading API
KindHTTP APIHTTP API
VendoriFinex Inc.Uniswap Labs
Hosted endpointno (local only)no (local only)
Transports
AuthAPI keyAPI key
PricingPay per useFree
x402nono
LicenceProprietary 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.0The 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 exposednone0
Read-only variant documentednono
llms.txtyesyes
Last release2026-07-182026-10-22
Terms last updatedcouldn't be readcouldn't be read
Privacy policy last updatedcouldn't be readno document linked
Customer content may train modelscouldn't be readcouldn't be read
Terms restrict automated accesscouldn't be readcouldn't be read
Terms restrict benchmarkingcouldn't be readcouldn't be read
Terms or service can change without noticecouldn't be readcouldn't be read
Arbitration or class-action waivercouldn't be readcouldn't be read
Popularity480 stars236 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.

Other comparisons with Bitfinex API or Uniswap Trading API

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.