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

Bitfinex API vs dYdX

dYdX scores 69.5 (B) on agent readiness against Bitfinex API's 58.4 (C), and leads in 6 of 7 scored categories. 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.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

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

dYdX B

Best for An agent trading perpetuals from its own Cosmos wallet or through a permissioned key on an owner's account, outside the US, Canada and UK.

Ahead on

  • Schema & documentation, 58 against 48
  • Agent ergonomics, 66 against 61
  • Security & auth, 78 against 62
  • Payments & pricing, 60 against 40
  • Maintenance & community, 83 against 41

Also in its favour

  • Open source

Watch for

No official MCP server; the one registry entry is a third party's analytics server

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 dYdX +42

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.

dYdX 83

Read on the clients and the chain. v4-clients was pushed on 29 October 2026 and protocol v9.8.0 shipped on 12 October (30). Protocol v9.7 on 11 September, v9.8.0 on 12 October, v4-client-js tags 3.5.0 and 3.6.0, three or more in 90 days (20). A Discord, a help centre and 36 open issues on v4-clients whose replies couldn't be read (12 of 25). Official SDKs current, the TypeScript client at 3.6.0 and the Python client at 1.1.6 from February 2026 (12 of 15). CI workflows for lint, test, publish and audit, with trusted publishing and provenance on npm (9 of 10). Total 83.

Payments & pricing dYdX +20

Bitfinex API 40

No machine payment protocol (0). The fees page is public without login (20), though it shows zero maker and taker with no tiers or date. The API is free, public endpoints need no account, and paper trading needs no money (20). A person must sign up in a browser with identity checks and mint the key (0). 0 + 20 + 20 + 0 = 40.

dYdX 60

No machine payment protocol (0). Fees public per tier without login (20). Testnet with a faucet and no card anywhere (20). No signup; an agent with a funded wallet trades, subject to the geographic terms (20). Total 60.

Security & auth dYdX +16

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.

dYdX 78

Orders are signed by the account key or by a permissioned key the owner adds as an authenticator, limited by message type, subaccount and market with AllOf or AnyOf, and revoked by remove_authenticator; no shared secret and nothing in a URL (28 of 30). A key can be confined to placing and cancelling orders on one subaccount with withdrawals and transfers excluded, though not to a position or order size, and the interface's default API wallet trades all cross-margin pairs (16 of 20). The API returns no untrusted content (10). Every action is a chain transaction and the indexer lists fills, orders and transfers per subaccount, and authenticators can be listed; no per-key log (10 of 15). A Cantina bug bounty up to $1,000,000 sponsored by dYdX Trading Inc. over the protocol, indexer, web client and SDKs, an Informal Systems audit; no security.txt and no certification (14 of 20). Total 78.

Schema & documentation dYdX +10

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.

dYdX 58

No OpenAPI file found for the indexer; the docs publish a types reference of about 200 pages (OrderSide, TimeInForce, OrderStatus and the rest) and the chain's protobuf messages are in the clients (8 of 25). llms.txt and Markdown docs (10). Endpoint pages describe each call and the guides say when to use short-term against long-term orders and the indexer against the node, but descriptions are short (12 of 20). Enums and types on every field in the reference, with pagination and cursor parameters typed (11 of 15). Examples in Python, TypeScript and Rust for each step; errors are described by HTTP status (400 malformed, 404 not found) with no code list (9 of 15). A /v4 path, protocol releases dated on the status page, deprecated rate-limit fields marked, but no API changelog (8 of 15). Total 58.

Agent ergonomics dYdX +5

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.

dYdX 66

An API, read for response sizing. limit on list endpoints, candles by resolution, sparklines by period; the order book comes whole (16 of 25). limit, page on fills, transfers and funding, and height or time cursors (16 of 20). Indexer errors are a status and a sentence; order rejections come back from the chain as transaction results the clients surface (8 of 20). Unique 32-bit client IDs, goodTilBlock expiry on short-term orders, cancel by order ID; no MCP annotations apply (14 of 20). Few required fields with market parameters fetched for unit conversion, and official clients in TypeScript, Python and Rust (12 of 15). Total 66.

Score by category

CategoryWeight this runBitfinex APIdYdXEdge
Reliability16%208583Bitfinex API +2
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24858dYdX +10
Agent ergonomics13%16.26166dYdX +5
Security & auth14%17.56278dYdX +16
Payments & pricing10%12.54060dYdX +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.84183dYdX +42
Transparency & trust7%8.84950dYdX +1
Negative events≤1500
TotalC 58.4/100B 69.5/100

Facts side by side

FactBitfinex APIdYdX
KindHTTP APIHTTP API
VendoriFinex Inc.dYdX Trading Inc.
Hosted endpointno (local only)no (local only)
Transports
AuthAPI keyOAuth or key
PricingPay per usePay per use
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 clients are AGPL-3.0 with a use condition tied to the v4 Terms of Use; the chain software (dydxprotocol/v4-chain) carries a custom licence GitHub cannot classify. The hosted indexer at indexer.dydx.trade and the front end are run by third parties, not dYdX Trading Inc.
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
Last release2026-07-182026-10-29
Terms last updatedcouldn't be read2026-03-12
Privacy policy last updatedcouldn't be read2025-06-06
Customer content may train modelscouldn't be readnot found in the text
Terms restrict automated accesscouldn't be readnot found in the text
Terms restrict benchmarkingcouldn't be readnot found in the text
Terms or service can change without noticecouldn't be readyes
Arbitration or class-action waivercouldn't be readyes
Popularity480 stars119 stars, 86k 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.

dYdX

dYdX gives an agent keyless indexer reads, permissioned keys limited by message type, subaccount and market, a Statuspage with a clean 90 days, published fees and a testnet with a faucet. There is no official MCP server or OpenAPI file, orders are chain transactions signed by the clients, and no one entity operates the hosted endpoints.

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

dYdX

  1. Ask the account owner for an authenticator limited to /dydxprotocol.clob.MsgPlaceOrder and MsgCancelOrder on one subaccount, and keep its private key out of prompts
  2. Set a unique 32-bit clientId on every order and look it up on /v4/orders after a timeout; short-term orders expire with goodTilBlock (at most 20 blocks ahead)
  3. Stay under 2 stateful orders a block and 20 per 100 blocks; failed placements count, so use short-term orders for active trading
  4. Enable permessage-deflate on the indexer WebSocket; since 26 October 2026 connections without compression may be refused with 426
  5. Check /v4/geo and the compliance screen before trading for a person, since the terms exclude the United States, Canada and the United Kingdom

Questions

Which is better for AI agents, Bitfinex API or dYdX?

dYdX scores 69.5 (B) on agent readiness against Bitfinex API's 58.4 (C), and leads in 6 of 7 scored categories.

Do Bitfinex API and dYdX need an API key?

Bitfinex API needs an API key. dYdX takes an API key or an OAuth sign-in.

Can an agent call Bitfinex API and dYdX without installing anything?

No hosted endpoint is listed for Bitfinex API. No hosted endpoint is listed for dYdX.

Are Bitfinex API and dYdX open source?

No open-source release is listed for Bitfinex API. dYdX is open source (The clients are AGPL-3.0 with a use condition tied to the v4 Terms of Use; the chain software (dydxprotocol/v4-chain) carries a custom licence GitHub cannot classify. The hosted indexer at indexer.dydx.trade and the front end are run by third parties, not dYdX Trading Inc.).

Other comparisons with Bitfinex API or dYdX

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.