{
  "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": 221,
        "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:05:06.117120724Z"
        },
        "securityTxt": {
          "url": "https://dydx.xyz/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:03.349495473Z"
        },
        "updatedAt": "2026-11-04T20:05:06.117120724Z"
      }
    },
    "answer": "dYdX scores 69.5 (B) on agent readiness against Hyperliquid's 50 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "hyperliquid",
      "name": "Hyperliquid",
      "vendor": "Hyperliquid Labs",
      "vendorUrl": "https://hyperliquid.xyz",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Hyperliquid is a perpetuals and spot exchange whose order book runs on its own chain. Agents trade through the REST info and exchange endpoints and WebSocket at api.hyperliquid.xyz, signing with a wallet key or an approved API wallet.",
      "url": "https://www.anchorterminal.com/tools/hyperliquid",
      "markdownUrl": "https://www.anchorterminal.com/tools/hyperliquid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/hyperliquid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/hyperliquid.json",
      "dns": "hyperliquid.grade.anchorterminal.com",
      "repo": "https://github.com/hyperliquid-dex/hyperliquid-python-sdk",
      "license": "The exchange runs on the Hyperliquid chain (HyperCore), whose node is distributed as a binary under an Apache-2.0 repository; the Python and Rust SDKs are MIT. The API servers and front end are closed",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "hyperliquid-python-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "No API keys. Every exchange action is a signed message from an EVM wallet; info requests need no signature. A master account approves API wallets (agent wallets) with `approveAgent`, optionally named and with an expiry, which can only sign on its behalf and cannot query data. L1 actions (orders, cancels, margin settings) and user-signed actions (USDC and spot sends, withdrawals, approvals) use two different EIP-712 schemes, and the docs recommend an SDK for signing. Nonces are per signer, must sit within two days behind and one day ahead of block time, and sub-accounts signed by one API wallet share its nonce set (https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/nonces-and-api-wallets.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API has no charge. Base-tier fees are 0.045% taker and 0.015% maker on perpetuals and 0.070% taker and 0.040% maker on spot, assessed on rolling 14-day volume, falling to 0.024% taker and 0% maker above $7 billion, with maker rebates to -0.003% for large maker share and staking discounts of 5% to 40%. Withdrawals to the bridge cost $1; an activation gas fee applies to a first order. `reserveRequestWeight` buys extra rate limit at 0.0005 USDC a request (https://hyperliquid.gitbook.io/hyperliquid-docs/trading/fees.md, checked 2026-11-03).",
      "priceSummary": "0.04% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs (checked 2026-11-03). Accounts are funded by depositing USDC on Arbitrum or other bridged chains; several third-party MCP servers in the registry sell Hyperliquid data by x402, none of them Hyperliquid's.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 1873,
        "npmWeekly": null,
        "pypiWeekly": 167497,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api",
      "llmsTxt": "https://hyperliquid.gitbook.io/hyperliquid-docs/llms.txt",
      "capabilities": [
        "exchange.derivatives",
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto",
        "wallet.onchain"
      ],
      "tags": [
        "official",
        "hosted",
        "closed-source",
        "llms-txt",
        "python",
        "rust",
        "sandbox",
        "usage-priced",
        "no-key",
        "no-status-page",
        "bug-bounty",
        "rest"
      ],
      "lastRelease": "2026-06-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50,
        "grade": "D",
        "agentReady": false,
        "rank": 1018,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 19,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 39,
          "payments": 55,
          "reliability": 40,
          "schema": 42,
          "security": 64,
          "transparency": 26
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Hyperliquid's API needs no signup or key, an approved API wallet can trade but not withdraw, fees and rate limits are published with numbers, and a testnet mirrors mainnet. There is no official MCP server, OpenAPI file, status page, changelog or readable terms, and signing uses two schemes the docs say to leave to an SDK.",
        "bestFor": "An agent trading perpetuals or spot on chain from its own wallet with no account, or acting for a master account through an approved API wallet.",
        "strengths": [
          "API wallets approved by the master account can only sign trading actions; withdrawals and external transfers need the user's own key",
          "Numeric rate limits per IP and per address, with weights per request type and a paid `reserveRequestWeight` top-up",
          "Fees published per tier from 0.045% taker and 0.015% maker on perpetuals, with maker rebates and staking discounts",
          "A testnet at api.hyperliquid-testnet.xyz with the same API and a faucet of 1,000 mock USDC for addresses that have deposited on mainnet",
          "Client order IDs (`cloid`), `expiresAfter`, `noop` and a `scheduleCancel` dead man's switch for safe retries"
        ],
        "weaknesses": [
          "No official MCP server; the 23 registry entries are all third parties, several selling data by x402",
          "No OpenAPI file, no changelog, no API versioning and no status page found",
          "The terms of use and privacy policy at app.hyperliquid.xyz draw by script and hyperliquid.xyz/terms answered 403, so the restricted jurisdictions are unchecked",
          "Order errors are message strings without codes, and the docs give no 429 or Retry-After guidance beyond one request every 10 seconds when limited",
          "The official Python SDK is marked Alpha, last released 4 June 2026, with 112 open issues"
        ],
        "agentNotes": [
          "Generate a fresh API wallet, approve it with `approveAgent` with a name and expiry, sign with it, and query with the master address, never the agent address",
          "Use the Python SDK's `sign_l1_action` and `sign_user_signed_action`; mixing the two, field order in msgpack or an uppercase address gives \"User or API Wallet ... does not exist\"",
          "Set a `cloid` on every order and read the per-order `statuses` array; one batch-level error rejects the whole batch",
          "Budget address limits by volume (one action per 1 USDC traded after 10,000); batch orders to lower IP weight, and use WebSocket for data",
          "Arm `scheduleCancel` before unattended trading so open orders are cancelled if the agent stops"
        ],
        "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": 50
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 39,
          "payments": 55,
          "reliability": 40,
          "schema": 42,
          "security": 64,
          "transparency": 20
        },
        "provenanceScore": 32,
        "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": "pip install hyperliquid-python-sdk",
        "http": "curl -X POST https://api.hyperliquid.xyz/info -H 'Content-Type: application/json' -d '{\"type\":\"l2Book\",\"coin\":\"BTC\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.derivatives",
        "tool": "https://letme.dev/hyperliquid"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Perpetuals taker fee, tier 0",
          "unit": "pct",
          "usd": 0.045,
          "note": "0.045% of notional; maker 0.015%"
        },
        {
          "item": "Spot taker fee, tier 0",
          "unit": "pct",
          "usd": 0.07,
          "note": "0.070% of notional; maker 0.040%"
        },
        {
          "item": "Bridge withdrawal",
          "unit": "tx",
          "usd": 1,
          "note": "$1 per withdrawal to the bridge contract"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "hyperliquid.xyz",
        "domainRegistered": "2022-10-15",
        "endpointOnVendorDomain": true,
        "terms": "https://app.hyperliquid.xyz/terms",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "No legal entity found on a readable page. The docs name Hyperliquid Labs (self-funded) and the Hyper Foundation (bug bounty); app.hyperliquid.xyz/terms and hyperfoundation.org draw by script and hyperliquid.xyz/terms answered 403.",
          "RDAP gives hyperliquid.xyz a registration date of 15 October 2022, registrar Squarespace Domains.",
          "No status page found; status.hyperliquid.xyz did not resolve and the docs link none. No changelog; the docs have no dated release notes.",
          "https://hyperliquid.xyz/.well-known/security.txt answered 403, so security.txt is unknown. The docs' bug bounty page gives bugbounty@hyperfoundation.org.",
          "hyperliquid.gitbook.io/robots.txt allows everything with Content-Signal ai-input=yes; hyperliquid.xyz/robots.txt allows everything."
        ],
        "score": 32
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/hyperliquid.json",
      "live": {
        "slug": "hyperliquid",
        "securityTxt": {
          "url": "https://hyperliquid.xyz/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:54:05.956872316Z"
        },
        "updatedAt": "2026-11-04T15:54:05.956872316Z"
      }
    },
    "edges": [
      {
        "by": 44,
        "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 with open SDKs. The API has no dated changelog, so the last dated change is the Python SDK's 0.24.0 on 4 June 2026, 152 days before this check; the node repository was pushed on 10 August 2026 and the docs describe newer actions (HIP-4 outcome markets, borrow and lend) without dates. Judgement call (10 of 30). No three dated releases in 90 days (0). Support through Discord and the docs' FAQ, 112 open issues on the SDK whose replies couldn't be read (8 of 25). Official Python and Rust SDKs, the Rust one last pushed 21 October 2025; no MCP registry entry (15). CI on Python 3.9 and 3.13 with Poetry, Dependabot badge, a lock file (6 of 10). Total 39."
        },
        "scores": {
          "a": 83,
          "b": 39
        }
      },
      {
        "by": 43,
        "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": "Read with the hosted lines on the REST API at api.hyperliquid.xyz, the surface an agent calls; the chain behind it is noted under details. No status page found in the docs, on hyperliquid.xyz or at status.hyperliquid.xyz, which did not resolve (0). No readable history (5). Rate limits documented with numbers per IP, per address and per WebSocket connection (15). When limited, an address gets one request every 10 seconds; no 429 shape or Retry-After is documented, but `cloid`, per-signer nonces, `expiresAfter` and `noop` make retries safe (10 of 15). No SLA (0). Mainnet is generally available (10). 0 + 5 + 15 + 10 + 0 + 10 = 40."
        },
        "scores": {
          "a": 83,
          "b": 40
        }
      },
      {
        "by": 24,
        "category": "transparency",
        "leads": "dydx",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "The editorial half. The SDKs are MIT and the node repository Apache-2.0 with a Dockerfile around a binary; the API servers and front end are closed and the terms were unreadable (12 of 30). No privacy policy read and nothing in the docs on data handling (0 of 30). Deprecated actions are marked in the docs without dates or a policy (8 of 20). No subprocessors or data locations (0 of 20). Total 20."
        },
        "scores": {
          "a": 50,
          "b": 26
        }
      },
      {
        "by": 16,
        "category": "schema",
        "leads": "dydx",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "No OpenAPI or other machine-readable contract; request and response shapes are tables and JSON examples in the docs (0 of 25). llms.txt and a Markdown twin of every page by appending .md (10). Each info type and exchange action has a short description of what it does, and the signing page lists common mistakes, but little says when to use one call over another (12 of 20). Fields are one-letter keys (`a`, `b`, `p`, `s`, `r`, `t`, `c`) with numbers as strings, enums such as `tif` Alo, Ioc or Gtc, and required fields marked in tables (9 of 15). An example for every call and a list of order and cancel error strings, with no HTTP error table (11 of 15). No API version, no changelog and no dated release notes; deprecated actions such as `userDexAbstraction` are marked in place (0 of 15). Total 42."
        },
        "scores": {
          "a": 58,
          "b": 42
        }
      },
      {
        "by": 14,
        "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": "No shared secrets. Actions are signed by the wallet key or by an API wallet the master approves with a name and optional expiry; API wallets can only sign, withdrawals and external sends are user-signed, and approving a new wallet deregisters the old. No IP allow-list or address allow-list (24 of 30). An API wallet is a trading-only credential and info needs no key, but nothing limits order size or marks an action as needing approval (10 of 20). The API returns no untrusted content (10). Fills, historical orders, `userRole` and nonces are queryable per account; no per-wallet action log (8 of 15). A bug bounty run by the Hyper Foundation with rewards up to under 1 million USDC, a Zellic audit of the bridge contract, a SECURITY.md on the SDK; no security.txt (403), no SOC 2 (12 of 20). Total 64."
        },
        "scores": {
          "a": 78,
          "b": 64
        }
      },
      {
        "by": 5,
        "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). Fees published per tier without login (20). No card anywhere; public info endpoints are free and the testnet faucet gives 1,000 mock USDC, though only to an address that has deposited on mainnet (15 of 20). No signup; an agent with a funded EVM wallet deposits USDC on a bridged chain and trades, subject to the unread terms (20). Total 55."
        },
        "scores": {
          "a": 60,
          "b": 55
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "dYdX Trading Inc.",
        "b": "Hyperliquid Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or 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": "The exchange runs on the Hyperliquid chain (HyperCore), whose node is distributed as a binary under an Apache-2.0 repository; the Python and Rust SDKs are MIT. The API servers and front end are closed",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-06-04",
        "name": "Last release"
      },
      {
        "a": "2026-03-12",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2025-06-06",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "119 stars, 86k npm/wk",
        "b": "1.9k stars, 167k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "dYdX scores 69.5 (B) on agent readiness against Hyperliquid's 50 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, dYdX or Hyperliquid?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do dYdX and Hyperliquid need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for dYdX. No hosted endpoint is listed for Hyperliquid.",
        "question": "Can an agent call dYdX and Hyperliquid 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 Hyperliquid.",
        "question": "Are dYdX and Hyperliquid open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 40",
          "Schema \u0026 documentation, 58 against 42",
          "Security \u0026 auth, 78 against 64",
          "Payments \u0026 pricing, 60 against 55",
          "Maintenance \u0026 community, 83 against 39",
          "Transparency \u0026 trust, 50 against 26"
        ],
        "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 perpetuals or spot on chain from its own wallet with no account, or acting for a master account through an approved API wallet.",
        "slug": "hyperliquid",
        "watchFor": "No official MCP server; the 23 registry entries are all third parties, several selling data by x402"
      }
    ],
    "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-hyperliquid.json",
        "title": "Bitfinex API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid"
      },
      {
        "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-hyperliquid.json",
        "title": "Bitget vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-hyperliquid"
      },
      {
        "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-hyperliquid.json",
        "title": "Bithumb Open API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid"
      },
      {
        "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-hyperliquid.json",
        "title": "Bitstamp API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid"
      },
      {
        "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-hyperliquid.json",
        "title": "Bybit vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-hyperliquid"
      },
      {
        "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-hyperliquid.json",
        "title": "Crypto.com Exchange API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-hyperliquid"
      },
      {
        "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-hyperliquid.json",
        "title": "Gate vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.json",
        "title": "Gemini Exchange API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-hyperliquid.json",
        "title": "HTX trading API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/htx-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.json",
        "title": "Hyperliquid vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-hyperliquid.json",
        "title": "Binance API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/binance-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.json",
        "title": "Coinbase Advanced Trade API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-hyperliquid.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.json",
        "title": "Hyperliquid vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap"
      },
      {
        "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-hyperliquid.json",
        "title": "Deribit vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-hyperliquid"
      },
      {
        "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-kraken.json",
        "title": "dYdX vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-kucoin.json",
        "title": "dYdX vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kucoin"
      },
      {
        "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-kraken.json",
        "title": "Hyperliquid vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-kraken"
      },
      {
        "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/hyperliquid-vs-mexc.json",
        "title": "Hyperliquid vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-okx.json",
        "title": "Hyperliquid vs OKX API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-okx"
      },
      {
        "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": 43,
        "dydx": 83,
        "edge": "dydx",
        "hyperliquid": 40,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "dydx": 58,
        "edge": "dydx",
        "hyperliquid": 42,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 4,
        "dydx": 66,
        "edge": "hyperliquid",
        "hyperliquid": 70,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 14,
        "dydx": 78,
        "edge": "dydx",
        "hyperliquid": 64,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "dydx": 60,
        "edge": "dydx",
        "hyperliquid": 55,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 44,
        "dydx": 83,
        "edge": "dydx",
        "hyperliquid": 39,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 24,
        "dydx": 50,
        "edge": "dydx",
        "hyperliquid": 26,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "dYdX scores 69.5 (B) on agent readiness against Hyperliquid's 50 (D), and leads in 6 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.",
      "hyperliquid": "Hyperliquid's API needs no signup or key, an approved API wallet can trade but not withdraw, fees and rate limits are published with numbers, and a testnet mirrors mainnet. There is no official MCP server, OpenAPI file, status page, changelog or readable terms, and signing uses two schemes the docs say to leave to an SDK."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid",
    "json": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.min.md"
  },
  "markdown": "dYdX scores 69.5 (B) on agent readiness against Hyperliquid's 50 (D), and leads in 6 of 7 scored categories. Both do exchange derivatives.\n\n- dYdX: grade B, 69.5/100, rank #221 of 1349. Markdown https://www.anchorterminal.com/tools/dydx.md · JSON https://www.anchorterminal.com/api/v1/tools/dydx.json\n- Hyperliquid: grade D, 50/100, rank #1018 of 1349. Markdown https://www.anchorterminal.com/tools/hyperliquid.md · JSON https://www.anchorterminal.com/api/v1/tools/hyperliquid.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 40\n- Schema \u0026 documentation, 58 against 42\n- Security \u0026 auth, 78 against 64\n- Payments \u0026 pricing, 60 against 55\n- Maintenance \u0026 community, 83 against 39\n- Transparency \u0026 trust, 50 against 26\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### Hyperliquid (D)\n\nGood for: An agent trading perpetuals or spot on chain from its own wallet with no account, or acting for a master account through an approved API wallet.\n\nWatch for: No official MCP server; the 23 registry entries are all third parties, several selling data by x402\n\n\n## Why the edge\n\n### Maintenance \u0026 community: dYdX +44\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- Hyperliquid (39): Read as a closed hosted service with open SDKs. The API has no dated changelog, so the last dated change is the Python SDK's 0.24.0 on 4 June 2026, 152 days before this check; the node repository was pushed on 10 August 2026 and the docs describe newer actions (HIP-4 outcome markets, borrow and lend) without dates. Judgement call (10 of 30). No three dated releases in 90 days (0). Support through Discord and the docs' FAQ, 112 open issues on the SDK whose replies couldn't be read (8 of 25). Official Python and Rust SDKs, the Rust one last pushed 21 October 2025; no MCP registry entry (15). CI on Python 3.9 and 3.13 with Poetry, Dependabot badge, a lock file (6 of 10). Total 39.\n\n### Reliability: dYdX +43\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- Hyperliquid (40): Read with the hosted lines on the REST API at api.hyperliquid.xyz, the surface an agent calls; the chain behind it is noted under details. No status page found in the docs, on hyperliquid.xyz or at status.hyperliquid.xyz, which did not resolve (0). No readable history (5). Rate limits documented with numbers per IP, per address and per WebSocket connection (15). When limited, an address gets one request every 10 seconds; no 429 shape or Retry-After is documented, but `cloid`, per-signer nonces, `expiresAfter` and `noop` make retries safe (10 of 15). No SLA (0). Mainnet is generally available (10). 0 + 5 + 15 + 10 + 0 + 10 = 40.\n\n### Transparency \u0026 trust: dYdX +24\n\n- 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.\n- Hyperliquid (26): The editorial half. The SDKs are MIT and the node repository Apache-2.0 with a Dockerfile around a binary; the API servers and front end are closed and the terms were unreadable (12 of 30). No privacy policy read and nothing in the docs on data handling (0 of 30). Deprecated actions are marked in the docs without dates or a policy (8 of 20). No subprocessors or data locations (0 of 20). Total 20.\n\n### Schema \u0026 documentation: dYdX +16\n\n- 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.\n- Hyperliquid (42): No OpenAPI or other machine-readable contract; request and response shapes are tables and JSON examples in the docs (0 of 25). llms.txt and a Markdown twin of every page by appending .md (10). Each info type and exchange action has a short description of what it does, and the signing page lists common mistakes, but little says when to use one call over another (12 of 20). Fields are one-letter keys (`a`, `b`, `p`, `s`, `r`, `t`, `c`) with numbers as strings, enums such as `tif` Alo, Ioc or Gtc, and required fields marked in tables (9 of 15). An example for every call and a list of order and cancel error strings, with no HTTP error table (11 of 15). No API version, no changelog and no dated release notes; deprecated actions such as `userDexAbstraction` are marked in place (0 of 15). Total 42.\n\n### Security \u0026 auth: dYdX +14\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- Hyperliquid (64): No shared secrets. Actions are signed by the wallet key or by an API wallet the master approves with a name and optional expiry; API wallets can only sign, withdrawals and external sends are user-signed, and approving a new wallet deregisters the old. No IP allow-list or address allow-list (24 of 30). An API wallet is a trading-only credential and info needs no key, but nothing limits order size or marks an action as needing approval (10 of 20). The API returns no untrusted content (10). Fills, historical orders, `userRole` and nonces are queryable per account; no per-wallet action log (8 of 15). A bug bounty run by the Hyper Foundation with rewards up to under 1 million USDC, a Zellic audit of the bridge contract, a SECURITY.md on the SDK; no security.txt (403), no SOC 2 (12 of 20). Total 64.\n\n### Payments \u0026 pricing: dYdX +5\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- Hyperliquid (55): No machine payment protocol (0). Fees published per tier without login (20). No card anywhere; public info endpoints are free and the testnet faucet gives 1,000 mock USDC, though only to an address that has deposited on mainnet (15 of 20). No signup; an agent with a funded EVM wallet deposits USDC on a bridged chain and trades, subject to the unread terms (20). Total 55.\n\n## Score by category\n\n| Category | Weight | dYdX | Hyperliquid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 40 | dYdX +43 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 42 | dYdX +16 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 70 | Hyperliquid +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 64 | dYdX +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 55 | dYdX +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 39 | dYdX +44 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 26 | dYdX +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.5 · B** | **50 · D** | |\n\n## Facts side by side\n\n| Fact | dYdX | Hyperliquid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | dYdX Trading Inc. | Hyperliquid Labs |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | OAuth or 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. | The exchange runs on the Hyperliquid chain (HyperCore), whose node is distributed as a binary under an Apache-2.0 repository; the Python and Rust SDKs are MIT. The API servers and front end are closed |\n| Tools exposed | 0 | 0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-29 | 2026-06-04 |\n| Terms last updated | 2026-03-12 | couldn't be read |\n| Privacy policy last updated | 2025-06-06 | no document linked |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | 119 stars, 86k npm/wk | 1.9k stars, 167k PyPI/wk |\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**Hyperliquid.** Hyperliquid's API needs no signup or key, an approved API wallet can trade but not withdraw, fees and rate limits are published with numbers, and a testnet mirrors mainnet. There is no official MCP server, OpenAPI file, status page, changelog or readable terms, and signing uses two schemes the docs say to leave to an SDK.\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### Hyperliquid\n\n1. Generate a fresh API wallet, approve it with `approveAgent` with a name and expiry, sign with it, and query with the master address, never the agent address\n2. Use the Python SDK's `sign_l1_action` and `sign_user_signed_action`; mixing the two, field order in msgpack or an uppercase address gives \"User or API Wallet ... does not exist\"\n3. Set a `cloid` on every order and read the per-order `statuses` array; one batch-level error rejects the whole batch\n4. Budget address limits by volume (one action per 1 USDC traded after 10,000); batch orders to lower IP weight, and use WebSocket for data\n5. Arm `scheduleCancel` before unattended trading so open orders are cancelled if the agent stops\n\n## Questions\n\n### Which is better for AI agents, dYdX or Hyperliquid?\n\ndYdX scores 69.5 (B) on agent readiness against Hyperliquid's 50 (D), and leads in 6 of 7 scored categories.\n\n### Do dYdX and Hyperliquid need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call dYdX and Hyperliquid without installing anything?\n\nNo hosted endpoint is listed for dYdX. No hosted endpoint is listed for Hyperliquid.\n\n### Are dYdX and Hyperliquid 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 Hyperliquid.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"dydx\", \"b\": \"hyperliquid\"}`. From a terminal: `anchor compare dydx hyperliquid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/dydx.json and https://www.anchorterminal.com/api/v1/tools/hyperliquid.json\n\n## Other comparisons with dYdX or Hyperliquid\n\n- [Bitfinex API vs dYdX](https://www.anchorterminal.com/compare/bitfinex-vs-dydx.md)\n- [Bitfinex API vs Hyperliquid](https://www.anchorterminal.com/compare/bitfinex-vs-hyperliquid.md)\n- [Bitget vs dYdX](https://www.anchorterminal.com/compare/bitget-vs-dydx.md)\n- [Bitget vs Hyperliquid](https://www.anchorterminal.com/compare/bitget-vs-hyperliquid.md)\n- [Bithumb Open API vs dYdX](https://www.anchorterminal.com/compare/bithumb-vs-dydx.md)\n- [Bithumb Open API vs Hyperliquid](https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.md)\n- [Bitstamp API vs dYdX](https://www.anchorterminal.com/compare/bitstamp-vs-dydx.md)\n- [Bitstamp API vs Hyperliquid](https://www.anchorterminal.com/compare/bitstamp-vs-hyperliquid.md)\n- [Bybit vs dYdX](https://www.anchorterminal.com/compare/bybit-vs-dydx.md)\n- [Bybit vs Hyperliquid](https://www.anchorterminal.com/compare/bybit-vs-hyperliquid.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 Hyperliquid](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-hyperliquid.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 Hyperliquid](https://www.anchorterminal.com/compare/gate-io-vs-hyperliquid.md)\n- [Gemini Exchange API vs Hyperliquid](https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.md)\n- [HTX trading API vs Hyperliquid](https://www.anchorterminal.com/compare/htx-vs-hyperliquid.md)\n- [Hyperliquid vs Upbit Open API](https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.md)\n- [Binance API vs Hyperliquid](https://www.anchorterminal.com/compare/binance-vs-hyperliquid.md)\n- [Coinbase Advanced Trade API vs Hyperliquid](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Hyperliquid](https://www.anchorterminal.com/compare/coinbase-mcp-vs-hyperliquid.md)\n- [Hyperliquid vs Uniswap Trading API](https://www.anchorterminal.com/compare/hyperliquid-vs-uniswap.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 Hyperliquid](https://www.anchorterminal.com/compare/deribit-vs-hyperliquid.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 Kraken API](https://www.anchorterminal.com/compare/dydx-vs-kraken.md)\n- [dYdX vs KuCoin](https://www.anchorterminal.com/compare/dydx-vs-kucoin.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 Kraken API](https://www.anchorterminal.com/compare/hyperliquid-vs-kraken.md)\n- [Hyperliquid vs KuCoin](https://www.anchorterminal.com/compare/hyperliquid-vs-kucoin.md)\n- [Hyperliquid vs MEXC API](https://www.anchorterminal.com/compare/hyperliquid-vs-mexc.md)\n- [Hyperliquid vs OKX API](https://www.anchorterminal.com/compare/hyperliquid-vs-okx.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 Hyperliquid",
        "url": ""
      }
    ],
    "description": "dYdX scores 69.5 (B) to Hyperliquid's 50 (D) for exchange derivatives. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "dYdX B 69.5",
      "Hyperliquid D 50",
      "scores"
    ],
    "h1": "dYdX vs Hyperliquid",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/dydx-vs-hyperliquid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "dYdX vs Hyperliquid for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid"
  },
  "tokens": {
    "markdown": 5050,
    "slim": 2830
  },
  "version": 1
}
