{
  "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"
  },
  "tool": {
    "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"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 83,
          "points": 16.6,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 58,
          "points": 9.43,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 66,
          "points": 10.73,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 78,
          "points": 13.65,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 60,
          "points": 7.5,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 83,
          "points": 7.26,
          "reason": "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.",
          "checked": "2026-11-03"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 50,
          "points": 4.38,
          "note": "editorial 50, provenance 50",
          "reason": "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.",
          "checked": "2026-11-03"
        }
      ],
      "assessment": {
        "date": "2026-11-03",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "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.",
          "maintenance": "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.",
          "payments": "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.",
          "reliability": "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.",
          "schema": "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.",
          "security": "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.",
          "transparency": "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."
        },
        "sources": [
          {
            "what": "docs landing page",
            "url": "https://docs.dydx.xyz/",
            "seen": "2026-11-03"
          },
          {
            "what": "docs llms.txt",
            "url": "https://docs.dydx.xyz/llms.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "endpoints (indexer, nodes, testnet, faucet)",
            "url": "https://docs.dydx.xyz/interaction/endpoints",
            "seen": "2026-11-03"
          },
          {
            "what": "indexer HTTP API",
            "url": "https://docs.dydx.xyz/indexer-client/http",
            "seen": "2026-11-03"
          },
          {
            "what": "trading guide (orders, client IDs, goodTilBlock)",
            "url": "https://docs.dydx.xyz/interaction/trading",
            "seen": "2026-11-03"
          },
          {
            "what": "permissioned keys guide",
            "url": "https://docs.dydx.xyz/interaction/permissioned-keys",
            "seen": "2026-11-03"
          },
          {
            "what": "authenticators concept",
            "url": "https://docs.dydx.xyz/concepts/trading/authenticators",
            "seen": "2026-11-03"
          },
          {
            "what": "rate limits",
            "url": "https://docs.dydx.xyz/concepts/trading/limits/rate-limits",
            "seen": "2026-11-03"
          },
          {
            "what": "rewards, fees and parameters",
            "url": "https://docs.dydx.xyz/concepts/trading/rewards",
            "seen": "2026-11-03"
          },
          {
            "what": "architecture overview (on chain and off chain)",
            "url": "https://docs.dydx.xyz/concepts/architecture/overview",
            "seen": "2026-11-03"
          },
          {
            "what": "integration compliance (geo-blocking)",
            "url": "https://docs.dydx.xyz/interaction/integration/integration-compliance",
            "seen": "2026-11-03"
          },
          {
            "what": "docs terms page",
            "url": "https://docs.dydx.xyz/policies/terms",
            "seen": "2026-11-03"
          },
          {
            "what": "docs security page",
            "url": "https://docs.dydx.xyz/policies/security",
            "seen": "2026-11-03"
          },
          {
            "what": "v4 Terms of Use, dYdX Trading Inc.",
            "url": "https://dydx.exchange/v4-terms",
            "seen": "2026-11-03"
          },
          {
            "what": "dydx.xyz terms of use, dYdX International Ltd",
            "url": "https://www.dydx.xyz/legal/terms-of-use",
            "seen": "2026-11-03"
          },
          {
            "what": "privacy policy",
            "url": "https://www.dydx.xyz/legal/privacy-policy",
            "seen": "2026-11-03"
          },
          {
            "what": "status page",
            "url": "https://status.dydx.trade/",
            "seen": "2026-11-03"
          },
          {
            "what": "status history feed",
            "url": "https://status.dydx.trade/history.rss",
            "seen": "2026-11-03"
          },
          {
            "what": "status robots.txt",
            "url": "https://status.dydx.trade/robots.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "bug bounty on Cantina",
            "url": "https://cantina.xyz/bounties/83b38645-7554-43c3-88d4-cac2910650b7",
            "seen": "2026-11-03"
          },
          {
            "what": "official MCP registry search",
            "url": "https://registry.modelcontextprotocol.io/v0/servers?search=dydx",
            "seen": "2026-11-03"
          },
          {
            "what": "dydxprotocol repositories",
            "url": "https://api.github.com/orgs/dydxprotocol/repos?per_page=100\u0026sort=pushed",
            "seen": "2026-11-03"
          },
          {
            "what": "v4-clients repository (stars, issues) and shallow clone",
            "url": "https://api.github.com/repos/dydxprotocol/v4-clients",
            "seen": "2026-11-03"
          },
          {
            "what": "npm @dydxprotocol/v4-client-js latest",
            "url": "https://registry.npmjs.org/@dydxprotocol%2fv4-client-js/latest",
            "seen": "2026-11-03"
          },
          {
            "what": "npm weekly downloads",
            "url": "https://api.npmjs.org/downloads/point/last-week/@dydxprotocol/v4-client-js",
            "seen": "2026-11-03"
          },
          {
            "what": "PyPI release feed dydx-v4-client",
            "url": "https://pypi.org/rss/project/dydx-v4-client/releases.xml",
            "seen": "2026-11-03"
          },
          {
            "what": "dydx.xyz home (footer entity)",
            "url": "https://www.dydx.xyz/",
            "seen": "2026-11-03"
          },
          {
            "what": "security.txt (HTML page returned)",
            "url": "https://dydx.trade/.well-known/security.txt",
            "seen": "2026-11-03"
          }
        ],
        "openQuestions": [
          "unchecked: who operates indexer.dydx.trade, oegs.dydx.trade and the dydx.trade front end. The docs say dYdX Trading Inc. runs none of the components and the compliance page points to the open-source terms; app listings name the dYdX Operations subDAO for the front end.",
          "unchecked: RDAP for dydx.trade (404 at two RDAP services) and dydx.xyz, so domain age is absent from provenance.",
          "unchecked: whether an OpenAPI or Swagger file exists for the indexer; none is linked from the docs read.",
          "unchecked: replies on the 36 open v4-clients issues and whether the Discord answers (github.com issue pages and Discord weren't read).",
          "Judgement call, no deduction. The indexer WebSocket started refusing uncompressed connections with 426 on 26 and 28 October 2026, posted as scheduled maintenance on status.dydx.trade; how far ahead the notice went up wasn't established from the feed, so it is recorded here and in agentNotes rather than deducted.",
          "firstReleased is 16 August 2023, the creation date of the v4-clients repository, the earliest first-hand date found for the v4 surface; the chain's mainnet date was not read first-hand. lastRelease is the 29 October 2026 push to v4-clients.",
          "Judgement call on kind. Listed as http-api on the hosted indexer and the chain endpoints the official clients call; the order book runs in validators' memory and matches commit on chain, recorded under details. The lowest-tier maker fee of 1.0 bps is read from the rewards page's tier table, which the fetch summarised; the fee-free BTC and SOL markets reported by third parties were not found on a dYdX page.",
          "Our own products. It doesn't do LocalGhost's or letme's job. Graded the normal way."
        ]
      },
      "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
      },
      "scoreHistory": [
        {
          "date": "2026-11-03",
          "grade": "B",
          "kind": "listed",
          "method": "0.7",
          "score": 69.5
        }
      ]
    },
    "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"
    },
    "notable": [
      "No official MCP server. The official MCP registry's search for dydx lists only io.github.alekskram/dydx-agent-gateway 0.3.2, a third party's analytics-only PyPI stdio server; the docs and the dydxprotocol GitHub organisation have none (https://registry.modelcontextprotocol.io/v0/servers?search=dydx)",
      "What runs on chain. Validators keep the order book in memory, off chain and outside consensus; the block proposer matches orders and the result is committed on chain. The indexer is a read-only off-chain stack (Postgres, Redis, Kafka) and the docs say none of the components are run by dYdX Trading Inc. (https://docs.dydx.xyz/concepts/architecture/overview)",
      "Permissioned keys compose SignatureVerification, MessageFilter, SubaccountFilter and ClobPairIdFilter under AllOf or AnyOf, can exclude withdrawals and transfers, and cannot yet set position or order size limits or margin caps (https://docs.dydx.xyz/concepts/trading/authenticators)",
      "Rate limits are 100 indexer requests per 10 seconds per IP, 2 stateful order placements a block and 20 per 100 blocks, and 4,000 short-term placements and cancellations per 5 blocks per account; failed attempts count (https://docs.dydx.xyz/concepts/trading/limits/rate-limits)",
      "status.dydx.trade is an Atlassian Statuspage with Frontends, dYdX Chain, Indexer, Order Gateway and Client Libraries components; between 1 August and 3 November 2026 it lists seven maintenance windows (protocol v9.7 on 11 September, v9.8.0 on 12 October, indexer WebSocket compression required on 26 and 28 October) and one degraded instant-deposit partner (https://status.dydx.trade/history.rss)",
      "The v4 Terms of Use of dYdX Trading Inc. (12 March 2026) restrict the perpetuals software to persons outside the United States, Canada and the United Kingdom and sanctioned territories, and say DTI does not deploy the software or operate any interface; dydx.xyz is run by dYdX International Ltd (Cayman Islands) under terms of 6 June 2025 (https://dydx.exchange/v4-terms)",
      "@dydxprotocol/v4-client-js 3.6.0 (AGPL-3.0, GitHub Actions trusted publishing with provenance) and dydx-v4-client 1.1.6 on PyPI (12 February 2026); v4-clients was pushed on 29 October 2026 (https://registry.npmjs.org/@dydxprotocol%2fv4-client-js/latest)"
    ],
    "area": "payments",
    "details": [
      {
        "label": "Surface listed",
        "value": "The indexer REST and WebSocket API at indexer.dydx.trade/v4 for reads, and the official clients (TypeScript, Python, Rust) that sign and broadcast chain messages to validator nodes for orders, read from docs.dydx.xyz, the v4-clients repository, npm, PyPI, status.dydx.trade and the terms on 3 November 2026. No wallet was created and no transaction was sent"
      },
      {
        "label": "MCP server",
        "value": "None found. Checked docs.dydx.xyz (no mention), the dydxprotocol GitHub organisation (first 18 repositories by push date, none an MCP server) and the official MCP registry, whose search returns only io.github.alekskram/dydx-agent-gateway 0.3.1 and 0.3.2, a third party's PyPI stdio analytics server that holds no keys and is not dYdX's"
      },
      {
        "label": "What runs on chain",
        "value": "dYdX Chain is a CometBFT and Cosmos SDK proof-of-stake chain. Orders are chain messages; validators hold the order book in memory outside consensus, the proposer matches and the matches commit in the next block. Short-term orders live at most 20 blocks (about 30 seconds), long-term orders up to 95 days. The indexer, the front ends and the Order Entry Gateway are off chain; the docs say dYdX Trading Inc. runs none of them"
      },
      {
        "label": "Key permissions",
        "value": "Authenticators (permissioned keys) added by the owner with the trader's public key and filters, MessageFilter by gRPC message type, SubaccountFilter and ClobPairIdFilter, composed with AllOf or AnyOf. Withdrawals and transfers can be excluded. No position size, order size or margin limits. Removed by `remove_authenticator`. The dydx.trade interface issues an API wallet with default permission to trade all cross-margin pairs"
      },
      {
        "label": "Rate limits",
        "value": "Indexer 100 requests per 10 seconds per IP; WebSocket channel caps of 256 (accounts) and 32 (candles, markets, orderbook, trades) per connection. Per account, 2 stateful order placements a block and 20 per 100 blocks; 4,000 short-term placements and cancellations per 5 blocks; failed attempts count. Public node endpoints from Polkachu (300 a minute) and KingNodes (350 a minute). Current values at /dydxprotocol/clob/block_rate"
      },
      {
        "label": "Testnet",
        "value": "indexer.v4testnet.dydx.exchange (HTTP and WebSocket) with public testnet nodes and a faucet at faucet.v4testnet.dydx.exchange. The docs' examples use the testnet indexer"
      },
      {
        "label": "Countries",
        "value": "The v4 Terms of Use exclude persons who reside in, are located in, are incorporated in or are controlled from the United States, Canada or the United Kingdom for the perpetuals software, plus Iran, Cuba, North Korea, Syria, Myanmar, Crimea, Donetsk, Luhansk and sanctioned parties. Integrators must geo-block themselves; `/v4/geo` and `/v4/compliance/screen/{address}` answer with a blocked flag and a compliance status"
      },
      {
        "label": "Fees",
        "value": "Tier 1 (under $1 million of 30-day volume) 5.0 bps taker and 1.0 bps maker, down to 3.5 bps taker at $25 million or more and 0.5 bps maker at the $5 million tier, set by the governance community, uniform across markets. Gas on each transaction. Fees and gas go to staking rewards for validators and delegators"
      },
      {
        "label": "WebSocket and FIX",
        "value": "wss://indexer.dydx.trade/v4/ws with subaccount, orderbook, trades, candles, markets and block-height channels; compression (permessage-deflate) required since 26 October 2026. Full-node gRPC streaming for order book state. No FIX"
      },
      {
        "label": "Terms on automated trading",
        "value": "dYdX Trading Inc.'s v4 Terms of Use (12 March 2026) don't mention APIs or bots; MegaVault's annex describes automated strategies. dYdX International Ltd's site terms (6 June 2025) forbid any robot, spider, crawler, scraper or other automated means or interface not provided by us, and ask users to keep API keys confidential"
      },
      {
        "label": "Errors",
        "value": "Indexer responses document 400 (malformed or invalid) and 404 (not found) by status only; order rejections come back as chain transaction results. No error code list or 429 guidance found"
      },
      {
        "label": "SDKs",
        "value": "@dydxprotocol/v4-client-js 3.6.0 (AGPL-3.0, Node 24, trusted publishing with SLSA provenance, 86,394 weekly downloads), dydx-v4-client 1.1.6 on PyPI (12 February 2026) and a Rust client, the Python and Rust ones developed by Nethermind inside the official repository (119 stars, 36 open issues). A C++ client is a third-party grant project"
      },
      {
        "label": "Legal entity",
        "value": "dYdX Trading Inc. (dba dYdX Labs) licenses the software and sponsors the bug bounty; dYdX International Ltd, Cayman Islands, runs dydx.xyz; the dydx.trade front end is operated by the dYdX Operations subDAO per the docs' compliance page and app listings. No entity is named for indexer.dydx.trade"
      }
    ],
    "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,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "dYdX Trading Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "dydx.xyz, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": " is not on dydx.xyz",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Terms of service",
          "value": "read, states 5 of the 7 things a reader expects, and has 1 clause that costs points",
          "points": 6.3,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 7 of the 8 things a reader expects",
          "points": 9.3,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Status page",
          "value": "status.dydx.trade",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "security.txt",
          "value": "could not be fetched",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "check": "People named",
          "value": "1 named with their role, none with a public profile",
          "points": 7,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Support route",
          "value": "help pages, a community",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://dydx.exchange/v4-terms",
          "state": "read",
          "readAt": "2026-11-03",
          "statedDate": "2026-03-12",
          "words": 10396,
          "points": 6.3,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last updated March 12, 2026",
              "says": "Last updated 2026-03-12"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "…related to these Terms or dYdX Software, will be governed by and construed and enforced under the laws of the State of California, as applicable, without regard to conflict of law rules or principles (whether of the State of California or any other jurisdiction) that would cause the application of the laws of any othe…",
              "says": "The law of the State of California"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "…(including negligence), civil liability, statute, strict liability or other theory of liability, will not exceed the amount of fees paid by you to DTI or a Deployer of dYdX Software or derivative work thereof, if any, in the two (2) month period immediately preceding the event giving rise to the claim for liability.",
              "says": "Capped at the fees paid in the 2 months before the claim"
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "THIS SECTION EXTENDS TO DISPUTES THAT AROSE OR INVOLVE FACTS OCCURING BEFORE THE EXISTENCE OF THIS OR ANY PRIOR VERSIONS OF THESE TERMS AS WELL AS DISPUTES THAT MAY ARISE AFTER THE TERMINATION OF THESE TERMS."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": false
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "YOU ACKNOWLEDGE, UNDERSTAND AND AGREE THAT (I) YOU MUST NOT MODIFY, DISASSEMBLE, DECOMPILE, ADAPT, ALTER, TRANSLATE, REVERSE ENGINEER OR CREATE DERIVATIVE WORKS OF DYDX SOFTWARE TO MAKE SUCH DYDX SOFTWARE OR DERIVATIVES OF SUCH SOFTWARE AVAILABLE TO ANY RESTRICTED PERSONS;"
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "terms.nonotice",
              "label": "Says the terms or the service can change without notice",
              "found": true,
              "quote": "We may change or discontinue supporting dYdX software at any time and without notice at our sole discretion.",
              "costsPoints": true
            },
            {
              "key": "terms.cutoff",
              "label": "Says access can be ended without notice or for any reason",
              "found": true,
              "quote": "DTI reserves the right at any time and from time to time to modify, suspend or discontinue, temporarily or permanently, for any reason whatsoever, dYdX Software or the Licensed Code (or any part thereof) with or without notice."
            },
            {
              "key": "terms.arbitration",
              "label": "Requires arbitration or waives class actions",
              "found": true,
              "quote": "Except for certain kinds of disputes described in Section 11 (Dispute Resolution and Arbitration), you agree that disputes arising under these Terms will be resolved by binding, individual arbitration, and BY ACCEPTING THESE TERMS, YOU AND DTI ARE EACH WAIVING THE RIGHT TO A TRIAL BY JURY OR TO PARTICIPATE IN ANY CLAS…"
            }
          ],
          "notes": [
            {
              "date": "2026-11-03",
              "text": "Liability is capped at the fees paid to DTI or a deployer in the two months before the event giving rise to the claim.",
              "quote": "will not exceed the amount of fees paid by you to DTI or a Deployer of dYdX Software or derivative work thereof, if any, in the two (2) month period immediately preceding the event giving rise to the claim for liability."
            },
            {
              "date": "2026-11-03",
              "text": "Any claim must be filed within one year of arising or it is permanently barred.",
              "quote": "Any claim arising out of or related to these Terms or dYdX Software must be filed within one (1) year after such claim arose; otherwise, the claim is permanently barred, which means that you and DTI will not have the right to assert the claim."
            },
            {
              "date": "2026-11-03",
              "text": "Persons or entities in, incorporated in, or operated or controlled from the United States, Canada or the United Kingdom may not use the perpetuals trading software.",
              "quote": "Persons or entities who reside in, are located in, are incorporated in, have a registered office or principal place of business in, or are operated or controlled from, the United States, Canada or the United Kingdom; and"
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://www.dydx.xyz/legal/privacy-policy",
          "state": "read",
          "readAt": "2026-11-03",
          "statedDate": "2025-06-06",
          "words": 5400,
          "points": 9.3,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last updated 6 June 2025",
              "says": "Last updated 2025-06-06"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "In this Privacy Notice, we explain how we collect your personal data when you use our websites or any other websites, pages, features, or content we own or operate, obtain services from us, interact with us in relation with a contract, communicate with us, when you use any API that we developed or third-party applicat…"
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We only process your data for as long as necessary to fulfill the purposes we collected it for, including for the purposes of complying with legal retention requirements and where required to assert or defend against legal claims, until the end of the relevant retention period or until the claims in question have been…",
              "says": "For as long as needed, with no period named"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "If you provide information to us about any person other than yourself, you must ensure that the data is accurate and that they understand how their information will be used, and that they have given their permission for you to disclose it to us and for you to allow us, and our outsourced service providers, to use it i…"
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "Your mobile device settings may provide functionality to limit use of the advertising ID associated with your mobile device for interest-based advertising purposes."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Where we process data based on your consent, you have the right to withdraw your consent."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": false
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "…subject to safeguards that assure the protection of your data, such as the European Commission approved standard contractual clauses.",
              "says": "Relies on standard contractual clauses"
            }
          ],
          "notes": [
            {
              "date": "2026-11-03",
              "text": "Behavioural and preference data may be analysed on a personally identifiable basis, for example to show personalised advertising.",
              "quote": "Behavioral and preference data may be analyzed on a personally identifiable basis (for example to show you personalized advertising), but also on a non-identifiable basis (for example for market research or product development)."
            },
            {
              "date": "2026-11-03",
              "text": "Data is combined with third party data such as from address brokers, including household size, income bracket and purchasing power.",
              "quote": "We combine this data with other data we obtain from third parties, such as address brokers, administrative offices and publicly available sources (e.g., the internet), such as information about your household size, income bracket and purchasing power"
            }
          ]
        }
      ]
    },
    "humans": {
      "slug": "dydx",
      "checked": "2026-11-03",
      "company": "dYdX Trading Inc.",
      "people": [
        {
          "name": "Antonio Juliano",
          "role": "Founder",
          "founder": true,
          "bio": "Antonio Juliano founded dYdX. In his post of 30 June 2026 on dydx.xyz, A New Arc, he writes that he is dYdX's founder and the largest DYDX token holder, and introduces Arcus, an exchange built by dYdX Labs with Robinhood Crypto.",
          "bioSources": [
            "https://www.dydx.xyz/blog/a-new-arc"
          ],
          "page": "/people/antonio-juliano/"
        }
      ],
      "peopleNote": "Antonio Juliano's role comes from his own post on the company blog; whether he is CEO today is not stated on a dYdX page read (press reports say he returned as CEO in late 2024). No LinkedIn or X account for him is linked from a dYdX page. dydx.xyz has no about or team page; its footer names dYdX International Ltd and the disclaimers dYdX Trading Inc. dba dYdX Labs. Investors come from The Block's report of 15 June 2021 on the $65 million Series C led by Paradigm, which also lists the January 2021 Series B and earlier backers; no funding post was found on dydx.xyz's blog (its index goes back to January 2026) and the Paradigm portfolio page answered 404. Ownership private from the terms and the blog.",
      "companySocial": {
        "x": "https://x.com/dYdX",
        "github": "https://github.com/dydxprotocol"
      },
      "support": {
        "urls": [
          "https://help.dydx.trade/en/",
          "https://docs.dydx.xyz/"
        ],
        "community": [
          {
            "label": "Discord",
            "url": "https://discord.com/invite/dydx",
            "kind": "discord"
          }
        ],
        "contactUrls": [
          "https://help.dydx.trade/en/"
        ]
      },
      "sources": [
        "https://www.dydx.xyz/blog/a-new-arc",
        "https://www.dydx.xyz/",
        "https://www.dydx.xyz/blog",
        "https://dydx.exchange/v4-terms",
        "https://www.dydx.xyz/legal/terms-of-use",
        "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
        "https://cantina.xyz/bounties/83b38645-7554-43c3-88d4-cac2910650b7"
      ],
      "ownership": {
        "status": "private",
        "totalRaised": {
          "amount": "$75M across the Series B and Series C",
          "asOf": "2021-06",
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise"
        },
        "checked": "2026-11-03",
        "sources": [
          "https://dydx.exchange/v4-terms",
          "https://www.dydx.xyz/blog/a-new-arc",
          "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise"
        ]
      },
      "investors": [
        {
          "name": "Paradigm",
          "kind": "vc",
          "rounds": [
            "Series C, June 2021"
          ],
          "lead": true,
          "url": "https://www.paradigm.xyz",
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
          "quote": "led by Paradigm",
          "page": "/investors/paradigm/"
        },
        {
          "name": "Three Arrows Capital",
          "kind": "vc",
          "rounds": [
            "Series B, January 2021"
          ],
          "lead": true,
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
          "quote": "Series B (January 2021, $10 million), led by Three Arrows Capital and DeFiance Capital",
          "page": "/investors/three-arrows-capital/"
        },
        {
          "name": "DeFiance Capital",
          "kind": "vc",
          "rounds": [
            "Series B, January 2021"
          ],
          "lead": true,
          "url": "https://defiance.capital",
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
          "quote": "led by Three Arrows Capital and DeFiance Capital",
          "page": "/investors/defiance-capital/"
        },
        {
          "name": "Andreessen Horowitz",
          "kind": "vc",
          "url": "https://a16z.com",
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
          "quote": "Earlier backers: a16z, Bain Capital Ventures",
          "page": "/investors/andreessen-horowitz/"
        },
        {
          "name": "Bain Capital Ventures",
          "kind": "vc",
          "url": "https://baincapitalventures.com",
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
          "quote": "Earlier backers: a16z, Bain Capital Ventures",
          "page": "/investors/bain-capital-ventures/"
        },
        {
          "name": "Electric Capital",
          "kind": "vc",
          "rounds": [
            "Series C, June 2021"
          ],
          "url": "https://www.electriccapital.com",
          "source": "https://www.theblock.co/post/105881/defi-exchange-dydx-65-million-raise",
          "quote": "Series C participants (alongside Paradigm): QCP Capital, CMS Holdings, CMT Digital, Finlink Capital, Sixtant, Menai Financial Group, MGNR, Kronos Research, HashKey, Electric Capital, Delphi Digital, StarkWare",
          "page": "/investors/electric-capital/"
        }
      ]
    },
    "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"
    }
  }
}
