Head to head · Exchange derivatives · October 2026 research run

dYdX vs Gemini Exchange API

Gemini Exchange API scores 74.6 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments & pricing. Both do exchange derivatives.

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

Which one, for what

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 73
  • Payments & pricing, 60 against 40

Also in its favour

  • Open source

Watch for

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

Gemini Exchange API BB

Best for An agent trading spot, perpetuals or prediction markets for a US customer with a role-limited key and a sandbox to rehearse on.

Ahead on

  • Schema & documentation, 88 against 58
  • Agent ergonomics, 79 against 66
  • Maintenance & community, 88 against 83
  • Transparency & trust, 75 against 50

Also in its favour

  • Agent-ready, a grade of BB or better
  • Runs on your own machine

Watch for

Client order ids are only recommended to be unique and no duplicate rejection is documented, so a retried order can execute twice

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.

Schema & documentation Gemini Exchange API +30

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.

Gemini Exchange API 88

OpenAPI 3 for REST (specs/openapi/rest.yaml), AsyncAPI for WebSocket, a prediction-markets OpenAPI file and a specs/index.json catalogue; the MCP server's tools take zod schemas published as JSON Schema (25). llms.txt, llms-full.txt, agents.md, an agent card and an agent skills index (10). Endpoint pages state purpose, the Build an agent guide says what to establish before acting and when to stop, and MCP tool descriptions tell the model when to confirm; the docs don't say when not to use an endpoint (15 of 20). Typed inputs with enums for order types, options and sessions, required fields marked, decimals as strings since 7 July 2026 (12 of 15). Examples throughout, samples in three languages, and an error-codes page with 53 named reasons and their HTTP statuses (14 of 15). A revision history dated from 2015 to 28 October 2026 and versioned paths (v1, v2), but the upcoming-changes page reads "TBD" (12 of 15). 25 + 10 + 15 + 12 + 14 + 12 = 88.

Transparency & trust Gemini Exchange API +25

dYdX 50

The editorial half. Clients AGPL-3.0 with a terms-bound use condition, the chain under a custom licence, two terms documents (dYdX Trading Inc.'s v4 terms of 12 March 2026 and dYdX International Ltd's of 6 June 2025) that are clear about who runs nothing (22 of 30). The privacy policy of 6 June 2025 names dYdX International Ltd, keeps technical data until no longer necessary with no periods, and names no subprocessors; nothing covers the unnamed indexer operator (12 of 30). Protocol upgrades and the WebSocket compression change were posted as dated maintenance notices, deprecated rate-limit fields are marked, but no deprecation policy or notice period is stated (10 of 20). The policy says data may be processed in the EEA and elsewhere, with no subprocessor list (6 of 20). Total 50.

Gemini Exchange API 75

The editorial half. A closed service under a user agreement that names its entities by state, with the MCP server and SDKs open under Apache-2.0 (18 of 30). The privacy policy of 11 May 2026 names entities and processing countries, ties retention to need without numbers and names provider categories only, with no DPA or subprocessor list found (16 of 30). The revision history records removals and type changes with dates, but the upcoming-changes page is "TBD" and no notice period is stated (8 of 20). Processing countries are named (US, Ireland, UK, Malta, Singapore, Australia) and providers by category, with no named subprocessors (12 of 20). 18 + 16 + 8 + 12 = 54.

Payments & pricing dYdX +20

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.

Gemini Exchange API 40

No machine payment protocol (0). The API fee schedule is public per tier without login, 0.6% maker and 1.2% taker at the base tier (20). The API is free to call, public market data needs no key, and the sandbox credits test funds with no card (20). A person must sign up in a browser with identity checks, mint a key or approve an OAuth grant, and production OAuth apps wait for Gemini's review (0). 0 + 20 + 20 + 0 = 40.

Agent ergonomics Gemini Exchange API +13

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.

Gemini Exchange API 79

Graded on the REST API, with the MCP server noted. Order book depth, trade and candle counts can be limited and symbols filtered; the MCP server lists 87 tools with no toolset or read-only subset switch, so a session that loads it pays for all of them (18 of 25). Timestamps, limit_trades, since and per-symbol filters on history, pagination on prediction-market lists (16 of 20). Errors carry a reason and message an agent can branch on, such as InsufficientFunds, MarketNotOpen and MissingRole, though some messages only say to retry later (16 of 20). client_order_id is echoed back but not checked for duplicates, cancel-all-session-orders and the heartbeat limit damage; the MCP server publishes readOnlyHint and destructiveHint on every tool and gates destructive ones on confirm: true (14 of 20). Few required parameters, sensible defaults, and official TypeScript and Go SDKs (15). 18 + 16 + 16 + 14 + 15 = 79.

Reliability dYdX +10

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.

Gemini Exchange API 73

Read with the hosted lines on the REST API at api.gemini.com. status.gemini.com is a Statuspage site with component history (20). Its Atom feed for 10 September to 3 November 2026 holds 25 entries, mostly scheduled trading and FIX upgrades of 15 to 60 minutes with possible order timeouts, single-network deposit delays, and incorrect perpetual index prices for about 3.5 hours on 15 and 16 October; a 3-hour scheduled eOTC window was planned and outside the core API. Minor only (20). Rate limits with numbers, 120 a minute public and 600 private plus per-endpoint limits (15). 429 is documented but with no Retry-After or backoff guidance, and client order ids are recommended without duplicate rejection, so retries are not safe by contract; the heartbeat cancel is a safety net rather than idempotency (8 of 15). No SLA found (0). Generally available (10). 20 + 20 + 15 + 8 + 0 + 10 = 73.

Maintenance & community Gemini Exchange API +5

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.

Gemini Exchange API 88

Read as a closed hosted service with an open repository. The revision history's latest entry is 28 October 2026 and the repository was pushed on 5 October (30). Thirteen dated entries between 2 September and 28 October 2026 (20). The nine open items on the repository are all pull requests with replies, Dependabot included, and the docs name trading@gemini.com for developer support; no public issue tracker was tested (15 of 25). Not in the official MCP registry, but current official SDKs, TypeScript 0.1.1 of 23 September and Go 0.1.0 of 29 August 2026 (15). CI workflows validate and publish both SDKs and the MCP server has tests; dependencies are current (8 of 10). 30 + 20 + 15 + 15 + 8 = 88.

Score by category

CategoryWeight this rundYdXGemini Exchange APIEdge
Reliability16%208373dYdX +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.25888Gemini Exchange API +30
Agent ergonomics13%16.26679Gemini Exchange API +13
Security & auth14%17.57878even
Payments & pricing10%12.56040dYdX +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88388Gemini Exchange API +5
Transparency & trust7%8.85075Gemini Exchange API +25
Negative events≤1500
TotalB 69.5/100BB 74.6/100

Facts side by side

FactdYdXGemini Exchange API
KindHTTP APIHTTP API
VendordYdX Trading Inc.Gemini Trust Company, LLC
Hosted endpointno (local only)no (local only)
Transportsstdio
AuthOAuth or keyOAuth or key
PricingPay per usePay per use
x402nono
LicenceThe 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.Proprietary hosted API under Gemini's user agreement. The developer-platform repository (MCP server, TypeScript and Go SDKs, samples and skills) is Apache-2.0
Tools exposed087
Read-only variant documentednoyes
llms.txtyesyes
Last release2026-10-292026-10-28
Terms last updated2026-03-12couldn't be read
Privacy policy last updated2025-06-06no date given
Customer content may train modelsnot found in the textyes
Terms restrict automated accessnot found in the textcouldn't be read
Terms restrict benchmarkingnot found in the textcouldn't be read
Terms or service can change without noticeyescouldn't be read
Arbitration or class-action waiveryescouldn't be read
Popularity119 stars, 86k npm/wk8 stars, 99 npm/wk

Verdicts

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.

Gemini Exchange API

Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026.

Before you call either

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

Gemini Exchange API

  1. Create a Trader key for order flow and a separate Fund Manager key only if withdrawals are in scope; never combine them, and keep the secret out of prompts and logs
  2. Set a client_order_id per order and look it up with get_order_status before resending after a timeout, because Gemini does not reject duplicates
  3. Start on api.sandbox.gemini.com with the same code; sandbox apps register at once, production OAuth apps wait for Gemini's review
  4. Stay under 1 public and 5 private requests a second; a 429 keeps answering 429 until the rate falls, with no Retry-After to read
  5. Check the person's country against the availability page first; UK, EEA and Australian accounts were closed on 6 April 2026

Questions

Which is better for AI agents, dYdX or Gemini Exchange API?

Gemini Exchange API scores 74.6 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments & pricing.

Do dYdX and Gemini Exchange API need an API key?

Both take an API key or an OAuth sign-in.

Can an agent call dYdX and Gemini Exchange API without installing anything?

No hosted endpoint is listed for dYdX. Gemini Exchange API runs on your own machine, with no hosted endpoint listed.

Are dYdX and Gemini Exchange API open source?

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.). No open-source release is listed for Gemini Exchange API.

Other comparisons with dYdX or Gemini Exchange 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.