{
  "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-04T19:31:29.210412388Z"
        },
        "securityTxt": {
          "url": "https://dydx.xyz/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:03.349495473Z"
        },
        "updatedAt": "2026-11-04T19:31:29.210412388Z"
      }
    },
    "answer": "Kraken API scores 71 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments \u0026 pricing.",
    "b": {
      "slug": "kraken",
      "name": "Kraken API",
      "vendor": "Payward, Inc.",
      "vendorUrl": "https://docs.kraken.com/api/",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Kraken's exchange APIs cover spot, tokenised US stocks, forex and futures over REST, WebSocket and FIX, with rate limits by client tier, a self-service futures demo and kraken-cli, an open-source CLI whose kraken-mcp binary is a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/kraken",
      "markdownUrl": "https://www.anchorterminal.com/tools/kraken.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/kraken.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/kraken.json",
      "dns": "kraken.grade.anchorterminal.com",
      "repo": "https://github.com/krakenfx/kraken-cli",
      "license": "Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT",
      "transports": [
        "stdio"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Spot API key and private key, signed with HMAC-SHA512 over the path, nonce and POST data, sent as API-Key and API-Sign. Permissions per key are Query Funds, Deposit Funds, Withdraw Funds, Query Open Orders \u0026 Trades, Query Closed Orders \u0026 Trades, Modify Orders, Cancel/Close Orders, Query Ledger Entries and Export Data, with optional Key Expiration, IP Address Restriction, a custom nonce window and a WebSocket interface setting. Futures keys are separate. kraken auth login signs in with OAuth (authorisation code with PKCE) in a browser and saves a restricted spot key with no withdrawal rights that expires after at most 90 days, or a read-only one with --read-only (https://support.kraken.com/hc/en-us/articles/360000919966, https://github.com/krakenfx/kraken-cli, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing to call. Kraken Pro spot fees at the lowest 30-day volume tier are 0.40 per cent maker and 0.80 per cent taker, stablecoin, pegged token and FX pairs 0.20 per cent each way, and futures 0.02 per cent maker and 0.05 per cent taker. Public market data, paper trading in kraken-cli and the futures demo need no account.",
      "priceSummary": "0.4% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the CLI or the MCP docs (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": 152,
      "popularity": {
        "githubStars": 795,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.kraken.com/api/",
      "llmsTxt": "https://raw.githubusercontent.com/krakenfx/kraken-cli/main/llms.txt",
      "capabilities": [
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "api-key",
        "oauth",
        "mcp",
        "cli",
        "llms-txt",
        "status-page",
        "bug-bounty",
        "rust",
        "go",
        "usage-priced",
        "no-card",
        "mit"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71,
        "grade": "BB",
        "agentReady": true,
        "rank": 159,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 40,
          "reliability": 67,
          "schema": 80,
          "security": 80,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Kraken pairs a documented REST, WebSocket and FIX API with the open-source kraken-cli, whose kraken-mcp server gates 33 dangerous tools behind approval and signs in by OAuth with a no-withdrawal key. Spot has no self-service sandbox, no OpenAPI file was found, and a 59-minute connectivity outage hit every interface on 30 October 2026.",
        "bestFor": "An agent that trades spot, xStocks, forex or futures on a person's Kraken account from a local machine, with paper trading to test first and an approval gate on live orders.",
        "strengths": [
          "Official local MCP server with 152 typed tools in services, destructive_hint on dangerous tools and an elicitation approval before each unless disabled",
          "OAuth sign-in from the CLI mints a restricted spot key with no withdrawal rights that expires within 90 days, or a read-only key",
          "Rate limits published with numbers by client tier for REST and the matching engine, shared across REST, WebSocket and FIX",
          "Fees published without login, 0.40 per cent maker and 0.80 per cent taker at the lowest Pro tier, 0.02 and 0.05 on futures",
          "Dated changelog of 120 entries with deprecations announced by date, a Statuspage site with API components and a valid security.txt"
        ],
        "weaknesses": [
          "No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI",
          "No OpenAPI file was found for the REST API; the machine-readable contract is the CLI's tool catalogue",
          "Spot and derivatives clients could not connect or submit orders on any interface for 59 minutes on 30 October 2026",
          "The CLI's feedback tool can upload a local file it names with no approval step, so the docs say to drop it for agents reading untrusted input",
          "The terms bar bots, scripts and third-party applications on Kraken's content without written consent, alongside the documented API"
        ],
        "agentNotes": [
          "Start kraken-mcp with -s market,paper,feedback or the default services; add trade only with a least-privilege key, and never pass --allow-dangerous on an agent that reads untrusted input",
          "Ask the person to run kraken auth login in their own terminal; it needs a browser and saves a no-withdrawal key that expires in 90 days at most",
          "Send a fresh --cl-ord-id on each order and run it with --validate first; after a network error look the order up before sending it again",
          "Keep the nonce strictly increasing per key and stay under the tier's counter, since EAPI:Rate limit exceeded has no Retry-After header",
          "Test strategies in a paper workspace, which fills at live prices with no account, before a live workspace"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 40,
          "reliability": 67,
          "schema": 80,
          "security": 80,
          "transparency": 36
        },
        "provenanceScore": 94,
        "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": "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/krakenfx/kraken-cli/releases/latest/download/kraken-cli-installer.sh | sh",
        "http": "curl https://api.kraken.com/0/public/Ticker?pair=XBTUSD",
        "claudeCode": "claude mcp add --scope user kraken -- kraken-mcp -s market,paper,feedback",
        "config": {
          "mcpServers": {
            "kraken": {
              "args": [
                "-s",
                "market,paper,feedback"
              ],
              "command": "kraken-mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.spot-trading",
        "tool": "https://letme.dev/kraken"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, maker, tier 1",
          "unit": "pct",
          "usd": 0.4,
          "note": "Kraken Pro, under $10,000 30-day volume"
        },
        {
          "item": "Spot trade, taker, tier 1",
          "unit": "pct",
          "usd": 0.8,
          "note": "Kraken Pro, under $10,000 30-day volume"
        },
        {
          "item": "Futures trade, maker, tier 1",
          "unit": "pct",
          "usd": 0.02,
          "note": "under $5M 30-day volume"
        },
        {
          "item": "Futures trade, taker, tier 1",
          "unit": "pct",
          "usd": 0.05,
          "note": "under $5M 30-day volume"
        }
      ],
      "provenance": {
        "legalEntity": "Payward, Inc.",
        "domain": "kraken.com",
        "domainRegistered": "2000-04-03",
        "endpointOnVendorDomain": true,
        "terms": "https://www.kraken.com/legal/global-terms",
        "privacy": "https://www.kraken.com/legal/privacy",
        "statusPage": "https://status.kraken.com",
        "changelog": "https://docs.kraken.com/api/docs/change-log",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The Global Terms of Service (last updated 30 October 2026) name Payward Interactive, Inc., Payward Ltd., Bit Trade Pty Limited and Payward Trading Ltd as contracting entities by region under California law; the site footer is © 2011 to 2026 Payward, Inc. The privacy notice was linked from the legal hub and not read.",
          "RDAP gives kraken.com a registration date of 3 April 2000, before the exchange's 2011 founding.",
          "https://www.kraken.com/.well-known/security.txt names bugbounty@kraken.com and a bug bounty policy page on kraken.com, expiring 13 February 2027.",
          "www.kraken.com, docs.kraken.com and support.kraken.com robots.txt disallow only /u/ and /lp/ (docs allows all but /cdn-cgi/ and /_next/).",
          "status.kraken.com is a Statuspage site; its history page renders by script, so incidents were read from its incidents.json feed, which reached back to 4 September 2026."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/kraken.json",
      "live": {
        "slug": "kraken",
        "vendorStatus": {
          "page": "https://status.kraken.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-04T19:31:42.054244668Z"
        },
        "securityTxt": {
          "url": "https://kraken.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-02-13T00:00:00.000Z",
          "checkedAt": "2026-11-04T15:54:35.804472383Z"
        },
        "updatedAt": "2026-11-04T19:31:42.054244668Z"
      }
    },
    "edges": [
      {
        "by": 22,
        "category": "schema",
        "leads": "kraken",
        "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 file was found for the REST API in the docs read; the CLI's agents/tool-catalog.json gives JSON Schema inputs for all 188 commands and the 152 MCP tools (15 of 25). The docs serve Markdown twins such as quickstart.md and the CLI ships llms.txt, AGENTS.md and CONTEXT.md (10). Endpoint pages and guides on order lifecycle, errors and rate limits say what each call does, with less on when not to use one (15 of 20). Enums for order types, time in force and flags, and enums and required fields in the tool catalogue (12 of 15). Python, Node.js and cURL examples, an errors guide and the CLI's error-catalog.json with retry guidance (13 of 15). A changelog of 120 dated entries with deprecations dated (15). 15 + 10 + 15 + 12 + 13 + 15 = 80."
        },
        "scores": {
          "a": 58,
          "b": 80
        }
      },
      {
        "by": 20,
        "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). Maker and taker fees by tier published without login (20). Public market data, paper trading and the futures demo need no account or card (20). A person signs up, verifies and mints a key or approves the OAuth sign-in (0). 0 + 20 + 20 + 0 = 40."
        },
        "scores": {
          "a": 60,
          "b": 40
        }
      },
      {
        "by": 16,
        "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 spot API. status.kraken.com is a Statuspage site with REST, WebSocket and FIX components (20). The incidents feed read covers 4 September to 3 November 2026. On 30 October spot and derivatives clients could not connect or submit orders across web, mobile, REST, WebSocket and FIX for 59 minutes 39 seconds, rated minor by Kraken; on 28 October some FIX clients were rejected on reconnection for 1 hour 59 minutes while other interfaces worked; the futures engine was degraded for 3 minutes on 13 October. A whole-exchange order outage 21 seconds short of an hour is read as one major (10 of 30). Numeric limits per key by tier and per pair for the matching engine (15). EAPI:Rate limit exceeded and EService:Throttled with a retry timestamp, a client order id and a validate flag on orders, but no Retry-After header (12 of 15). No SLA (0). Generally available (10). 20 + 10 + 15 + 12 + 0 + 10 = 67."
        },
        "scores": {
          "a": 83,
          "b": 67
        }
      },
      {
        "by": 15,
        "category": "transparency",
        "leads": "kraken",
        "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. A closed service with clear terms naming regional Payward entities under California law; the CLI is MIT (15 of 30). The privacy notice was not read (5 of 30). The changelog dates deprecations and the terms carry a last-updated date (16 of 20). No subprocessor or data-location statement read (0 of 20). 15 + 5 + 16 + 0 = 36."
        },
        "scores": {
          "a": 50,
          "b": 65
        }
      },
      {
        "by": 13,
        "category": "ergonomics",
        "leads": "kraken",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "An API, read for response sizing. `limit` on list endpoints, candles by resolution, sparklines by period; the order book comes whole (16 of 25). `limit`, `page` on fills, transfers and funding, and height or time cursors (16 of 20). Indexer errors are a status and a sentence; order rejections come back from the chain as transaction results the clients surface (8 of 20). Unique 32-bit client IDs, `goodTilBlock` expiry on short-term orders, cancel by order ID; no MCP annotations apply (14 of 20). Few required fields with market parameters fetched for unit conversion, and official clients in TypeScript, Python and Rust (12 of 15). Total 66.",
          "b": "The MCP server loads services with -s, defaults to no live trading, and its 152 tool definitions average about 520 characters; the REST API takes count, limit and pair filters but has no field selection (18 of 25). Cursor pagination on ledgers and trades since 30 September and 6 October 2026, with ofs deprecated (17 of 20). Prefixed error strings such as EOrder:Rate limit exceeded and EAPI:Invalid nonce, and the CLI's error catalogue says which to retry (17 of 20). cl_ord_id and validate on orders, destructive_hint and elicitation on dangerous MCP tools, no idempotency key on REST (16 of 20). An official Rust SDK at 5 stars, a Go module and example clients, HMAC-SHA512 signing with a strict nonce (11 of 15). 18 + 17 + 17 + 16 + 11 = 79."
        },
        "scores": {
          "a": 66,
          "b": 79
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "dYdX Trading Inc.",
        "b": "Payward, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio",
        "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": "Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "152",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "2026-03-12",
        "b": "2026-10-30",
        "name": "Terms last updated"
      },
      {
        "a": "2025-06-06",
        "b": "2026-10-21",
        "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": "yes",
        "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": "795 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Kraken API scores 71 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments \u0026 pricing.",
        "question": "Which is better for AI agents, dYdX or Kraken API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do dYdX and Kraken API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for dYdX. Kraken API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call dYdX and Kraken API 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 Kraken API.",
        "question": "Are dYdX and Kraken API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 67",
          "Payments \u0026 pricing, 60 against 40"
        ],
        "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": [
          "Schema \u0026 documentation, 80 against 58",
          "Agent ergonomics, 79 against 66",
          "Transparency \u0026 trust, 65 against 50"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "An agent that trades spot, xStocks, forex or futures on a person's Kraken account from a local machine, with paper trading to test first and an approval gate on live orders.",
        "slug": "kraken",
        "watchFor": "No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI"
      }
    ],
    "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-kraken.json",
        "title": "Bitfinex API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-kraken"
      },
      {
        "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-kraken.json",
        "title": "Bitget vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-kraken"
      },
      {
        "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-kraken.json",
        "title": "Bithumb Open API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kraken"
      },
      {
        "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-kraken.json",
        "title": "Bitstamp API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-kraken"
      },
      {
        "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-kraken.json",
        "title": "Bybit vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kraken"
      },
      {
        "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-kraken.json",
        "title": "Crypto.com Exchange API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken"
      },
      {
        "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-kraken.json",
        "title": "Gate vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.json",
        "title": "Gemini Exchange API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-kraken.json",
        "title": "HTX trading API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-kraken.json",
        "title": "Binance API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.json",
        "title": "Coinbase Advanced Trade API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken"
      },
      {
        "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/kraken-vs-mexc.json",
        "title": "Kraken API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-okx.json",
        "title": "Kraken API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-uniswap.json",
        "title": "Kraken API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-upbit.json",
        "title": "Kraken API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-upbit"
      },
      {
        "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-kraken.json",
        "title": "Deribit vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-kraken"
      },
      {
        "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-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/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": 16,
        "dydx": 83,
        "edge": "dydx",
        "key": "reliability",
        "kraken": 67,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "dydx": 58,
        "edge": "kraken",
        "key": "schema",
        "kraken": 80,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 13,
        "dydx": 66,
        "edge": "kraken",
        "key": "ergonomics",
        "kraken": 79,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 2,
        "dydx": 78,
        "edge": "kraken",
        "key": "security",
        "kraken": 80,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "dydx": 60,
        "edge": "dydx",
        "key": "payments",
        "kraken": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "dydx": 83,
        "edge": "dydx",
        "key": "maintenance",
        "kraken": 81,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 15,
        "dydx": 50,
        "edge": "kraken",
        "key": "transparency",
        "kraken": 65,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Kraken API scores 71 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments \u0026 pricing. 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.",
      "kraken": "Kraken pairs a documented REST, WebSocket and FIX API with the open-source kraken-cli, whose kraken-mcp server gates 33 dangerous tools behind approval and signs in by OAuth with a no-withdrawal key. Spot has no self-service sandbox, no OpenAPI file was found, and a 59-minute connectivity outage hit every interface on 30 October 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/dydx-vs-kraken",
    "json": "https://www.anchorterminal.com/compare/dydx-vs-kraken.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/dydx-vs-kraken.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/dydx-vs-kraken.min.md"
  },
  "markdown": "Kraken API scores 71 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments \u0026 pricing. 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- Kraken API: grade BB, 71/100, rank #159 of 1349. Markdown https://www.anchorterminal.com/tools/kraken.md · JSON https://www.anchorterminal.com/api/v1/tools/kraken.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 67\n- Payments \u0026 pricing, 60 against 40\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### Kraken API (BB)\n\nGood for: An agent that trades spot, xStocks, forex or futures on a person's Kraken account from a local machine, with paper trading to test first and an approval gate on live orders.\n\nAhead on:\n- Schema \u0026 documentation, 80 against 58\n- Agent ergonomics, 79 against 66\n- Transparency \u0026 trust, 65 against 50\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: No self-service spot sandbox; the spot UAT environment is on request through an account manager, and paper trading lives in the CLI\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Kraken API +22\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- Kraken API (80): No OpenAPI file was found for the REST API in the docs read; the CLI's agents/tool-catalog.json gives JSON Schema inputs for all 188 commands and the 152 MCP tools (15 of 25). The docs serve Markdown twins such as quickstart.md and the CLI ships llms.txt, AGENTS.md and CONTEXT.md (10). Endpoint pages and guides on order lifecycle, errors and rate limits say what each call does, with less on when not to use one (15 of 20). Enums for order types, time in force and flags, and enums and required fields in the tool catalogue (12 of 15). Python, Node.js and cURL examples, an errors guide and the CLI's error-catalog.json with retry guidance (13 of 15). A changelog of 120 dated entries with deprecations dated (15). 15 + 10 + 15 + 12 + 13 + 15 = 80.\n\n### Payments \u0026 pricing: dYdX +20\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- Kraken API (40): No machine payment protocol (0). Maker and taker fees by tier published without login (20). Public market data, paper trading and the futures demo need no account or card (20). A person signs up, verifies and mints a key or approves the OAuth sign-in (0). 0 + 20 + 20 + 0 = 40.\n\n### Reliability: dYdX +16\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- Kraken API (67): Read with the hosted lines on the spot API. status.kraken.com is a Statuspage site with REST, WebSocket and FIX components (20). The incidents feed read covers 4 September to 3 November 2026. On 30 October spot and derivatives clients could not connect or submit orders across web, mobile, REST, WebSocket and FIX for 59 minutes 39 seconds, rated minor by Kraken; on 28 October some FIX clients were rejected on reconnection for 1 hour 59 minutes while other interfaces worked; the futures engine was degraded for 3 minutes on 13 October. A whole-exchange order outage 21 seconds short of an hour is read as one major (10 of 30). Numeric limits per key by tier and per pair for the matching engine (15). EAPI:Rate limit exceeded and EService:Throttled with a retry timestamp, a client order id and a validate flag on orders, but no Retry-After header (12 of 15). No SLA (0). Generally available (10). 20 + 10 + 15 + 12 + 0 + 10 = 67.\n\n### Transparency \u0026 trust: Kraken API +15\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- Kraken API (65): The editorial half. A closed service with clear terms naming regional Payward entities under California law; the CLI is MIT (15 of 30). The privacy notice was not read (5 of 30). The changelog dates deprecations and the terms carry a last-updated date (16 of 20). No subprocessor or data-location statement read (0 of 20). 15 + 5 + 16 + 0 = 36.\n\n### Agent ergonomics: Kraken API +13\n\n- dYdX (66): An API, read for response sizing. `limit` on list endpoints, candles by resolution, sparklines by period; the order book comes whole (16 of 25). `limit`, `page` on fills, transfers and funding, and height or time cursors (16 of 20). Indexer errors are a status and a sentence; order rejections come back from the chain as transaction results the clients surface (8 of 20). Unique 32-bit client IDs, `goodTilBlock` expiry on short-term orders, cancel by order ID; no MCP annotations apply (14 of 20). Few required fields with market parameters fetched for unit conversion, and official clients in TypeScript, Python and Rust (12 of 15). Total 66.\n- Kraken API (79): The MCP server loads services with -s, defaults to no live trading, and its 152 tool definitions average about 520 characters; the REST API takes count, limit and pair filters but has no field selection (18 of 25). Cursor pagination on ledgers and trades since 30 September and 6 October 2026, with ofs deprecated (17 of 20). Prefixed error strings such as EOrder:Rate limit exceeded and EAPI:Invalid nonce, and the CLI's error catalogue says which to retry (17 of 20). cl_ord_id and validate on orders, destructive_hint and elicitation on dangerous MCP tools, no idempotency key on REST (16 of 20). An official Rust SDK at 5 stars, a Go module and example clients, HMAC-SHA512 signing with a strict nonce (11 of 15). 18 + 17 + 17 + 16 + 11 = 79.\n\n## Score by category\n\n| Category | Weight | dYdX | Kraken API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 67 | dYdX +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 80 | Kraken API +22 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 79 | Kraken API +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 78 | 80 | Kraken API +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | dYdX +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 81 | dYdX +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 65 | Kraken API +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.5 · B** | **71 · BB** | |\n\n## Facts side by side\n\n| Fact | dYdX | Kraken API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | dYdX Trading Inc. | Payward, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\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. | Proprietary hosted service under Kraken's Global Terms of Service (30 October 2026). kraken-cli, which carries the kraken-mcp server, is MIT |\n| Tools exposed | 0 | 152 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-29 | 2026-10-29 |\n| Terms last updated | 2026-03-12 | 2026-10-30 |\n| Privacy policy last updated | 2025-06-06 | 2026-10-21 |\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 | yes |\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 | 795 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**Kraken API.** Kraken pairs a documented REST, WebSocket and FIX API with the open-source kraken-cli, whose kraken-mcp server gates 33 dangerous tools behind approval and signs in by OAuth with a no-withdrawal key. Spot has no self-service sandbox, no OpenAPI file was found, and a 59-minute connectivity outage hit every interface on 30 October 2026.\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### Kraken API\n\n1. Start kraken-mcp with -s market,paper,feedback or the default services; add trade only with a least-privilege key, and never pass --allow-dangerous on an agent that reads untrusted input\n2. Ask the person to run kraken auth login in their own terminal; it needs a browser and saves a no-withdrawal key that expires in 90 days at most\n3. Send a fresh --cl-ord-id on each order and run it with --validate first; after a network error look the order up before sending it again\n4. Keep the nonce strictly increasing per key and stay under the tier's counter, since EAPI:Rate limit exceeded has no Retry-After header\n5. Test strategies in a paper workspace, which fills at live prices with no account, before a live workspace\n\n## Questions\n\n### Which is better for AI agents, dYdX or Kraken API?\n\nKraken API scores 71 (BB) on agent readiness against dYdX's 69.5 (B), and leads in 4 of 7 scored categories. dYdX leads on reliability and payments \u0026 pricing.\n\n### Do dYdX and Kraken API need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call dYdX and Kraken API without installing anything?\n\nNo hosted endpoint is listed for dYdX. Kraken API runs on your own machine, with no hosted endpoint listed.\n\n### Are dYdX and Kraken API 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 Kraken API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/dydx-vs-kraken.json, and with the fewest tokens: https://www.anchorterminal.com/compare/dydx-vs-kraken.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"dydx\", \"b\": \"kraken\"}`. From a terminal: `anchor compare dydx kraken`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/dydx.json and https://www.anchorterminal.com/api/v1/tools/kraken.json\n\n## Other comparisons with dYdX or Kraken API\n\n- [Bitfinex API vs dYdX](https://www.anchorterminal.com/compare/bitfinex-vs-dydx.md)\n- [Bitfinex API vs Kraken API](https://www.anchorterminal.com/compare/bitfinex-vs-kraken.md)\n- [Bitget vs dYdX](https://www.anchorterminal.com/compare/bitget-vs-dydx.md)\n- [Bitget vs Kraken API](https://www.anchorterminal.com/compare/bitget-vs-kraken.md)\n- [Bithumb Open API vs dYdX](https://www.anchorterminal.com/compare/bithumb-vs-dydx.md)\n- [Bithumb Open API vs Kraken API](https://www.anchorterminal.com/compare/bithumb-vs-kraken.md)\n- [Bitstamp API vs dYdX](https://www.anchorterminal.com/compare/bitstamp-vs-dydx.md)\n- [Bitstamp API vs Kraken API](https://www.anchorterminal.com/compare/bitstamp-vs-kraken.md)\n- [Bybit vs dYdX](https://www.anchorterminal.com/compare/bybit-vs-dydx.md)\n- [Bybit vs Kraken API](https://www.anchorterminal.com/compare/bybit-vs-kraken.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 Kraken API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-kraken.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 Kraken API](https://www.anchorterminal.com/compare/gate-io-vs-kraken.md)\n- [Gemini Exchange API vs Kraken API](https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.md)\n- [HTX trading API vs Kraken API](https://www.anchorterminal.com/compare/htx-vs-kraken.md)\n- [Binance API vs Kraken API](https://www.anchorterminal.com/compare/binance-vs-kraken.md)\n- [Coinbase Advanced Trade API vs Kraken API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Kraken API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-kraken.md)\n- [Kraken API vs KuCoin](https://www.anchorterminal.com/compare/kraken-vs-kucoin.md)\n- [Kraken API vs MEXC API](https://www.anchorterminal.com/compare/kraken-vs-mexc.md)\n- [Kraken API vs OKX API](https://www.anchorterminal.com/compare/kraken-vs-okx.md)\n- [Kraken API vs Uniswap Trading API](https://www.anchorterminal.com/compare/kraken-vs-uniswap.md)\n- [Kraken API vs Upbit Open API](https://www.anchorterminal.com/compare/kraken-vs-upbit.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 Kraken API](https://www.anchorterminal.com/compare/deribit-vs-kraken.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 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- [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 Kraken API",
        "url": ""
      }
    ],
    "description": "Kraken scores 71 (BB) to dYdX's 69.5 (B) for exchange derivatives. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "dYdX B 69.5",
      "Kraken API BB 71",
      "scores"
    ],
    "h1": "dYdX vs Kraken API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/dydx-vs-kraken",
    "published": "2026-10-01",
    "section": "tools",
    "title": "dYdX vs Kraken for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/dydx-vs-kraken"
  },
  "tokens": {
    "markdown": 4650,
    "slim": 2430
  },
  "version": 1
}
