{
  "data": {
    "a": {
      "slug": "dydx",
      "name": "dYdX",
      "vendor": "dYdX Trading Inc.",
      "vendorUrl": "https://www.dydx.xyz",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "dYdX is a perpetuals exchange on its own Cosmos chain. Agents read markets and accounts from the indexer REST and WebSocket API at indexer.dydx.trade and place orders as signed chain transactions through the official TypeScript, Python and Rust clients.",
      "url": "https://www.anchorterminal.com/tools/dydx",
      "markdownUrl": "https://www.anchorterminal.com/tools/dydx.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/dydx.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/dydx.json",
      "dns": "dydx.grade.anchorterminal.com",
      "repo": "https://github.com/dydxprotocol/v4-clients",
      "license": "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.",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@dydxprotocol/v4-client-js"
        },
        {
          "registry": "pypi",
          "name": "dydx-v4-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "Indexer reads need no credential. Orders, cancels and transfers are chain messages signed with the account's key (a mnemonic or private key in the clients). Permissioned keys let an owner add an authenticator that lets another key act within limits, composed from SignatureVerification, MessageFilter (for example only /dydxprotocol.clob.MsgPlaceOrder), SubaccountFilter and ClobPairIdFilter under AllOf or AnyOf, and removed with remove_authenticator. The dydx.trade interface generates an API wallet with default permission to trade all cross-margin pairs and shows its private key once (https://docs.dydx.xyz/concepts/trading/authenticators, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The indexer and clients have no charge. Trading fees at the lowest tier (under $1 million of 30-day volume) are 5.0 bps taker and 1.0 bps maker, set by governance, uniform across markets, with gas on each transaction; fees flow to validators and stakers (https://docs.dydx.xyz/concepts/trading/rewards, checked 2026-11-03).",
      "priceSummary": "0.05% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or clients (checked 2026-11-03). Accounts are funded with USDC through Noble or an onboarding partner.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 119,
        "npmWeekly": 86394,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.dydx.xyz/",
      "llmsTxt": "https://docs.dydx.xyz/llms.txt",
      "capabilities": [
        "exchange.derivatives",
        "exchange.market-data",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto",
        "wallet.onchain"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "llms-txt",
        "typescript",
        "python",
        "rust",
        "sandbox",
        "usage-priced",
        "status-page",
        "bug-bounty",
        "no-key",
        "rest"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 222,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 60,
          "reliability": 83,
          "schema": 58,
          "security": 78,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Permissioned keys limit a delegated key to chosen message types, subaccounts and markets, exclude withdrawals and transfers, and are removed with `remove_authenticator`",
          "status.dydx.trade lists Indexer, Chain, Order Gateway and Client Libraries components, with only maintenance windows and one partner deposit delay in the last 90 days",
          "Fees public at 5.0 bps taker and 1.0 bps maker at the lowest tier, with rate limits and block limits stated with numbers",
          "Official TypeScript, Python and Rust clients with CI and trusted publishing, and a testnet with a faucet",
          "A Cantina bug bounty up to $1,000,000 sponsored by dYdX Trading Inc. covering the protocol, indexer, web client and client SDKs"
        ],
        "weaknesses": [
          "No official MCP server; the one registry entry is a third party's analytics server",
          "No OpenAPI file for the indexer; error responses are described by HTTP status only, and chain rejections surface as transaction results",
          "No 429 handling or Retry-After documented for the indexer; permissioned keys cannot cap position or order size",
          "The hosted indexer and front end are run by unnamed third parties; dYdX Trading Inc. says it runs none of the components",
          "Restricted to persons outside the United States, Canada and the United Kingdom, with geo-blocking left to each integrator"
        ],
        "agentNotes": [
          "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",
          "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)",
          "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/geo` and the compliance screen before trading for a person, since the terms exclude the United States, Canada and the United Kingdom"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 60,
          "reliability": 83,
          "schema": 58,
          "security": 78,
          "transparency": 50
        },
        "provenanceScore": 50,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @dydxprotocol/v4-client-js",
        "http": "curl https://indexer.dydx.trade/v4/orderbooks/perpetualMarket/ETH-USD"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.derivatives",
        "tool": "https://letme.dev/dydx"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Taker fee, tier 1",
          "unit": "pct",
          "usd": 0.05,
          "note": "5.0 bps of notional; maker 1.0 bps"
        }
      ],
      "provenance": {
        "legalEntity": "dYdX Trading Inc.",
        "domain": "dydx.xyz",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://dydx.exchange/v4-terms",
        "privacy": "https://www.dydx.xyz/legal/privacy-policy",
        "statusPage": "https://status.dydx.trade",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "dYdX Trading Inc. is the entity in the v4 Terms of Use (last updated 12 March 2026), the clients' licence and the Cantina bug bounty. dydx.xyz's terms and privacy policy (6 June 2025) name dYdX International Ltd, Cayman Islands, and its footer reads dYdX International Ltd.",
          "The indexer at indexer.dydx.trade is not on dydx.xyz and the docs say dYdX Trading Inc. runs none of the hosted components, so the endpoint is recorded as off the vendor's domain.",
          "RDAP for dydx.trade answered 404 at the Identity Digital and rdap.org services, so the domain age is unchecked; the vendor domain dydx.xyz was not queried.",
          "status.dydx.trade is an Atlassian Statuspage with five components and an RSS history; its robots.txt disallows /api/ and /embed/, so the history was read from /history.rss.",
          "https://dydx.trade/.well-known/security.txt answered the app's HTML page, so security.txt is unknown. No API changelog; protocol upgrades appear as status maintenance entries."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/dydx.json",
      "live": {
        "slug": "dydx",
        "vendorStatus": {
          "page": "https://status.dydx.trade",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:07.222922929Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "dydxprotocol/v4-clients",
            "version": "v4-client-js@3.4.0",
            "released": "2025-12-17",
            "seenAt": "2026-11-04T20:13:31.787772276Z"
          },
          {
            "registry": "npm",
            "name": "@dydxprotocol/v4-client-js",
            "version": "3.6.0",
            "seenAt": "2026-11-04T20:13:31.051904709Z"
          },
          {
            "registry": "pypi",
            "name": "dydx-v4-client",
            "version": "1.1.6",
            "released": "2026-02-12",
            "seenAt": "2026-11-04T20:13:31.571685567Z"
          }
        ],
        "githubStars": 119,
        "npmWeekly": 75463,
        "pypiWeekly": 707,
        "securityTxt": {
          "url": "https://dydx.xyz/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:03.349495473Z"
        },
        "updatedAt": "2026-11-04T20:39:07.222922929Z"
      }
    },
    "answer": "dYdX scores 69.5 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "kucoin",
      "name": "KuCoin",
      "vendor": "KuCoin",
      "vendorUrl": "https://www.kucoin.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "KuCoin is a centralised crypto exchange for spot, margin and futures trading and earn products, reached through its REST and WebSocket API with a unified trading account, an official multi-language SDK and read-only agent skills. It runs no MCP server.",
      "url": "https://www.anchorterminal.com/tools/kucoin",
      "markdownUrl": "https://www.anchorterminal.com/tools/kucoin.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kucoin.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kucoin.json",
      "dns": "kucoin.grade.anchorterminal.com",
      "repo": "https://github.com/Kucoin/kucoin-universal-sdk",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key, secret and user-set passphrase minted under API Management after a browser sign-up and identity verification, with KC-API-KEY, KC-API-SIGN (HMAC-SHA256 over timestamp, method, path and body, Base64), KC-API-TIMESTAMP, KC-API-PASSPHRASE (the passphrase signed with the secret) and KC-API-KEY-VERSION headers. Permissions are General (read-only), Spot, Margin, Futures, Earn, Withdrawal, FlexTransfers, LeadtradeFutures and Unified; Withdrawal and FlexTransfers need an IP allow-list, and a key with trading permissions and no IP bound has trading disabled or is deleted after 30 days of inactivity. General-only keys do not expire (https://www.kucoin.com/docs-new/authentication, https://www.kucoin.com/docs-new/ and https://www.kucoin.com/support/360015102174, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing; trades carry KuCoin's fees. Spot fee levels are set against a base of 0.1 per cent maker and 0.1 per cent taker at LV0, with some pairs priced differently and a 20 per cent discount when fees are paid in KCS. The futures LV0 rate (0.02 per cent maker and 0.06 per cent taker per a KuCoin blog post) sits in an image on the support page and was not read first-hand. The fee page itself loads its table by script (https://www.kucoin.com/support/360015188494 and https://www.kucoin.com/en-eu/support/360015207133, checked 2026-11-03).",
      "priceSummary": "0.1% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the skills hub or the fee pages (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.kucoin.com/docs-new/",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "usage-priced",
        "no-status-page",
        "agent-skills",
        "python",
        "typescript",
        "go",
        "java",
        "php"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.9,
        "grade": "D",
        "agentReady": false,
        "rank": 824,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 62,
          "maintenance": 73,
          "payments": 35,
          "reliability": 45,
          "schema": 60,
          "security": 55,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.",
        "bestFor": "An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.",
        "strengths": [
          "Rate limits published per VIP level with per-endpoint weights and gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset headers, 429000 on breach",
          "API key permissions split into General, Spot, Margin, Futures, Earn, Withdrawal, FlexTransfers and Unified, with Withdrawal and FlexTransfers requiring an IP allow-list",
          "Official kucoin-universal-sdk for Go, Python, Node.js, PHP and Java, MIT, pushed September 2026",
          "Unified Trading Account API V2 with a dated changelog and unified six-digit error codes",
          "Seven read-only agent skills in a KuCoin-published repository, installable with the skills CLI"
        ],
        "weaknesses": [
          "No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package",
          "No sandbox or testnet; the legacy sandbox is offline and the docs point to mocking",
          "No status page, incident history or SLA found",
          "No OpenAPI file or llms.txt; the SDK page links a Postman workspace instead",
          "Terms name no company and fix the Turks and Caicos Islands as the deemed place of every transaction; the privacy policy names only KuCoin"
        ],
        "agentNotes": [
          "Mint a key with General only for research; add Spot or Futures only with an IP allow-list, since unbound trading keys are disabled after 30 days of inactivity",
          "Send a UUID clientOid on every order and keep it for the retry, and read the order back by clientOid before placing again",
          "Budget requests by weight against gw-ratelimit-remaining and sleep for gw-ratelimit-reset milliseconds on 429000; sub-accounts share the pool",
          "There is no sandbox, so rehearse with the smallest order size on a dedicated sub-account",
          "Use the UTA V2 endpoints and hosts; the Classic API loses endpoints without notice, as the margin credit endpoints did on 21 October 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.9
          }
        ],
        "editorialScores": {
          "ergonomics": 62,
          "maintenance": 73,
          "payments": 35,
          "reliability": 45,
          "schema": 60,
          "security": 55,
          "transparency": 52
        },
        "provenanceScore": 55,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/kucoin"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, LV0 maker or taker",
          "unit": "pct",
          "usd": 0.1,
          "note": "base rate; some pairs differ, 20 per cent off in KCS"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "kucoin.com",
        "domainRegistered": "2013-11-13",
        "endpointOnVendorDomain": true,
        "terms": "https://www.kucoin.com/support/47185419968079",
        "privacy": "https://www.kucoin.com/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.kucoin.com/docs-new/change-log",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms (last updated 29 October 2026) name no company; they deem all activity to occur in the Turks and Caicos Islands under its law with SIAC arbitration. /legal/terms-of-use is a shell page that links the support article recorded here. The privacy policy (dated 10/05/2026 in an ambiguous format) names KuCoin as controller with no company name.",
          "www.kucoin.com/robots.txt disallows assets, order and account paths only; docs-new and support pages are allowed.",
          "RDAP gives kucoin.com a registration date of 13 November 2013 (Amazon Registrar).",
          "https://www.kucoin.com/.well-known/security.txt answers 404. No status page found; status.kucoin.com does not resolve and the docs link none.",
          "The docs changelog is dated by day; its newest entry is dated 6 November 2026, three days ahead of the check, and the newest past entry 2 November 2026."
        ],
        "score": 55
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kucoin.json",
      "live": {
        "slug": "kucoin",
        "versions": [
          {
            "registry": "github",
            "name": "Kucoin/kucoin-universal-sdk",
            "version": "v1.3.1",
            "released": "2026-05-29",
            "seenAt": "2026-11-04T20:29:03.487838607Z"
          }
        ],
        "githubStars": 55,
        "securityTxt": {
          "url": "https://kucoin.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:04.738329571Z"
        },
        "updatedAt": "2026-11-04T20:29:03.487838607Z"
      }
    },
    "edges": [
      {
        "by": 38,
        "category": "reliability",
        "leads": "dydx",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Graded with the hosted lines on the API at api.kucoin.com. No status page found (status.kucoin.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per VIP level with per-endpoint weights and IP limits for public endpoints (15). Every response carries gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset, 429000 is documented with a wait rule, and orders take a clientOid the docs recommend as a UUID (15). No SLA (0). The UTA V2 API is the production surface (10). 45."
        },
        "scores": {
          "a": 83,
          "b": 45
        }
      },
      {
        "by": 25,
        "category": "payments",
        "leads": "dydx",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No machine payment protocol (0). The spot base fee is stated in support articles without login, the futures base rate and the full tier table sit in images or behind script (15 of 20). Market data needs no key, no card is asked for at sign-up (20). A person registers, verifies identity and mints the key in a browser (0). 35."
        },
        "scores": {
          "a": 60,
          "b": 35
        }
      },
      {
        "by": 23,
        "category": "security",
        "leads": "dydx",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "API key with a user-set passphrase, HMAC-SHA256 signing, nine permission groups, IP allow-lists required for Withdrawal and FlexTransfers, trading keys without an IP disabled after 30 days of inactivity, revocation on the management page; no OAuth and no expiry on General keys (24 of 30). A General-only key is a true read-only mode and withdrawals are a separate permission; no confirmation step for writes beyond the key scope (12 of 20). Tools return the exchange's own data (10). The API key info endpoint shows permissions and IP lists; no per-call audit log was found (5 of 15). No security.txt, no disclosure policy or bounty on a page we could read, a whistleblower notice on the legal page (4 of 20). 55."
        },
        "scores": {
          "a": 78,
          "b": 55
        }
      },
      {
        "by": 10,
        "category": "maintenance",
        "leads": "dydx",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "Read as a closed hosted service. The changelog's newest past entry is 2 November 2026 and the universal SDK was pushed 15 September (30). Nine dated changelog entries since 5 August 2026 (20). A Telegram API group (t.me/KuCoin_API) and api@kucoin.com for limit requests, no public issue tracker for the API; the SDK repository's issues were not checked (10 of 25). Official SDKs current in five languages, no MCP registry presence (13 of 15). No package health signal checked (0 of 10). 73."
        },
        "scores": {
          "a": 83,
          "b": 73
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "dYdX Trading Inc.",
        "b": "KuCoin",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "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.",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "2026-03-12",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2025-06-06",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "119 stars, 86k npm/wk",
        "b": "55 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "dYdX scores 69.5 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, dYdX or KuCoin?"
      },
      {
        "answer": "dYdX takes an API key or an OAuth sign-in. KuCoin needs an API key.",
        "question": "Do dYdX and KuCoin need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for dYdX. No hosted endpoint is listed for KuCoin.",
        "question": "Can an agent call dYdX and KuCoin without installing anything?"
      },
      {
        "answer": "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 KuCoin.",
        "question": "Are dYdX and KuCoin open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 45",
          "Security \u0026 auth, 78 against 55",
          "Payments \u0026 pricing, 60 against 35",
          "Maintenance \u0026 community, 83 against 73"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "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.",
        "slug": "dydx",
        "watchFor": "No official MCP server; the one registry entry is a third party's analytics server"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.",
        "slug": "kucoin",
        "watchFor": "No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.derivatives",
      "name": "Exchange derivatives"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-dydx.json",
        "title": "Bitfinex API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.json",
        "title": "Bitfinex API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-dydx.json",
        "title": "Bitget vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-kucoin.json",
        "title": "Bitget vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-dydx.json",
        "title": "Bithumb Open API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin.json",
        "title": "Bithumb Open API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-dydx.json",
        "title": "Bitstamp API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-kucoin.json",
        "title": "Bitstamp API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-dydx.json",
        "title": "Bybit vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-kucoin.json",
        "title": "Bybit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-dydx.json",
        "title": "Crypto.com Exchange API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin.json",
        "title": "Crypto.com Exchange API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-uniswap.json",
        "title": "dYdX vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-upbit.json",
        "title": "dYdX vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin.json",
        "title": "Gate vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin.json",
        "title": "Gemini Exchange API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-kucoin.json",
        "title": "HTX trading API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-mexc.json",
        "title": "KuCoin vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-okx.json",
        "title": "KuCoin vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap.json",
        "title": "KuCoin vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-upbit.json",
        "title": "KuCoin vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-kucoin.json",
        "title": "Binance API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/binance-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.json",
        "title": "Coinbase Advanced Trade API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kucoin.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-kucoin.json",
        "title": "Kraken API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-dydx.json",
        "title": "Binance API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/binance-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx.json",
        "title": "Coinbase Advanced Trade API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-dydx.json",
        "title": "Deribit vs dYdX",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-kucoin.json",
        "title": "Deribit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-gate-io.json",
        "title": "dYdX vs Gate",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.json",
        "title": "dYdX vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-htx.json",
        "title": "dYdX vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.json",
        "title": "dYdX vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-kraken.json",
        "title": "dYdX vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-mexc.json",
        "title": "dYdX vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-okx.json",
        "title": "dYdX vs OKX API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.json",
        "title": "Hyperliquid vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-dydx.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs dYdX",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-dydx"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 38,
        "dydx": 83,
        "edge": "dydx",
        "key": "reliability",
        "kucoin": 45,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "dydx": 58,
        "edge": "kucoin",
        "key": "schema",
        "kucoin": 60,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 4,
        "dydx": 66,
        "edge": "dydx",
        "key": "ergonomics",
        "kucoin": 62,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 23,
        "dydx": 78,
        "edge": "dydx",
        "key": "security",
        "kucoin": 55,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 25,
        "dydx": 60,
        "edge": "dydx",
        "key": "payments",
        "kucoin": 35,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "dydx": 83,
        "edge": "dydx",
        "key": "maintenance",
        "kucoin": 73,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 4,
        "dydx": 50,
        "edge": "kucoin",
        "key": "transparency",
        "kucoin": 54,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "dYdX scores 69.5 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 5 of 7 scored categories. Both do exchange derivatives.",
    "tasks": null,
    "tutorials": [],
    "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.",
      "kucoin": "KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/dydx-vs-kucoin",
    "json": "https://www.anchorterminal.com/compare/dydx-vs-kucoin.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/dydx-vs-kucoin.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/dydx-vs-kucoin.min.md"
  },
  "markdown": "dYdX scores 69.5 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 5 of 7 scored categories. Both do exchange derivatives.\n\n- dYdX: grade B, 69.5/100, rank #222 of 1349. Markdown https://www.anchorterminal.com/tools/dydx.md · JSON https://www.anchorterminal.com/api/v1/tools/dydx.json\n- KuCoin: grade D, 53.9/100, rank #824 of 1349. Markdown https://www.anchorterminal.com/tools/kucoin.md · JSON https://www.anchorterminal.com/api/v1/tools/kucoin.json\n- Best crypto exchange APIs and MCP servers for AI agents: https://www.anchorterminal.com/best/crypto-exchanges/index.md\n- All 210 exchanges comparisons: https://www.anchorterminal.com/compare/crypto-exchanges/index.md\n\n## Which one, for what\n\n### dYdX (B)\n\nGood 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.\n\nAhead on:\n- Reliability, 83 against 45\n- Security \u0026 auth, 78 against 55\n- Payments \u0026 pricing, 60 against 35\n- Maintenance \u0026 community, 83 against 73\n\nAlso in its favour:\n- Open source\n\nWatch for: No official MCP server; the one registry entry is a third party's analytics server\n\n### KuCoin (D)\n\nGood for: An agent trading spot, margin and futures in a person's KuCoin account outside the restricted list, with no sandbox and no MCP server, so through the SDK or raw REST.\n\nWatch for: No official MCP server; the registry's `kucoin` entry is a third party's keyless market-data package\n\n\n## Why the edge\n\n### Reliability: dYdX +38\n\n- 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.\n- KuCoin (45): Graded with the hosted lines on the API at api.kucoin.com. No status page found (status.kucoin.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per VIP level with per-endpoint weights and IP limits for public endpoints (15). Every response carries gw-ratelimit-limit, gw-ratelimit-remaining and gw-ratelimit-reset, 429000 is documented with a wait rule, and orders take a clientOid the docs recommend as a UUID (15). No SLA (0). The UTA V2 API is the production surface (10). 45.\n\n### Payments \u0026 pricing: dYdX +25\n\n- 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.\n- KuCoin (35): No machine payment protocol (0). The spot base fee is stated in support articles without login, the futures base rate and the full tier table sit in images or behind script (15 of 20). Market data needs no key, no card is asked for at sign-up (20). A person registers, verifies identity and mints the key in a browser (0). 35.\n\n### Security \u0026 auth: dYdX +23\n\n- 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.\n- KuCoin (55): API key with a user-set passphrase, HMAC-SHA256 signing, nine permission groups, IP allow-lists required for Withdrawal and FlexTransfers, trading keys without an IP disabled after 30 days of inactivity, revocation on the management page; no OAuth and no expiry on General keys (24 of 30). A General-only key is a true read-only mode and withdrawals are a separate permission; no confirmation step for writes beyond the key scope (12 of 20). Tools return the exchange's own data (10). The API key info endpoint shows permissions and IP lists; no per-call audit log was found (5 of 15). No security.txt, no disclosure policy or bounty on a page we could read, a whistleblower notice on the legal page (4 of 20). 55.\n\n### Maintenance \u0026 community: dYdX +10\n\n- 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.\n- KuCoin (73): Read as a closed hosted service. The changelog's newest past entry is 2 November 2026 and the universal SDK was pushed 15 September (30). Nine dated changelog entries since 5 August 2026 (20). A Telegram API group (t.me/KuCoin_API) and api@kucoin.com for limit requests, no public issue tracker for the API; the SDK repository's issues were not checked (10 of 25). Official SDKs current in five languages, no MCP registry presence (13 of 15). No package health signal checked (0 of 10). 73.\n\n## Score by category\n\n| Category | Weight | dYdX | KuCoin | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 45 | dYdX +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 60 | KuCoin +2 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 62 | dYdX +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 55 | dYdX +23 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 35 | dYdX +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 73 | dYdX +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 54 | KuCoin +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.5 · B** | **53.9 · D** | |\n\n## Facts side by side\n\n| Fact | dYdX | KuCoin |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | dYdX Trading Inc. | KuCoin |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | 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. | none |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| Last release | 2026-10-29 | 2026-11-02 |\n| Terms last updated | 2026-03-12 | no date given |\n| Privacy policy last updated | 2025-06-06 | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 119 stars, 86k npm/wk | 55 stars |\n\n## Verdicts\n\n**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.\n\n**KuCoin.** KuCoin publishes pooled rate limits with remaining and reset headers, scoped keys where withdrawals and transfers need an IP allow-list, an official SDK in five languages and read-only agent skills. It runs no MCP server, has no sandbox, status page or OpenAPI file, and its terms name no legal entity.\n\n## Before you call either\n\n### dYdX\n\n1. 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\n2. 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)\n3. Stay under 2 stateful orders a block and 20 per 100 blocks; failed placements count, so use short-term orders for active trading\n4. Enable permessage-deflate on the indexer WebSocket; since 26 October 2026 connections without compression may be refused with 426\n5. Check `/v4/geo` and the compliance screen before trading for a person, since the terms exclude the United States, Canada and the United Kingdom\n\n### KuCoin\n\n1. Mint a key with General only for research; add Spot or Futures only with an IP allow-list, since unbound trading keys are disabled after 30 days of inactivity\n2. Send a UUID clientOid on every order and keep it for the retry, and read the order back by clientOid before placing again\n3. Budget requests by weight against gw-ratelimit-remaining and sleep for gw-ratelimit-reset milliseconds on 429000; sub-accounts share the pool\n4. There is no sandbox, so rehearse with the smallest order size on a dedicated sub-account\n5. Use the UTA V2 endpoints and hosts; the Classic API loses endpoints without notice, as the margin credit endpoints did on 21 October 2026\n\n## Questions\n\n### Which is better for AI agents, dYdX or KuCoin?\n\ndYdX scores 69.5 (B) on agent readiness against KuCoin's 53.9 (D), and leads in 5 of 7 scored categories.\n\n### Do dYdX and KuCoin need an API key?\n\ndYdX takes an API key or an OAuth sign-in. KuCoin needs an API key.\n\n### Can an agent call dYdX and KuCoin without installing anything?\n\nNo hosted endpoint is listed for dYdX. No hosted endpoint is listed for KuCoin.\n\n### Are dYdX and KuCoin open source?\n\ndYdX 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 KuCoin.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/dydx-vs-kucoin.json, and with the fewest tokens: https://www.anchorterminal.com/compare/dydx-vs-kucoin.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"dydx\", \"b\": \"kucoin\"}`. From a terminal: `anchor compare dydx kucoin`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/dydx.json and https://www.anchorterminal.com/api/v1/tools/kucoin.json\n\n## Other comparisons with dYdX or KuCoin\n\n- [Bitfinex API vs dYdX](https://www.anchorterminal.com/compare/bitfinex-vs-dydx.md)\n- [Bitfinex API vs KuCoin](https://www.anchorterminal.com/compare/bitfinex-vs-kucoin.md)\n- [Bitget vs dYdX](https://www.anchorterminal.com/compare/bitget-vs-dydx.md)\n- [Bitget vs KuCoin](https://www.anchorterminal.com/compare/bitget-vs-kucoin.md)\n- [Bithumb Open API vs dYdX](https://www.anchorterminal.com/compare/bithumb-vs-dydx.md)\n- [Bithumb Open API vs KuCoin](https://www.anchorterminal.com/compare/bithumb-vs-kucoin.md)\n- [Bitstamp API vs dYdX](https://www.anchorterminal.com/compare/bitstamp-vs-dydx.md)\n- [Bitstamp API vs KuCoin](https://www.anchorterminal.com/compare/bitstamp-vs-kucoin.md)\n- [Bybit vs dYdX](https://www.anchorterminal.com/compare/bybit-vs-dydx.md)\n- [Bybit vs KuCoin](https://www.anchorterminal.com/compare/bybit-vs-kucoin.md)\n- [Crypto.com Exchange API vs dYdX](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-dydx.md)\n- [Crypto.com Exchange API vs KuCoin](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kucoin.md)\n- [dYdX vs Uniswap Trading API](https://www.anchorterminal.com/compare/dydx-vs-uniswap.md)\n- [dYdX vs Upbit Open API](https://www.anchorterminal.com/compare/dydx-vs-upbit.md)\n- [Gate vs KuCoin](https://www.anchorterminal.com/compare/gate-io-vs-kucoin.md)\n- [Gemini Exchange API vs KuCoin](https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin.md)\n- [HTX trading API vs KuCoin](https://www.anchorterminal.com/compare/htx-vs-kucoin.md)\n- [KuCoin vs MEXC API](https://www.anchorterminal.com/compare/kucoin-vs-mexc.md)\n- [KuCoin vs OKX API](https://www.anchorterminal.com/compare/kucoin-vs-okx.md)\n- [KuCoin vs Uniswap Trading API](https://www.anchorterminal.com/compare/kucoin-vs-uniswap.md)\n- [KuCoin vs Upbit Open API](https://www.anchorterminal.com/compare/kucoin-vs-upbit.md)\n- [Binance API vs KuCoin](https://www.anchorterminal.com/compare/binance-vs-kucoin.md)\n- [Coinbase Advanced Trade API vs KuCoin](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.md)\n- [Coinbase MCP server (Coinbase for Agents) vs KuCoin](https://www.anchorterminal.com/compare/coinbase-mcp-vs-kucoin.md)\n- [Kraken API vs KuCoin](https://www.anchorterminal.com/compare/kraken-vs-kucoin.md)\n- [Binance API vs dYdX](https://www.anchorterminal.com/compare/binance-vs-dydx.md)\n- [Coinbase Advanced Trade API vs dYdX](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx.md)\n- [Deribit vs dYdX](https://www.anchorterminal.com/compare/deribit-vs-dydx.md)\n- [Deribit vs KuCoin](https://www.anchorterminal.com/compare/deribit-vs-kucoin.md)\n- [dYdX vs Gate](https://www.anchorterminal.com/compare/dydx-vs-gate-io.md)\n- [dYdX vs Gemini Exchange API](https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.md)\n- [dYdX vs HTX trading API](https://www.anchorterminal.com/compare/dydx-vs-htx.md)\n- [dYdX vs Hyperliquid](https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.md)\n- [dYdX vs Kraken API](https://www.anchorterminal.com/compare/dydx-vs-kraken.md)\n- [dYdX vs MEXC API](https://www.anchorterminal.com/compare/dydx-vs-mexc.md)\n- [dYdX vs OKX API](https://www.anchorterminal.com/compare/dydx-vs-okx.md)\n- [Hyperliquid vs KuCoin](https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.md)\n- [Coinbase MCP server (Coinbase for Agents) vs dYdX](https://www.anchorterminal.com/compare/coinbase-mcp-vs-dydx.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "dYdX vs KuCoin",
        "url": ""
      }
    ],
    "description": "dYdX scores 69.5 (B) to KuCoin's 53.9 (D) for exchange derivatives. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "dYdX B 69.5",
      "KuCoin D 53.9",
      "scores"
    ],
    "h1": "dYdX vs KuCoin",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/dydx-vs-kucoin",
    "published": "2026-10-01",
    "section": "tools",
    "title": "dYdX vs KuCoin for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/dydx-vs-kucoin"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 1880
  },
  "version": 1
}
