{
  "data": {
    "a": {
      "slug": "bithumb",
      "name": "Bithumb Open API",
      "vendor": "Bithumb Co., Ltd.",
      "vendorUrl": "https://apidocs.bithumb.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Bithumb, a Korean exchange, runs a REST and WebSocket Open API for KRW market data, orders, balances, deposits and withdrawals, and an official AI Trade Kit with a local MCP server, a CLI and agent skills.",
      "url": "https://www.anchorterminal.com/tools/bithumb",
      "markdownUrl": "https://www.anchorterminal.com/tools/bithumb.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bithumb.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bithumb.json",
      "dns": "bithumb.grade.anchorterminal.com",
      "repo": "https://github.com/bithumb-official/bithumb-ai-trade-kit",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@bithumb-official/bithumb-mcp"
        },
        {
          "registry": "npm",
          "name": "@bithumb-official/bithumb-cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access and secret keys issued under My Page \u003e API Management on bithumb.com after identity verification. The person picks permissions (asset inquiry, order inquiry, place orders, withdrawals and others) and registers the IP addresses allowed to call. Each request carries a JWT signed with the secret as a Bearer token. Keys are valid for one year from issue and can't be extended; up to 10 per account including expired ones; the secret is shown once. The MCP server and CLI read BITHUMB_ACCESS_KEY and BITHUMB_SECRET_KEY, and market tools need no key (https://apidocs.bithumb.com/docs/빠른-시작-가이드.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "Trading fees per fill. The fee page at bithumb.com/react/info/fee/trade timed out on every attempt, so no rate is recorded; press reports from 2024 describe a 0.04 per cent rate with a monthly coupon and 0.25 per cent without, which is a lead and not a source. Public market data needs no key and no account (https://www.bithumb.com/react/info/fee/trade, checked 2026-11-03).",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the AI Trade Kit repository or llms.txt (checked 2026-11-03). Fees are taken from each fill.",
        "endpoints": []
      },
      "toolCount": 41,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://apidocs.bithumb.com/reference/api-레퍼런스",
      "llmsTxt": "https://apidocs.bithumb.com/llms.txt",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.balances",
        "exchange.transfers",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "api-key",
        "closed-source",
        "usage-priced",
        "mcp",
        "cli",
        "agent-skills",
        "read-only-mode",
        "llms-txt",
        "mit",
        "no-status-page"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.6,
        "grade": "D",
        "agentReady": false,
        "rank": 934,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 69,
          "payments": 15,
          "reliability": 34,
          "schema": 64,
          "security": 60,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Bithumb runs an official local MCP server with 41 tools, module selection and a read-only flag, beside a CLI with per-profile read-only gating and six agent skills, over an API with scoped one-year keys and a mandatory IP list. There is no sandbox, no status page, no documented 429 behaviour, and the fees and terms couldn't be read.",
        "bestFor": "KRW-market trading for agents acting for a verified Korean account, with a vendor-built MCP server, CLI and skills.",
        "strengths": [
          "An official MCP server from Bithumb with 41 tools in seven selectable modules and a `--read-only` flag that blocks orders, deposits and withdrawals",
          "Keys scoped to chosen permissions, limited to registered IPs and expiring after one year, with a key-list endpoint that shows expiry",
          "The CLI's per-profile read-only flag, local audit log and second factor on KRW deposits and withdrawals, and skills that refuse to bypass read-only",
          "Rate limits published per category with numbers, and notices with effective dates for changes such as the 200-market ticker cap",
          "Errors return a stable error.name under an HTTP status, with retry guidance for order_not_ready and server_error"
        ],
        "weaknesses": [
          "No sandbox or testnet; every order uses real funds",
          "A rate-limit breach is signalled only as a temporary restriction, with no status code, header or Retry-After documented",
          "No status page, incident history or SLA",
          "The MCP server is local only, not in the official MCP registry, and its source is not published (the kit repository holds skills and setup files)",
          "The fee schedule, terms of service and Open API terms on bithumb.com timed out or answered a title only, so none is recorded first-hand"
        ],
        "agentNotes": [
          "Ask for a key with asset and order inquiry plus order placement only, never withdrawals, with your IP registered; keys expire after one year and a wrong IP answers 401 NotAllowIP",
          "Start the server with `--modules market,account,trade --read-only` for analysis and drop `--read-only` only when the person asks to trade; deposit and withdraw modules stay off",
          "Prefer the `bithumb` CLI for writes, as the skills do, and check `bithumb config show --json` for a read-only profile before any order",
          "Keep the ticker's markets parameter at 200 or fewer, batch orders at 30 and cancels at 30 per request, and stay under 140 private calls a second per category",
          "Retry 422 order_not_ready and 500 server_error after a pause; there is no sandbox, so start with the smallest order the market allows"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.6
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 69,
          "payments": 15,
          "reliability": 34,
          "schema": 64,
          "security": 60,
          "transparency": 24
        },
        "provenanceScore": 69,
        "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 -g @bithumb-official/bithumb-cli",
        "http": "curl 'https://api.bithumb.com/v1/market/all?isDetails=false'",
        "config": {
          "mcpServers": {
            "bithumb": {
              "args": [
                "-y",
                "@bithumb-official/bithumb-mcp",
                "--modules",
                "market,account,trade",
                "--read-only"
              ],
              "command": "npx",
              "env": {
                "BITHUMB_ACCESS_KEY": "${BITHUMB_ACCESS_KEY}",
                "BITHUMB_SECRET_KEY": "${BITHUMB_SECRET_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/bithumb"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Bithumb Co., Ltd.",
        "domain": "bithumb.com",
        "domainRegistered": "2015-06-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bithumb.com/react/terms/info-terms",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://apidocs.bithumb.com/changelog",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "Bithumb Co., Ltd. is named in the AI Trade Kit's disclaimer (compliance review 007441, 29 May 2026 to 28 May 2027). The terms of service at bithumb.com/react/terms/info-terms answered a page title only on two attempts, and the Open API terms, company page and fee pages timed out or did the same; no privacy policy URL was found in the sitemap's first part, so it is left empty.",
          "www.bithumb.com/robots.txt has no active rules (comments only) and two sitemaps; apidocs.bithumb.com/robots.txt allows everything but edit, login and api-next paths and points to llms.txt.",
          "https://www.bithumb.com/.well-known/security.txt timed out twice; recorded as unknown.",
          "RDAP gives bithumb.com a registration date of 16 June 2015.",
          "No status page found; the API has wallet-status and notices endpoints."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bithumb.json",
      "live": {
        "slug": "bithumb",
        "versions": [
          {
            "registry": "npm",
            "name": "@bithumb-official/bithumb-cli",
            "version": "0.8.5",
            "seenAt": "2026-11-04T20:02:56.600783413Z"
          },
          {
            "registry": "npm",
            "name": "@bithumb-official/bithumb-mcp",
            "version": "0.8.5",
            "seenAt": "2026-11-04T20:02:55.754674786Z"
          }
        ],
        "githubStars": 6,
        "npmWeekly": 87,
        "securityTxt": {
          "url": "https://bithumb.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:26.914675257Z"
        },
        "updatedAt": "2026-11-04T20:02:57.989976217Z"
      }
    },
    "answer": "dYdX scores 69.5 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in 5 of 7 scored categories. Bithumb Open API leads on schema \u0026 documentation.",
    "b": {
      "slug": "dydx",
      "name": "dYdX",
      "vendor": "dYdX Trading Inc.",
      "vendorUrl": "https://www.dydx.xyz",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "dYdX is a perpetuals exchange on its own Cosmos chain. Agents read markets and accounts from the indexer REST and WebSocket API at indexer.dydx.trade and place orders as signed chain transactions through the official TypeScript, Python and Rust clients.",
      "url": "https://www.anchorterminal.com/tools/dydx",
      "markdownUrl": "https://www.anchorterminal.com/tools/dydx.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/dydx.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/dydx.json",
      "dns": "dydx.grade.anchorterminal.com",
      "repo": "https://github.com/dydxprotocol/v4-clients",
      "license": "The clients are AGPL-3.0 with a use condition tied to the v4 Terms of Use; the chain software (dydxprotocol/v4-chain) carries a custom licence GitHub cannot classify. The hosted indexer at indexer.dydx.trade and the front end are run by third parties, not dYdX Trading Inc.",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@dydxprotocol/v4-client-js"
        },
        {
          "registry": "pypi",
          "name": "dydx-v4-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "Indexer reads need no credential. Orders, cancels and transfers are chain messages signed with the account's key (a mnemonic or private key in the clients). Permissioned keys let an owner add an authenticator that lets another key act within limits, composed from SignatureVerification, MessageFilter (for example only /dydxprotocol.clob.MsgPlaceOrder), SubaccountFilter and ClobPairIdFilter under AllOf or AnyOf, and removed with remove_authenticator. The dydx.trade interface generates an API wallet with default permission to trade all cross-margin pairs and shows its private key once (https://docs.dydx.xyz/concepts/trading/authenticators, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The indexer and clients have no charge. Trading fees at the lowest tier (under $1 million of 30-day volume) are 5.0 bps taker and 1.0 bps maker, set by governance, uniform across markets, with gas on each transaction; fees flow to validators and stakers (https://docs.dydx.xyz/concepts/trading/rewards, checked 2026-11-03).",
      "priceSummary": "0.05% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or clients (checked 2026-11-03). Accounts are funded with USDC through Noble or an onboarding partner.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 119,
        "npmWeekly": 86394,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.dydx.xyz/",
      "llmsTxt": "https://docs.dydx.xyz/llms.txt",
      "capabilities": [
        "exchange.derivatives",
        "exchange.market-data",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto",
        "wallet.onchain"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "llms-txt",
        "typescript",
        "python",
        "rust",
        "sandbox",
        "usage-priced",
        "status-page",
        "bug-bounty",
        "no-key",
        "rest"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 222,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 3,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 60,
          "reliability": 83,
          "schema": 58,
          "security": 78,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "dYdX gives an agent keyless indexer reads, permissioned keys limited by message type, subaccount and market, a Statuspage with a clean 90 days, published fees and a testnet with a faucet. There is no official MCP server or OpenAPI file, orders are chain transactions signed by the clients, and no one entity operates the hosted endpoints.",
        "bestFor": "An agent trading perpetuals from its own Cosmos wallet or through a permissioned key on an owner's account, outside the US, Canada and UK.",
        "strengths": [
          "Permissioned keys limit a delegated key to chosen message types, subaccounts and markets, exclude withdrawals and transfers, and are removed with `remove_authenticator`",
          "status.dydx.trade lists Indexer, Chain, Order Gateway and Client Libraries components, with only maintenance windows and one partner deposit delay in the last 90 days",
          "Fees public at 5.0 bps taker and 1.0 bps maker at the lowest tier, with rate limits and block limits stated with numbers",
          "Official TypeScript, Python and Rust clients with CI and trusted publishing, and a testnet with a faucet",
          "A Cantina bug bounty up to $1,000,000 sponsored by dYdX Trading Inc. covering the protocol, indexer, web client and client SDKs"
        ],
        "weaknesses": [
          "No official MCP server; the one registry entry is a third party's analytics server",
          "No OpenAPI file for the indexer; error responses are described by HTTP status only, and chain rejections surface as transaction results",
          "No 429 handling or Retry-After documented for the indexer; permissioned keys cannot cap position or order size",
          "The hosted indexer and front end are run by unnamed third parties; dYdX Trading Inc. says it runs none of the components",
          "Restricted to persons outside the United States, Canada and the United Kingdom, with geo-blocking left to each integrator"
        ],
        "agentNotes": [
          "Ask the account owner for an authenticator limited to `/dydxprotocol.clob.MsgPlaceOrder` and `MsgCancelOrder` on one subaccount, and keep its private key out of prompts",
          "Set a unique 32-bit `clientId` on every order and look it up on `/v4/orders` after a timeout; short-term orders expire with `goodTilBlock` (at most 20 blocks ahead)",
          "Stay under 2 stateful orders a block and 20 per 100 blocks; failed placements count, so use short-term orders for active trading",
          "Enable permessage-deflate on the indexer WebSocket; since 26 October 2026 connections without compression may be refused with 426",
          "Check `/v4/geo` and the compliance screen before trading for a person, since the terms exclude the United States, Canada and the United Kingdom"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 83,
          "payments": 60,
          "reliability": 83,
          "schema": 58,
          "security": 78,
          "transparency": 50
        },
        "provenanceScore": 50,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @dydxprotocol/v4-client-js",
        "http": "curl https://indexer.dydx.trade/v4/orderbooks/perpetualMarket/ETH-USD"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.derivatives",
        "tool": "https://letme.dev/dydx"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Taker fee, tier 1",
          "unit": "pct",
          "usd": 0.05,
          "note": "5.0 bps of notional; maker 1.0 bps"
        }
      ],
      "provenance": {
        "legalEntity": "dYdX Trading Inc.",
        "domain": "dydx.xyz",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://dydx.exchange/v4-terms",
        "privacy": "https://www.dydx.xyz/legal/privacy-policy",
        "statusPage": "https://status.dydx.trade",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "dYdX Trading Inc. is the entity in the v4 Terms of Use (last updated 12 March 2026), the clients' licence and the Cantina bug bounty. dydx.xyz's terms and privacy policy (6 June 2025) name dYdX International Ltd, Cayman Islands, and its footer reads dYdX International Ltd.",
          "The indexer at indexer.dydx.trade is not on dydx.xyz and the docs say dYdX Trading Inc. runs none of the hosted components, so the endpoint is recorded as off the vendor's domain.",
          "RDAP for dydx.trade answered 404 at the Identity Digital and rdap.org services, so the domain age is unchecked; the vendor domain dydx.xyz was not queried.",
          "status.dydx.trade is an Atlassian Statuspage with five components and an RSS history; its robots.txt disallows /api/ and /embed/, so the history was read from /history.rss.",
          "https://dydx.trade/.well-known/security.txt answered the app's HTML page, so security.txt is unknown. No API changelog; protocol upgrades appear as status maintenance entries."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/dydx.json",
      "live": {
        "slug": "dydx",
        "vendorStatus": {
          "page": "https://status.dydx.trade",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T21:25:45.353365472Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "dydxprotocol/v4-clients",
            "version": "v4-client-js@3.4.0",
            "released": "2025-12-17",
            "seenAt": "2026-11-04T20:13:31.787772276Z"
          },
          {
            "registry": "npm",
            "name": "@dydxprotocol/v4-client-js",
            "version": "3.6.0",
            "seenAt": "2026-11-04T20:13:31.051904709Z"
          },
          {
            "registry": "pypi",
            "name": "dydx-v4-client",
            "version": "1.1.6",
            "released": "2026-02-12",
            "seenAt": "2026-11-04T20:13:31.571685567Z"
          }
        ],
        "githubStars": 119,
        "npmWeekly": 75463,
        "pypiWeekly": 707,
        "securityTxt": {
          "url": "https://dydx.xyz/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:03.349495473Z"
        },
        "updatedAt": "2026-11-04T21:25:45.353365472Z"
      }
    },
    "edges": [
      {
        "by": 49,
        "category": "reliability",
        "leads": "dydx",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page found on apidocs.bithumb.com or in llms.txt; wallet-status and notices endpoints stand in (0). No readable incident history, though two notices record a public WebSocket interruption and a brief service break (5). Rate limits documented per category with numbers, updated 27 October 2026 (15). A breach is described only as a temporary restriction, with no status code, header or Retry-After, and no client order id or idempotency key is documented; 422 order_not_ready and 500 server_error say to retry later (4 of 15). No SLA found (0). The API is generally available; the MCP server and CLI are at 0.8.5 (10). 0 + 5 + 15 + 4 + 0 + 10 = 34.",
          "b": "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."
        },
        "scores": {
          "a": 34,
          "b": 83
        }
      },
      {
        "by": 45,
        "category": "payments",
        "leads": "dydx",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The fee page timed out on every attempt, so no price is recorded (0 of 20, unchecked). Public market data needs no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys in the browser (0). 0 + 0 + 15 + 0 = 15.",
          "b": "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."
        },
        "scores": {
          "a": 15,
          "b": 60
        }
      },
      {
        "by": 18,
        "category": "security",
        "leads": "dydx",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Keys scoped to chosen permissions, mandatory registered IPs, one-year expiry, a JWT per request and a key-list endpoint with expiry (26 of 30). Read-only keys, `--read-only` on the MCP server, per-profile read_only on the CLI, a second factor on KRW deposits and withdrawals, and skills that refuse to switch profiles to bypass read-only; nothing server-side confirms an order (16 of 20). The API returns exchange data and the disclaimer warns about prompt injection through third-party plugins (11 of 15). A local audit log for CLI and MCP calls and a key-list endpoint; no server-side per-call log (7 of 15). security.txt timed out and no disclosure policy, bug bounty or certification was found (0 of 20, security.txt unchecked). 26 + 16 + 11 + 7 + 0 = 60.",
          "b": "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."
        },
        "scores": {
          "a": 60,
          "b": 78
        }
      },
      {
        "by": 14,
        "category": "maintenance",
        "leads": "dydx",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. Rate limits updated 27 October 2026 and the ticker cap effective 13 October 2026 (30). Batch orders 20 August, Private v1 retired 30 September, the ticker cap 13 October and the limits page 27 October 2026 (20). A phone support line, dated notices and a GitHub repository with no open issues and one commit; replies not observed (9 of 15). The MCP server is not in the official MCP registry and there is no SDK; the CLI and MCP packages are current (5 of 15). The MCP package depends only on @modelcontextprotocol/sdk ^1.26 on Node 18, with no public source or CI (5 of 10). 30 + 20 + 9 + 5 + 5 = 69.",
          "b": "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."
        },
        "scores": {
          "a": 69,
          "b": 83
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "bithumb",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI found; the reference is a readme.io site with Markdown twins, and the MCP tool schemas weren't read since the server's source isn't published (5 of 25). llms.txt on apidocs.bithumb.com (10). Reference pages state purpose and the skills say when to use each module and when not to (15 of 20). Typed parameters with enums for side, order type and time in force (10 of 15). Examples in several languages and an error-code page with names, statuses and meanings (12 of 15). Versions per endpoint (v1, v2, v2.1.5) and notices with effective dates (12 of 15). 5 + 10 + 15 + 10 + 12 + 12 = 64.",
          "b": "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."
        },
        "scores": {
          "a": 64,
          "b": 58
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bithumb Co., Ltd.",
        "b": "dYdX Trading Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "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.",
        "name": "Licence"
      },
      {
        "a": "41",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-13",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-03-12",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2025-06-06",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars",
        "b": "119 stars, 86k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "dYdX scores 69.5 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in 5 of 7 scored categories. Bithumb Open API leads on schema \u0026 documentation.",
        "question": "Which is better for AI agents, Bithumb Open API or dYdX?"
      },
      {
        "answer": "Bithumb Open API needs an API key. dYdX takes an API key or an OAuth sign-in.",
        "question": "Do Bithumb Open API and dYdX need an API key?"
      },
      {
        "answer": "Bithumb Open API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for dYdX.",
        "question": "Can an agent call Bithumb Open API and dYdX without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Bithumb Open API. 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.).",
        "question": "Are Bithumb Open API and dYdX open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 64 against 58"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "KRW-market trading for agents acting for a verified Korean account, with a vendor-built MCP server, CLI and skills.",
        "slug": "bithumb",
        "watchFor": "No sandbox or testnet; every order uses real funds"
      },
      {
        "aheadOn": [
          "Reliability, 83 against 34",
          "Security \u0026 auth, 78 against 60",
          "Payments \u0026 pricing, 60 against 15",
          "Maintenance \u0026 community, 83 against 69"
        ],
        "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"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.market-data",
      "name": "Exchange market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-bithumb.json",
        "title": "Bitfinex API vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bithumb"
      },
      {
        "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/bitget-vs-bithumb.json",
        "title": "Bitget vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bithumb"
      },
      {
        "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/bithumb-vs-bitstamp.json",
        "title": "Bithumb Open API vs Bitstamp API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-bitstamp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-bybit.json",
        "title": "Bithumb Open API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-bybit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade.json",
        "title": "Bithumb Open API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-mcp.json",
        "title": "Bithumb Open API vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-crypto-com-exchange.json",
        "title": "Bithumb Open API vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-deribit.json",
        "title": "Bithumb Open API vs Deribit",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-gate-io.json",
        "title": "Bithumb Open API vs Gate",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.json",
        "title": "Bithumb Open API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-htx.json",
        "title": "Bithumb Open API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.json",
        "title": "Bithumb Open API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/bithumb-vs-kucoin.json",
        "title": "Bithumb Open API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-mexc.json",
        "title": "Bithumb Open API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-okx.json",
        "title": "Bithumb Open API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap.json",
        "title": "Bithumb Open API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-upbit.json",
        "title": "Bithumb Open API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-upbit"
      },
      {
        "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/bybit-vs-dydx.json",
        "title": "Bybit vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-dydx"
      },
      {
        "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/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/binance-vs-bithumb.json",
        "title": "Binance API vs Bithumb Open API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-bithumb"
      },
      {
        "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/dydx-vs-gate-io.json",
        "title": "dYdX vs Gate",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.json",
        "title": "dYdX vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-htx.json",
        "title": "dYdX vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.json",
        "title": "dYdX vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-kraken.json",
        "title": "dYdX vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-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/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": [
      {
        "bithumb": 34,
        "by": 49,
        "dydx": 83,
        "edge": "dydx",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bithumb": 64,
        "by": 6,
        "dydx": 58,
        "edge": "bithumb",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "bithumb": 67,
        "by": 1,
        "dydx": 66,
        "edge": "bithumb",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "bithumb": 60,
        "by": 18,
        "dydx": 78,
        "edge": "dydx",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "bithumb": 15,
        "by": 45,
        "dydx": 60,
        "edge": "dydx",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bithumb": 69,
        "by": 14,
        "dydx": 83,
        "edge": "dydx",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "bithumb": 47,
        "by": 3,
        "dydx": 50,
        "edge": "dydx",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "dYdX scores 69.5 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in 5 of 7 scored categories. Bithumb Open API leads on schema \u0026 documentation. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bithumb": "Bithumb runs an official local MCP server with 41 tools, module selection and a read-only flag, beside a CLI with per-profile read-only gating and six agent skills, over an API with scoped one-year keys and a mandatory IP list. There is no sandbox, no status page, no documented 429 behaviour, and the fees and terms couldn't be read.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bithumb-vs-dydx",
    "json": "https://www.anchorterminal.com/compare/bithumb-vs-dydx.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bithumb-vs-dydx.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bithumb-vs-dydx.min.md"
  },
  "markdown": "dYdX scores 69.5 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in 5 of 7 scored categories. Bithumb Open API leads on schema \u0026 documentation. Both do exchange market data.\n\n- Bithumb Open API: grade D, 50.6/100, rank #934 of 1349. Markdown https://www.anchorterminal.com/tools/bithumb.md · JSON https://www.anchorterminal.com/api/v1/tools/bithumb.json\n- dYdX: grade B, 69.5/100, rank #222 of 1349. Markdown https://www.anchorterminal.com/tools/dydx.md · JSON https://www.anchorterminal.com/api/v1/tools/dydx.json\n- 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### Bithumb Open API (D)\n\nGood for: KRW-market trading for agents acting for a verified Korean account, with a vendor-built MCP server, CLI and skills.\n\nAhead on:\n- Schema \u0026 documentation, 64 against 58\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No sandbox or testnet; every order uses real funds\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 34\n- Security \u0026 auth, 78 against 60\n- Payments \u0026 pricing, 60 against 15\n- Maintenance \u0026 community, 83 against 69\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\n## Why the edge\n\n### Reliability: dYdX +49\n\n- Bithumb Open API (34): Read with the hosted lines. No status page found on apidocs.bithumb.com or in llms.txt; wallet-status and notices endpoints stand in (0). No readable incident history, though two notices record a public WebSocket interruption and a brief service break (5). Rate limits documented per category with numbers, updated 27 October 2026 (15). A breach is described only as a temporary restriction, with no status code, header or Retry-After, and no client order id or idempotency key is documented; 422 order_not_ready and 500 server_error say to retry later (4 of 15). No SLA found (0). The API is generally available; the MCP server and CLI are at 0.8.5 (10). 0 + 5 + 15 + 4 + 0 + 10 = 34.\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\n### Payments \u0026 pricing: dYdX +45\n\n- Bithumb Open API (15): No machine payment protocol (0). The fee page timed out on every attempt, so no price is recorded (0 of 20, unchecked). Public market data needs no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys in the browser (0). 0 + 0 + 15 + 0 = 15.\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\n### Security \u0026 auth: dYdX +18\n\n- Bithumb Open API (60): Keys scoped to chosen permissions, mandatory registered IPs, one-year expiry, a JWT per request and a key-list endpoint with expiry (26 of 30). Read-only keys, `--read-only` on the MCP server, per-profile read_only on the CLI, a second factor on KRW deposits and withdrawals, and skills that refuse to switch profiles to bypass read-only; nothing server-side confirms an order (16 of 20). The API returns exchange data and the disclaimer warns about prompt injection through third-party plugins (11 of 15). A local audit log for CLI and MCP calls and a key-list endpoint; no server-side per-call log (7 of 15). security.txt timed out and no disclosure policy, bug bounty or certification was found (0 of 20, security.txt unchecked). 26 + 16 + 11 + 7 + 0 = 60.\n- dYdX (78): Orders are signed by the account key or by a permissioned key the owner adds as an authenticator, limited by message type, subaccount and market with AllOf or AnyOf, and revoked by `remove_authenticator`; no shared secret and nothing in a URL (28 of 30). A key can be confined to placing and cancelling orders on one subaccount with withdrawals and transfers excluded, though not to a position or order size, and the interface's default API wallet trades all cross-margin pairs (16 of 20). The API returns no untrusted content (10). Every action is a chain transaction and the indexer lists fills, orders and transfers per subaccount, and authenticators can be listed; no per-key log (10 of 15). A Cantina bug bounty up to $1,000,000 sponsored by dYdX Trading Inc. over the protocol, indexer, web client and SDKs, an Informal Systems audit; no security.txt and no certification (14 of 20). Total 78.\n\n### Maintenance \u0026 community: dYdX +14\n\n- Bithumb Open API (69): Read as a closed service. Rate limits updated 27 October 2026 and the ticker cap effective 13 October 2026 (30). Batch orders 20 August, Private v1 retired 30 September, the ticker cap 13 October and the limits page 27 October 2026 (20). A phone support line, dated notices and a GitHub repository with no open issues and one commit; replies not observed (9 of 15). The MCP server is not in the official MCP registry and there is no SDK; the CLI and MCP packages are current (5 of 15). The MCP package depends only on @modelcontextprotocol/sdk ^1.26 on Node 18, with no public source or CI (5 of 10). 30 + 20 + 9 + 5 + 5 = 69.\n- dYdX (83): Read on the clients and the chain. v4-clients was pushed on 29 October 2026 and protocol v9.8.0 shipped on 12 October (30). Protocol v9.7 on 11 September, v9.8.0 on 12 October, v4-client-js tags 3.5.0 and 3.6.0, three or more in 90 days (20). A Discord, a help centre and 36 open issues on v4-clients whose replies couldn't be read (12 of 25). Official SDKs current, the TypeScript client at 3.6.0 and the Python client at 1.1.6 from February 2026 (12 of 15). CI workflows for lint, test, publish and audit, with trusted publishing and provenance on npm (9 of 10). Total 83.\n\n### Schema \u0026 documentation: Bithumb Open API +6\n\n- Bithumb Open API (64): No OpenAPI found; the reference is a readme.io site with Markdown twins, and the MCP tool schemas weren't read since the server's source isn't published (5 of 25). llms.txt on apidocs.bithumb.com (10). Reference pages state purpose and the skills say when to use each module and when not to (15 of 20). Typed parameters with enums for side, order type and time in force (10 of 15). Examples in several languages and an error-code page with names, statuses and meanings (12 of 15). Versions per endpoint (v1, v2, v2.1.5) and notices with effective dates (12 of 15). 5 + 10 + 15 + 10 + 12 + 12 = 64.\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\n## Score by category\n\n| Category | Weight | Bithumb Open API | dYdX | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 83 | dYdX +49 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 64 | 58 | Bithumb Open API +6 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 66 | Bithumb Open API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 78 | dYdX +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 60 | dYdX +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 83 | dYdX +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 47 | 50 | dYdX +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.6 · D** | **69.5 · B** | |\n\n## Facts side by side\n\n| Fact | Bithumb Open API | dYdX |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bithumb Co., Ltd. | dYdX Trading Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio |  |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | 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. |\n| Tools exposed | 41 | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-13 | 2026-10-29 |\n| Terms last updated | couldn't be read | 2026-03-12 |\n| Privacy policy last updated | no document linked | 2025-06-06 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | 6 stars | 119 stars, 86k npm/wk |\n\n## Verdicts\n\n**Bithumb Open API.** Bithumb runs an official local MCP server with 41 tools, module selection and a read-only flag, beside a CLI with per-profile read-only gating and six agent skills, over an API with scoped one-year keys and a mandatory IP list. There is no sandbox, no status page, no documented 429 behaviour, and the fees and terms couldn't be read.\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## Before you call either\n\n### Bithumb Open API\n\n1. Ask for a key with asset and order inquiry plus order placement only, never withdrawals, with your IP registered; keys expire after one year and a wrong IP answers 401 NotAllowIP\n2. Start the server with `--modules market,account,trade --read-only` for analysis and drop `--read-only` only when the person asks to trade; deposit and withdraw modules stay off\n3. Prefer the `bithumb` CLI for writes, as the skills do, and check `bithumb config show --json` for a read-only profile before any order\n4. Keep the ticker's markets parameter at 200 or fewer, batch orders at 30 and cancels at 30 per request, and stay under 140 private calls a second per category\n5. Retry 422 order_not_ready and 500 server_error after a pause; there is no sandbox, so start with the smallest order the market allows\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## Questions\n\n### Which is better for AI agents, Bithumb Open API or dYdX?\n\ndYdX scores 69.5 (B) on agent readiness against Bithumb Open API's 50.6 (D), and leads in 5 of 7 scored categories. Bithumb Open API leads on schema \u0026 documentation.\n\n### Do Bithumb Open API and dYdX need an API key?\n\nBithumb Open API needs an API key. dYdX takes an API key or an OAuth sign-in.\n\n### Can an agent call Bithumb Open API and dYdX without installing anything?\n\nBithumb Open API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for dYdX.\n\n### Are Bithumb Open API and dYdX open source?\n\nNo open-source release is listed for Bithumb Open API. 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.).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bithumb-vs-dydx.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bithumb-vs-dydx.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bithumb\", \"b\": \"dydx\"}`. From a terminal: `anchor compare bithumb dydx`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bithumb.json and https://www.anchorterminal.com/api/v1/tools/dydx.json\n\n## Other comparisons with Bithumb Open API or dYdX\n\n- [Bitfinex API vs Bithumb Open API](https://www.anchorterminal.com/compare/bitfinex-vs-bithumb.md)\n- [Bitfinex API vs dYdX](https://www.anchorterminal.com/compare/bitfinex-vs-dydx.md)\n- [Bitget vs Bithumb Open API](https://www.anchorterminal.com/compare/bitget-vs-bithumb.md)\n- [Bitget vs dYdX](https://www.anchorterminal.com/compare/bitget-vs-dydx.md)\n- [Bithumb Open API vs Bitstamp API](https://www.anchorterminal.com/compare/bithumb-vs-bitstamp.md)\n- [Bithumb Open API vs Bybit](https://www.anchorterminal.com/compare/bithumb-vs-bybit.md)\n- [Bithumb Open API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade.md)\n- [Bithumb Open API vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/bithumb-vs-coinbase-mcp.md)\n- [Bithumb Open API vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-crypto-com-exchange.md)\n- [Bithumb Open API vs Deribit](https://www.anchorterminal.com/compare/bithumb-vs-deribit.md)\n- [Bithumb Open API vs Gate](https://www.anchorterminal.com/compare/bithumb-vs-gate-io.md)\n- [Bithumb Open API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.md)\n- [Bithumb Open API vs HTX trading API](https://www.anchorterminal.com/compare/bithumb-vs-htx.md)\n- [Bithumb Open API vs Hyperliquid](https://www.anchorterminal.com/compare/bithumb-vs-hyperliquid.md)\n- [Bithumb Open API vs Kraken API](https://www.anchorterminal.com/compare/bithumb-vs-kraken.md)\n- [Bithumb Open API vs KuCoin](https://www.anchorterminal.com/compare/bithumb-vs-kucoin.md)\n- [Bithumb Open API vs MEXC API](https://www.anchorterminal.com/compare/bithumb-vs-mexc.md)\n- [Bithumb Open API vs OKX API](https://www.anchorterminal.com/compare/bithumb-vs-okx.md)\n- [Bithumb Open API vs Uniswap Trading API](https://www.anchorterminal.com/compare/bithumb-vs-uniswap.md)\n- [Bithumb Open API vs Upbit Open API](https://www.anchorterminal.com/compare/bithumb-vs-upbit.md)\n- [Bitstamp API vs dYdX](https://www.anchorterminal.com/compare/bitstamp-vs-dydx.md)\n- [Bybit vs dYdX](https://www.anchorterminal.com/compare/bybit-vs-dydx.md)\n- [Crypto.com Exchange API vs dYdX](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-dydx.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- [Binance API vs Bithumb Open API](https://www.anchorterminal.com/compare/binance-vs-bithumb.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- [dYdX vs Gate](https://www.anchorterminal.com/compare/dydx-vs-gate-io.md)\n- [dYdX vs Gemini Exchange API](https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.md)\n- [dYdX vs HTX trading API](https://www.anchorterminal.com/compare/dydx-vs-htx.md)\n- [dYdX vs Hyperliquid](https://www.anchorterminal.com/compare/dydx-vs-hyperliquid.md)\n- [dYdX vs Kraken API](https://www.anchorterminal.com/compare/dydx-vs-kraken.md)\n- [dYdX vs 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- [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": "Bithumb Open API vs dYdX",
        "url": ""
      }
    ],
    "description": "dYdX scores 69.5 (B) to Bithumb Open's 50.6 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bithumb Open API D 50.6",
      "dYdX B 69.5",
      "scores"
    ],
    "h1": "Bithumb Open API vs dYdX",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bithumb-vs-dydx",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bithumb Open vs dYdX for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/bithumb-vs-dydx"
  },
  "tokens": {
    "markdown": 4700,
    "slim": 2430
  },
  "version": 1
}
