Head to head · Exchange market data · October 2026 research run
Bybit vs dYdX
dYdX scores 69.5 (B) on agent readiness against Bybit's 57.3 (C), and leads in 4 of 7 scored categories. Bybit leads on schema & documentation. Both do exchange market data.
Best crypto exchange APIs and MCP servers for AI agents · All 210 exchanges comparisons
Which one, for what
Bybit C
Best for An agent trading spot, perpetuals, futures and options in a person's Bybit account outside the excluded jurisdictions, with a demo environment to rehearse on.
Ahead on
- Schema & documentation, 73 against 58
Also in its favour
- Runs on your own machine
Watch for
No status page, incident history or SLA was found; the terms say the API is not guaranteed to be available
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
- Reliability, 83 against 45
- Security & auth, 78 against 60
- Payments & pricing, 60 against 40
- Maintenance & community, 83 against 66
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.
Reliability dYdX +38
Bybit 45
Graded with the hosted lines on the V5 API at api.bybit.com. No status page found (status.bybit.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per endpoint and per UID with numbers, plus a 600 per 5 second IP limit (15). Every response carries X-Bapi-Limit, X-Bapi-Limit-Status and X-Bapi-Limit-Reset-Timestamp, retCode 10006 and HTTP 403 are documented with a wait rule, and orders take a unique orderLinkId that amend and cancel accept (15). No SLA (0). V5 is the current production API, not a beta (10). 45.
dYdX 83
Read with the hosted lines on the indexer API and the chain endpoints the clients submit to. status.dydx.trade is an Atlassian Statuspage with Frontends, dYdX Chain, Indexer, Order Gateway and Client Libraries components and an RSS history (20). From 1 August to 3 November 2026 the feed has eight items, seven scheduled maintenance windows of 29 minutes to 2 hours (indexer on 9 September, 8 and 15 October, protocol v9.7 on 11 September and v9.8.0 on 12 October, WebSocket compression on 26 and 28 October) and one degraded instant-deposit path through an onboarding partner from 24 to 29 September, outside the trading API. Clean or trivial (30). Rate limits documented with numbers for the indexer, the block limits and the public nodes (15). No 429 shape or Retry-After for the indexer; short-term orders expire by goodTilBlock and client IDs let an agent find an order after a timeout (8 of 15). No SLA (0). Mainnet generally available; the Order Entry Gateway is marked testnet-only (10). 20 + 30 + 15 + 8 + 0 + 10 = 83.
Payments & pricing dYdX +20
Bybit 40
No machine payment protocol (0). The fee schedule is public without login, with VIP 0 maker and taker rates per product and the tier criteria (20). Reading market data needs no key and the demo environment costs nothing, no card is asked for at sign-up (20). A person must register, pass identity verification and mint the key in a browser (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 +18
Bybit 60
API keys scoped by product group with a readOnly flag, a separate Withdraw value, IP binding, a 90-day expiry for unbound keys, HMAC or RSA signing, and revocation on the management page; no OAuth (24 of 30). A read-only key and a withdrawal-free key are first-class, but the MCP server has no read-only mode and relies on the client's approval prompt for writes (14 of 20). Tools return the exchange's own data, not third-party text (10). The API key info endpoint shows permissions, IPs and expiry, and an IP change log exists for institutional accounts, but no per-call audit log was found (7 of 15). No security.txt on bybit.com or the docs host, no disclosure policy or bug bounty found on a page we could read, proof-of-reserves articles in the help centre (5 of 20). 60.
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.
Maintenance & community dYdX +17
Bybit 66
Read as a hosted service with an open-source MCP server. The MCP package shipped 2.1.26 on 30 October 2026 and the V5 changelog's latest entry is 29 October (30). 31 npm versions since 16 April 2026, 11 of them in the last 90 days, and 24 changelog entries in the same window (20). The trading-mcp repository has 4 open issues and 18 forks; whether issues get answers was not checked, and the API has no public forum we could read (10 of 25). Not in the official MCP registry (0). The package has four dependencies, no install scripts, a publish workflow and no test workflow (6 of 10). 66.
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.
Schema & documentation Bybit +15
Bybit 73
No OpenAPI or other machine-readable contract for the REST API; the MCP server's 398 tools have zod schemas turned into JSON Schema, so the contract exists for the MCP surface only (12 of 25). No llms.txt; the docs are a public Docusaurus repository (bybit-exchange/docs) whose MDX source an agent can read (5 of 10). The MCP tool descriptions state purpose, rules and an agent hint per tool, and the API reference gives one page per endpoint (15 of 20). Parameters are typed with enums such as category and orderType and required flags (12 of 15). Request and response examples on each endpoint page and an error code page of about 750 codes with text (14 of 15). A dated changelog with 24 entries in the last 90 days, versioned V3 to V5 (15). 73.
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.
Score by category
| Category | Weight this run | Bybit | dYdX | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 45 | 83 | dYdX +38 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 73 | 58 | Bybit +15 |
| Agent ergonomics | 13%16.2 | 66 | 66 | even |
| Security & auth | 14%17.5 | 60 | 78 | dYdX +18 |
| Payments & pricing | 10%12.5 | 40 | 60 | dYdX +20 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 66 | 83 | dYdX +17 |
| Transparency & trust | 7%8.8 | 51 | 50 | Bybit +1 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 57.3/100 | B 69.5/100 |
Facts side by side
| Fact | Bybit | dYdX |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Bybit | dYdX Trading Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio | |
| Auth | API key | OAuth or key |
| Pricing | Pay per use | Pay per use |
| x402 | no | no |
| Licence | none | 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. |
| Tools exposed | 398 | 0 |
| Read-only variant documented | yes | no |
| llms.txt | no | yes |
| Last release | 2026-10-30 | 2026-10-29 |
| Terms last updated | couldn't be read | 2026-03-12 |
| Privacy policy last updated | couldn't be read | 2025-06-06 |
| Customer content may train models | couldn't be read | not found in the text |
| Terms restrict automated access | couldn't be read | not found in the text |
| 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 | 43 stars | 119 stars, 86k npm/wk |
Verdicts
Bybit
Bybit publishes per-endpoint rate limits, a demo environment, scoped keys with a read-only flag and IP binding, and an official stdio MCP server whose 398 tools carry read-only and destructive annotations. There is no status page, no OpenAPI file, no SLA, the MCP server has no toolsets, and the global terms and privacy pages are drawn by script.
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
Bybit
- Create a key with only the permission groups the task needs, set readOnly for research keys, leave Withdraw off and bind an IP, or the key expires after 90 days
- Send a unique orderLinkId on every order and reuse it when amending or cancelling, since create-order is asynchronous and confirmed over WebSocket
- Read X-Bapi-Limit-Status before bursts and wait until X-Bapi-Limit-Reset-Timestamp on retCode 10006; on HTTP 403 stop all sessions for at least 10 minutes
- Test on api-demo.bybit.com with a demo key from the production account, not on testnet demo mode, which the docs call meaningless
- Run the MCP server with BYBIT_TESTNET=true first, and only in a client that shows a per-call approval, because the server has no read-only mode of its own
dYdX
- Ask the account owner for an authenticator limited to
/dydxprotocol.clob.MsgPlaceOrderandMsgCancelOrderon one subaccount, and keep its private key out of prompts - Set a unique 32-bit
clientIdon every order and look it up on/v4/ordersafter a timeout; short-term orders expire withgoodTilBlock(at most 20 blocks ahead) - Stay under 2 stateful orders a block and 20 per 100 blocks; failed placements count, so use short-term orders for active trading
- Enable permessage-deflate on the indexer WebSocket; since 26 October 2026 connections without compression may be refused with 426
- Check
/v4/geoand 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, Bybit or dYdX?
dYdX scores 69.5 (B) on agent readiness against Bybit's 57.3 (C), and leads in 4 of 7 scored categories. Bybit leads on schema & documentation.
Do Bybit and dYdX need an API key?
Bybit needs an API key. dYdX takes an API key or an OAuth sign-in.
Can an agent call Bybit and dYdX without installing anything?
Bybit runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for dYdX.
Are Bybit and dYdX open source?
No open-source release is listed for Bybit. 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 Bybit or dYdX
- Bitfinex API vs Bybit
- Bitfinex API vs dYdX
- Bitget vs Bybit
- Bitget vs dYdX
- Bithumb Open API vs Bybit
- Bithumb Open API vs dYdX
- Bitstamp API vs Bybit
- Bitstamp API vs dYdX
- Bybit vs Coinbase Advanced Trade API
- Bybit vs Coinbase MCP server (Coinbase for Agents)
- Bybit vs Crypto.com Exchange API
- Bybit vs Deribit
- Bybit vs Gate
- Bybit vs Gemini Exchange API
- Bybit vs HTX trading API
- Bybit vs Hyperliquid
- Bybit vs Kraken API
- Bybit vs KuCoin
- Bybit vs MEXC API
- Bybit vs OKX API
- Bybit vs Uniswap Trading API
- Bybit vs Upbit Open API
- Crypto.com Exchange API vs dYdX
- dYdX vs Uniswap Trading API
- dYdX vs Upbit Open API
- Binance API vs Bybit
- Binance API vs dYdX
- Coinbase Advanced Trade API vs dYdX
- Deribit vs dYdX
- dYdX vs Gate
- dYdX vs Gemini Exchange API
- dYdX vs HTX trading API
- dYdX vs Hyperliquid
- dYdX vs Kraken API
- dYdX vs KuCoin
- dYdX vs MEXC API
- dYdX vs OKX API
- Coinbase MCP server (Coinbase for Agents) vs dYdX
Machine-readable
- This page as Markdown
/compare/bybit-vs-dydx.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/bybit.json·/api/v1/tools/dydx.json - From a terminal
anchor compare bybit dydx(the CLI) - Over MCP
compare_tools {"a": "bybit", "b": "dydx"}at/mcp, no key