{
  "data": {
    "a": {
      "slug": "htx",
      "name": "HTX trading API",
      "vendor": "HTX",
      "vendorUrl": "https://www.htx.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "HTX, the exchange formerly Huobi, runs REST and WebSocket APIs for spot and derivatives trading, balances, transfers and withdrawals, authenticated with HMAC-signed API keys that carry read, trade and withdraw permissions.",
      "url": "https://www.anchorterminal.com/tools/htx",
      "markdownUrl": "https://www.anchorterminal.com/tools/htx.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/htx.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/htx.json",
      "dns": "htx.grade.anchorterminal.com",
      "repo": "https://github.com/HuobiRDCenter",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "API keys made in the account's API Management page after a browser sign-up and identity check. Requests are signed with HMAC SHA256 (SignatureVersion 2) over the query string, with AccessKeyId, Timestamp and the Signature sent as query parameters; the secret never travels. A main account key carries Read, Trade and Withdraw permissions, a sub-user key Read and Trade only. A key can be bound to up to 20 IP addresses, and the docs say a key without IP binding expires after 90 days (https://huobiapi.github.io/docs/spot/v1/en/, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "Trading fees per order. The fee schedule at htx.com/fee is drawn by script and answered our reader with no text, so no rate is recorded; third-party guides give 0.2 per cent maker and taker at the base tier, which is a lead and not a source. Public market data needs no key and no account (https://www.htx.com/fee/, checked 2026-11-03).",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs or on the pages that loaded (checked 2026-11-03). Trading fees are taken from each fill.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 684,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://huobiapi.github.io/docs/spot/v1/en/",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "api-key",
        "closed-source",
        "usage-priced",
        "python",
        "java",
        "go",
        "no-status-page"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 43.3,
        "grade": "E",
        "agentReady": false,
        "rank": 1156,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 21,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 69,
          "maintenance": 57,
          "payments": 15,
          "reliability": 38,
          "schema": 40,
          "security": 51,
          "transparency": 25
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "HTX's API has per-endpoint rate limits, read, trade and withdraw key permissions with IP binding, and SDKs in five languages. No official MCP server exists, the testnet is closed, the public reference is still Huobi's with a 2022 changelog, and the fee schedule, terms and restricted countries are on script-drawn pages we couldn't read.",
        "bestFor": "Spot and USDT-margined derivatives for agents that can hold an HTX key, with no MCP server and no testnet.",
        "strengths": [
          "Key permissions split into Read, Trade and Withdraw, sub-user keys without Withdraw, and up to 20 bound IP addresses per key",
          "Rate limits published per endpoint with numbers, and remaining-quota headers on every response",
          "A client-order-id unique within 8 hours on orders and idempotent on withdrawals, so a retry doesn't double an order",
          "Official SDKs in Python, Java, C++, C# and Go, the contract ones pushed on 21 October 2026"
        ],
        "weaknesses": [
          "No official MCP server; the only one in the MCP registry is a third party's read-only ticker server",
          "The testnet is shut down, so order logic can only be tried with real funds",
          "The public API reference is still branded Huobi with a last changelog entry of June 2022, and HTX's newer docs are drawn by script",
          "No status page, no SLA and no documented 429 or Retry-After behaviour",
          "The fee schedule, user agreement, privacy policy and restricted-country list couldn't be read, so none is recorded first-hand"
        ],
        "agentNotes": [
          "Ask the operator for a key with Read and Trade only and bound to your IP addresses; a key without IP binding expires after 90 days",
          "Send a fresh client-order-id of up to 64 characters with every order and reuse it only on retry; a repeat within 8 hours answers invalid.client.order.id",
          "Watch X-HB-RateLimit-Requests-Remain and pace at under 100 order calls per 2 seconds per UID; limits are shared by every key on the account",
          "There is no testnet; try order logic with the smallest size the market allows",
          "Confirm the person's country is served before trading; the restricted list in the user agreement couldn't be read here"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 43.3
          }
        ],
        "editorialScores": {
          "ergonomics": 69,
          "maintenance": 57,
          "payments": 15,
          "reliability": 38,
          "schema": 40,
          "security": 51,
          "transparency": 15
        },
        "provenanceScore": 34,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.huobi.pro/market/tickers"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/htx"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "",
        "domain": "htx.com",
        "domainRegistered": "1995-12-13",
        "endpointOnVendorDomain": false,
        "terms": "https://www.htx.com/en-in/support/360000298561/",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huobiapi.github.io/docs/spot/v1/en/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The legal entity is unread. The HTX Platform User Agreement and every other page on www.htx.com answered our reader with no text on 3 November 2026 (the pages are drawn by script), so the terms, privacy policy, fee schedule and about page were not read. Terms URL recorded from a search result's title.",
          "RDAP gives htx.com a registration date of 13 December 1995, long before the exchange took the name in 2023; the domain was acquired, not registered, by the exchange.",
          "The API endpoint api.huobi.pro is on the old huobi.pro domain, not htx.com.",
          "www.htx.com/robots.txt allows / and disallows account paths (finance/account, user-center/security and the like). www.huobi.com/robots.txt disallows everything and was not read further. huobiapi.github.io has no robots.txt.",
          "https://www.htx.com/.well-known/security.txt answered no text; recorded as none. status.htx.com does not resolve."
        ],
        "score": 34
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/htx.json",
      "live": {
        "slug": "htx",
        "securityTxt": {
          "url": "https://htx.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:20.226147452Z"
        },
        "updatedAt": "2026-11-04T15:54:20.226147452Z"
      }
    },
    "answer": "OKX API scores 64.3 (B) on agent readiness against HTX trading API's 43.3 (E), and leads in every scored category.",
    "b": {
      "slug": "okx",
      "name": "OKX API",
      "vendor": "OKX",
      "vendorUrl": "https://www.okx.com/docs-v5/en/",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "OKX's V5 API covers spot, margin, perpetual, futures and options trading, account and market data over REST and WebSocket, with demo trading on the same host and an open-source Agent Trade Kit whose okx-trade-mcp package is a local MCP server.",
      "url": "https://www.anchorterminal.com/tools/okx",
      "markdownUrl": "https://www.anchorterminal.com/tools/okx.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/okx.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/okx.json",
      "dns": "okx.grade.anchorterminal.com",
      "repo": "https://github.com/okx/agent-trade-kit",
      "license": "Proprietary hosted service under OKX's Terms of Service (29 October 2026) and API Agreement (28 July 2026). The Agent Trade Kit (MCP server, CLI and skills) is MIT",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@okx_ai/okx-trade-mcp"
        },
        {
          "registry": "npm",
          "name": "@okx_ai/okx-trade-cli"
        },
        {
          "registry": "pypi",
          "name": "python-okx"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key, secret and passphrase made at okx.com/account/my-api, with HMAC-SHA256 signatures over a timestamp and the request. Permissions are Read, Trade and Withdraw, singly or combined; each key binds up to 20 IP addresses or ranges, and a Trade or Withdraw key with no IP binding expires after 14 days without use. Demo trading uses the same host with the header `x-simulated-trading` set to 1 and keys that do not expire. US and Australian users call us.okx.com and EEA users eea.okx.com. The MCP server reads the key from ~/.okx/config.toml, checks its permissions at startup and hides order tools when the key cannot trade (https://www.okx.com/docs-v5/en/, https://www.okx.com/docs-v5/agent_en/, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing to call. Trades carry maker and taker fees by regular and VIP level; the fee page at okx.com/fees loads its table by script and the fee FAQ says the rates that apply are the ones shown while logged in, so the lowest tier's rates are unread. Public market data and demo trading need no funded account.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the V5 docs, the API agreement or the Agent Trade Kit (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": 170,
      "popularity": {
        "githubStars": 499,
        "npmWeekly": 1839,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.okx.com/docs-v5/en/",
      "llmsTxt": "https://www.okx.com/llms.txt",
      "capabilities": [
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "api-key",
        "mcp",
        "cli",
        "llms-txt",
        "sandbox",
        "typescript",
        "python",
        "usage-priced",
        "no-card",
        "mit"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.3,
        "grade": "B",
        "agentReady": false,
        "rank": 432,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 81,
          "payments": 20,
          "reliability": 65,
          "schema": 73,
          "security": 68,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "OKX publishes per-endpoint rate limits, Read, Trade and Withdraw key permissions with IP binding, demo trading on the production host, and an MIT MCP server with 170 tools, a read-only flag and a permission check at startup. The fee table and privacy policy were not read, no OpenAPI file was found, and the news tools return third-party text.",
        "bestFor": "An agent trading spot, perpetuals, futures or options on a person's OKX account from a local machine, with demo trading to test first and grid or DCA bots through the kit.",
        "strengths": [
          "Official local MCP server, MIT, with modules, --read-only, a demo profile, readOnlyHint annotations and a startup check that hides order tools when the key cannot trade",
          "Keys limited to Read, Trade or Withdraw, bound to up to 20 IPs, with unbound Trade and Withdraw keys expiring after 14 idle days",
          "Rate limits published per endpoint and per User ID, with sub-account and WebSocket limits in numbers",
          "Demo trading on the production hosts with one header, keys that do not expire, and a demo profile in the kit",
          "An API Agreement written for agents, naming prohibited tactics, minimum key scope and rate-limit circumvention"
        ],
        "weaknesses": [
          "The fee table loads by script and the fee FAQ defers to the logged-in view, so maker and taker rates were not read",
          "No OpenAPI file was found in the docs; the machine-readable contract is the kit's tool definitions",
          "The status page lists incidents without component history, and its newest entry is from March 2024",
          "The news and smart money tools return third-party text with no documented guidance on treating it as untrusted",
          "Trade tools in the kit carry destructiveHint false, and the npm package runs a postinstall script"
        ],
        "agentNotes": [
          "Start okx-trade-mcp with --profile demo first, then --read-only on a live key; load only the modules the task needs",
          "Use a sub-account key with Read and Trade only, bound to the agent's IP; an unbound Trade key expires after 14 idle days",
          "Stay under 60 place-order requests per 2 seconds per instrument and at most 3 amendments in flight per order; 50011 means the limit was hit",
          "Send a clOrdId on every order and use the structured error block (code, message, endpoint) to diagnose with read-only tools before retrying",
          "Call us.okx.com or eea.okx.com for US, Australian and EEA accounts; openapi.okx.com does not serve those regions"
        ],
        "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": 64.3
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 81,
          "payments": 20,
          "reliability": 65,
          "schema": 73,
          "security": 68,
          "transparency": 38
        },
        "provenanceScore": 85,
        "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 @okx_ai/okx-trade-mcp @okx_ai/okx-trade-cli",
        "http": "curl https://www.okx.com/api/v5/market/ticker?instId=BTC-USDT",
        "config": {
          "mcpServers": {
            "okx-demo": {
              "args": [
                "-y",
                "@okx_ai/okx-trade-mcp",
                "--profile",
                "demo"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.spot-trading",
        "tool": "https://letme.dev/okx"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Aux Cayes FinTech Co. Ltd.",
        "domain": "okx.com",
        "domainRegistered": "2001-07-03",
        "endpointOnVendorDomain": true,
        "terms": "https://www.okx.com/help/terms-of-service",
        "privacy": "https://www.okx.com/help/privacy-policy",
        "statusPage": "https://www.okx.com/status",
        "changelog": "https://www.okx.com/docs-v5/log_en/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The Terms of Service (last updated 29 October 2026) name Aux Cayes FinTech Co. Ltd. for all users not served by a regional OKX entity; the page metadata of the API Agreement also lists it as publisher. The governing-law clause sat past the part of the page we read. The privacy policy URL is OKX's help-centre page and was not read.",
          "RDAP gives okx.com a registration date of 3 July 2001, long before OKX took the name in 2022.",
          "https://www.okx.com/.well-known/security.txt answers 404; the Agent Trade Kit's SECURITY.md names security@okx.com.",
          "www.okx.com/robots.txt allows the docs, help and status pages read and /llms.txt, and disallows account, KYC and other private paths.",
          "okx.com/status is OKX's own page with issue descriptions and maintenance notices in UTC+8, no component history and no feed found."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/okx.json",
      "live": {
        "slug": "okx",
        "vendorStatus": {
          "page": "https://www.okx.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:26:18.893765005Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@okx_ai/okx-trade-cli",
            "version": "1.5.0",
            "seenAt": "2026-11-04T20:41:03.618269957Z"
          },
          {
            "registry": "npm",
            "name": "@okx_ai/okx-trade-mcp",
            "version": "1.5.0",
            "seenAt": "2026-11-04T20:41:02.747721806Z"
          },
          {
            "registry": "pypi",
            "name": "python-okx",
            "version": "0.4.4",
            "released": "2026-09-07",
            "seenAt": "2026-11-04T20:41:04.955491615Z"
          }
        ],
        "githubStars": 501,
        "npmWeekly": 1742,
        "pypiWeekly": 13205,
        "securityTxt": {
          "url": "https://okx.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:49.77403161Z"
        },
        "updatedAt": "2026-11-04T21:26:18.893765005Z"
      }
    },
    "edges": [
      {
        "by": 37,
        "category": "transparency",
        "leads": "okx",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service whose user agreement exists but couldn't be read (script-drawn pages), so the licence clarity is unknown rather than unclear (10 of 30). The privacy policy was not read (0 of 30, unchecked). The testnet shutdown and the 2022 changelog entries are dated, with no deprecation policy (5 of 20). No subprocessor or data-location statement read (0 of 20). 10 + 0 + 5 + 0 = 15.",
          "b": "The editorial half. A closed service with terms that name the contracting entities by region and an API Agreement for agents; the kit is MIT (17 of 30). The privacy policy was not read (5 of 30). The changelog dates sunsets and labels breaking changes, such as port 8443 on 31 October and 16 November 2026 (16 of 20). No subprocessor or data-location statement read; the MCP server is local and its npm package runs a postinstall script whose purpose we did not trace (0 of 20). 17 + 5 + 16 + 0 = 38."
        },
        "scores": {
          "a": 25,
          "b": 62
        }
      },
      {
        "by": 33,
        "category": "schema",
        "leads": "okx",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI or other machine-readable contract found in the docs or the GitHub accounts (0). No llms.txt on htx.com, and the readable reference is a static page (0). Each endpoint states its purpose and parameters, without when-to-use guidance (12 of 20). Parameter tables carry types, required flags and enums for order types and states (10 of 15). Request and response examples throughout and error-code tables with messages (11 of 15). Versions v1 and v2 are mixed in one reference whose last changelog entry is 24 June 2022, while HTX's newer docs on htx.com couldn't be read (7 of 15). 0 + 0 + 12 + 10 + 11 + 7 = 40.",
          "b": "No OpenAPI file was found in the V5 docs; the kit's tool definitions are typed TypeScript with annotations, and the organisation has an undescribed ai-builder-openapi-md repository we did not read (12 of 25). okx.com/llms.txt exists and links the API and Agent Trade Kit pages, though the V5 docs have no Markdown twins (5 of 10). Each endpoint states its rate limit, rule, parameters and notes (15 of 20). Enums for ordType, tdMode and instType with required flags (12 of 15). Request and response examples per endpoint and an error code list with messages (14 of 15). A dated changelog with an upcoming-changes section that labels breaking changes and dates sunsets (15). 12 + 5 + 15 + 12 + 14 + 15 = 73."
        },
        "scores": {
          "a": 40,
          "b": 73
        }
      },
      {
        "by": 27,
        "category": "reliability",
        "leads": "okx",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page found; status.htx.com does not resolve and nothing on htx.com was readable (0). No readable incident history (5). Rate limits documented per endpoint with numbers, 100 order calls per 2 seconds per UID and so on, with remaining-quota headers (15). No 429 or Retry-After behaviour is documented and the only limit error named is 1006 for conditional orders; a client-order-id unique within 8 hours and an idempotent withdrawal id give safe retries on writes (8 of 15). No SLA found (0). The spot and swap APIs are generally available (10). 0 + 5 + 15 + 8 + 0 + 10 = 38.",
          "b": "Read with the hosted lines on the V5 REST API. okx.com/status is OKX's own page with issue descriptions, maintenance notices and deposit and withdrawal status, but no component history or feed (10 of 20). It lists no incident between 5 August and 3 November 2026; its newest entry is from March 2024, and whether every incident reaches the page cannot be told, so read as clean with a doubt (20 of 30). Rate limits per endpoint, per User ID and per sub-account with numbers, and WebSocket limits (15). Error 50011 on a limit, a clOrdId on orders and a cap of 3 amendments in flight, but no Retry-After or backoff guidance found (10 of 15). No SLA (0). Generally available (10). 10 + 20 + 15 + 10 + 0 + 10 = 65."
        },
        "scores": {
          "a": 38,
          "b": 65
        }
      },
      {
        "by": 24,
        "category": "maintenance",
        "leads": "okx",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The readable changelog ends on 24 June 2022, but the official contract SDKs were pushed on 21 October 2026 and the spot SDKs in April and July 2026, so the API surface is still being maintained; judgement call (20 of 30). SDK pushes on 30 July, 23 August and 21 October 2026 are commits, not releases (10 of 20). A Telegram group for API support and a support centre, neither tested; GitHub issues not read (8 of 15). Official SDKs in five languages (15). No CI seen, dependencies not checked (4 of 10). 20 + 10 + 8 + 15 + 4 = 57.",
          "b": "Read as a closed service with an open-source kit. Changelog entry of 27 October 2026 and kit v1.5.0 on 28 October (30). Changelog entries on 3, 6, 11, 18, 20 and 26 August, 15, 29 and 30 September and 27 October, and kit releases on 20 and 21 August, 1, 7, 14 and 23 September, 19 and 28 October (20). A public changelog, a Telegram community for the kit and GitHub issues whose replies were not read (10 of 15). python-okx is named as the official SDK and the kit is current; the MCP server is not in the official registry (12 of 15). The kit runs CI on push and pull request across Node 18, 20 and 26 with unit tests and coverage (9 of 10). 30 + 20 + 10 + 12 + 9 = 81."
        },
        "scores": {
          "a": 57,
          "b": 81
        }
      },
      {
        "by": 17,
        "category": "security",
        "leads": "okx",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "HMAC-signed keys with Read, Trade and Withdraw permissions, sub-user keys without Withdraw, up to 20 bound IPs, revocation in the account and a 90-day expiry without IP binding. The AccessKeyId and the HMAC signature travel as query parameters; the secret does not, so no deduction for a secret in the URL (24 of 30). Read-only keys and withdraw-free keys exist; no server-side confirmation for orders or withdrawals (14 of 20). The API returns the exchange's own data, no untrusted content (10). No per-call log or key-use history found for the operator (3 of 15). No security.txt, disclosure policy or certification found on the pages that loaded (0 of 20). 24 + 14 + 10 + 3 + 0 = 51.",
          "b": "Key, secret and passphrase with Read, Trade and Withdraw permissions, up to 20 bound IPs, revocation in the account, and unbound Trade or Withdraw keys that expire after 14 idle days; no OAuth (28 of 30). Read-only keys, sub-account keys, demo trading, the kit's --read-only flag and its startup check that hides order tools when the key cannot trade, and an API Agreement requiring minimum scope; no confirmation step in the kit (18 of 20). The news and smartmoney modules return third-party text and the docs read give no guidance on treating it as untrusted (5 of 15). An account audit log tool in the kit and usage records for unbound keys in the Security Center, no per-call log (9 of 15). No security.txt; SECURITY.md with security@okx.com and GitHub private advisories; certifications and a bounty not read (8 of 20). 28 + 18 + 5 + 9 + 8 = 68."
        },
        "scores": {
          "a": 51,
          "b": 68
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "okx",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the REST API. Responses can be sized with depth types, size and limit parameters on books, candles and history (15 of 25). Paging by from, size and direct on orders and history (14 of 20). Errors return err-code strings with messages, listed in tables (13 of 20). A client-order-id unique within 8 hours and idempotent withdrawal ids make retries safe, with no idempotency header on other writes (14 of 20). Few required parameters and official SDKs in five languages (13 of 15). 15 + 14 + 13 + 14 + 13 = 69.",
          "b": "limit parameters on books, candles and history, and in the kit --modules and --read-only narrow 170 tools to the three default modules; no field selection (17 of 25). after, before and limit cursors on history endpoints (18 of 20). Numeric codes with messages, such as 51020 for an invalid quantity, and the kit returns a structured error block with code, message and endpoint (17 of 20). clOrdId on orders, batch endpoints and a cap of 3 amendments in flight; the kit sets readOnlyHint on query tools but destructiveHint false on order tools and has no idempotency key (13 of 20). python-okx, the CLI and a demo profile, with passphrase and HMAC signing on every private call (12 of 15). 17 + 18 + 17 + 13 + 12 = 77."
        },
        "scores": {
          "a": 69,
          "b": 77
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "HTX",
        "b": "OKX",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary hosted service under OKX's Terms of Service (29 October 2026) and API Agreement (28 July 2026). The Agent Trade Kit (MCP server, CLI and skills) is MIT",
        "name": "Licence"
      },
      {
        "a": "0",
        "b": "170",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-21",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-10-29",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "684 stars",
        "b": "499 stars, 1.8k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "OKX API scores 64.3 (B) on agent readiness against HTX trading API's 43.3 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, HTX trading API or OKX API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do HTX trading API and OKX API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for HTX trading API. OKX API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call HTX trading API and OKX API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Spot and USDT-margined derivatives for agents that can hold an HTX key, with no MCP server and no testnet.",
        "slug": "htx",
        "watchFor": "No official MCP server; the only one in the MCP registry is a third party's read-only ticker server"
      },
      {
        "aheadOn": [
          "Reliability, 65 against 38",
          "Schema \u0026 documentation, 73 against 40",
          "Agent ergonomics, 77 against 69",
          "Security \u0026 auth, 68 against 51",
          "Payments \u0026 pricing, 20 against 15",
          "Maintenance \u0026 community, 81 against 57",
          "Transparency \u0026 trust, 62 against 25"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "An agent trading spot, perpetuals, futures or options on a person's OKX account from a local machine, with demo trading to test first and grid or DCA bots through the kit.",
        "slug": "okx",
        "watchFor": "The fee table loads by script and the fee FAQ defers to the logged-in view, so maker and taker rates were not read"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.market-data",
      "name": "Exchange market data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-htx.json",
        "title": "Bitfinex API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-okx.json",
        "title": "Bitfinex API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-htx.json",
        "title": "Bitget vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-okx.json",
        "title": "Bitget vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-okx"
      },
      {
        "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-okx.json",
        "title": "Bithumb Open API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-htx.json",
        "title": "Bitstamp API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-okx.json",
        "title": "Bitstamp API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-htx.json",
        "title": "Bybit vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-okx.json",
        "title": "Bybit vs OKX API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-htx.json",
        "title": "Crypto.com Exchange API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-okx.json",
        "title": "Crypto.com Exchange API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-htx.json",
        "title": "Gate vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-okx.json",
        "title": "Gate vs OKX API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-htx.json",
        "title": "Gemini Exchange API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-okx.json",
        "title": "Gemini Exchange API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-hyperliquid.json",
        "title": "HTX trading API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/htx-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-kraken.json",
        "title": "HTX trading API vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-kucoin.json",
        "title": "HTX trading API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/htx-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-mexc.json",
        "title": "HTX trading API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-uniswap.json",
        "title": "HTX trading API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-upbit.json",
        "title": "HTX trading API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-okx.json",
        "title": "KuCoin vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mexc-vs-okx.json",
        "title": "MEXC API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/mexc-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-htx.json",
        "title": "Binance API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-okx.json",
        "title": "Binance API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx.json",
        "title": "Coinbase Advanced Trade API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx.json",
        "title": "Coinbase Advanced Trade API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-htx.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-okx.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs OKX API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kraken-vs-okx.json",
        "title": "Kraken API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/kraken-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/okx-vs-uniswap.json",
        "title": "OKX API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/okx-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/okx-vs-upbit.json",
        "title": "OKX API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/okx-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-htx.json",
        "title": "Deribit vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-okx.json",
        "title": "Deribit vs OKX API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-okx"
      },
      {
        "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-okx.json",
        "title": "dYdX vs OKX API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-okx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-okx.json",
        "title": "Hyperliquid vs OKX API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-okx"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 27,
        "edge": "okx",
        "htx": 38,
        "key": "reliability",
        "name": "Reliability",
        "okx": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "edge": "okx",
        "htx": 40,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "okx": 73,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "okx",
        "htx": 69,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "okx": 77,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "okx",
        "htx": 51,
        "key": "security",
        "name": "Security \u0026 auth",
        "okx": 68,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "okx",
        "htx": 15,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "okx": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "okx",
        "htx": 57,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "okx": 81,
        "weight": 7
      },
      {
        "by": 37,
        "edge": "okx",
        "htx": 25,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "okx": 62,
        "weight": 7
      }
    ],
    "summary": "OKX API scores 64.3 (B) on agent readiness against HTX trading API's 43.3 (E), and leads in every scored category. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "htx": "HTX's API has per-endpoint rate limits, read, trade and withdraw key permissions with IP binding, and SDKs in five languages. No official MCP server exists, the testnet is closed, the public reference is still Huobi's with a 2022 changelog, and the fee schedule, terms and restricted countries are on script-drawn pages we couldn't read.",
      "okx": "OKX publishes per-endpoint rate limits, Read, Trade and Withdraw key permissions with IP binding, demo trading on the production host, and an MIT MCP server with 170 tools, a read-only flag and a permission check at startup. The fee table and privacy policy were not read, no OpenAPI file was found, and the news tools return third-party text."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/htx-vs-okx",
    "json": "https://www.anchorterminal.com/compare/htx-vs-okx.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/htx-vs-okx.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/htx-vs-okx.min.md"
  },
  "markdown": "OKX API scores 64.3 (B) on agent readiness against HTX trading API's 43.3 (E), and leads in every scored category. Both do exchange market data.\n\n- HTX trading API: grade E, 43.3/100, rank #1156 of 1349. Markdown https://www.anchorterminal.com/tools/htx.md · JSON https://www.anchorterminal.com/api/v1/tools/htx.json\n- OKX API: grade B, 64.3/100, rank #432 of 1349. Markdown https://www.anchorterminal.com/tools/okx.md · JSON https://www.anchorterminal.com/api/v1/tools/okx.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### HTX trading API (E)\n\nGood for: Spot and USDT-margined derivatives for agents that can hold an HTX key, with no MCP server and no testnet.\n\nWatch for: No official MCP server; the only one in the MCP registry is a third party's read-only ticker server\n\n### OKX API (B)\n\nGood for: An agent trading spot, perpetuals, futures or options on a person's OKX account from a local machine, with demo trading to test first and grid or DCA bots through the kit.\n\nAhead on:\n- Reliability, 65 against 38\n- Schema \u0026 documentation, 73 against 40\n- Agent ergonomics, 77 against 69\n- Security \u0026 auth, 68 against 51\n- Payments \u0026 pricing, 20 against 15\n- Maintenance \u0026 community, 81 against 57\n- Transparency \u0026 trust, 62 against 25\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: The fee table loads by script and the fee FAQ defers to the logged-in view, so maker and taker rates were not read\n\n\n## Why the edge\n\n### Transparency \u0026 trust: OKX API +37\n\n- HTX trading API (25): The editorial half. A closed service whose user agreement exists but couldn't be read (script-drawn pages), so the licence clarity is unknown rather than unclear (10 of 30). The privacy policy was not read (0 of 30, unchecked). The testnet shutdown and the 2022 changelog entries are dated, with no deprecation policy (5 of 20). No subprocessor or data-location statement read (0 of 20). 10 + 0 + 5 + 0 = 15.\n- OKX API (62): The editorial half. A closed service with terms that name the contracting entities by region and an API Agreement for agents; the kit is MIT (17 of 30). The privacy policy was not read (5 of 30). The changelog dates sunsets and labels breaking changes, such as port 8443 on 31 October and 16 November 2026 (16 of 20). No subprocessor or data-location statement read; the MCP server is local and its npm package runs a postinstall script whose purpose we did not trace (0 of 20). 17 + 5 + 16 + 0 = 38.\n\n### Schema \u0026 documentation: OKX API +33\n\n- HTX trading API (40): No OpenAPI or other machine-readable contract found in the docs or the GitHub accounts (0). No llms.txt on htx.com, and the readable reference is a static page (0). Each endpoint states its purpose and parameters, without when-to-use guidance (12 of 20). Parameter tables carry types, required flags and enums for order types and states (10 of 15). Request and response examples throughout and error-code tables with messages (11 of 15). Versions v1 and v2 are mixed in one reference whose last changelog entry is 24 June 2022, while HTX's newer docs on htx.com couldn't be read (7 of 15). 0 + 0 + 12 + 10 + 11 + 7 = 40.\n- OKX API (73): No OpenAPI file was found in the V5 docs; the kit's tool definitions are typed TypeScript with annotations, and the organisation has an undescribed ai-builder-openapi-md repository we did not read (12 of 25). okx.com/llms.txt exists and links the API and Agent Trade Kit pages, though the V5 docs have no Markdown twins (5 of 10). Each endpoint states its rate limit, rule, parameters and notes (15 of 20). Enums for ordType, tdMode and instType with required flags (12 of 15). Request and response examples per endpoint and an error code list with messages (14 of 15). A dated changelog with an upcoming-changes section that labels breaking changes and dates sunsets (15). 12 + 5 + 15 + 12 + 14 + 15 = 73.\n\n### Reliability: OKX API +27\n\n- HTX trading API (38): Read with the hosted lines. No status page found; status.htx.com does not resolve and nothing on htx.com was readable (0). No readable incident history (5). Rate limits documented per endpoint with numbers, 100 order calls per 2 seconds per UID and so on, with remaining-quota headers (15). No 429 or Retry-After behaviour is documented and the only limit error named is 1006 for conditional orders; a client-order-id unique within 8 hours and an idempotent withdrawal id give safe retries on writes (8 of 15). No SLA found (0). The spot and swap APIs are generally available (10). 0 + 5 + 15 + 8 + 0 + 10 = 38.\n- OKX API (65): Read with the hosted lines on the V5 REST API. okx.com/status is OKX's own page with issue descriptions, maintenance notices and deposit and withdrawal status, but no component history or feed (10 of 20). It lists no incident between 5 August and 3 November 2026; its newest entry is from March 2024, and whether every incident reaches the page cannot be told, so read as clean with a doubt (20 of 30). Rate limits per endpoint, per User ID and per sub-account with numbers, and WebSocket limits (15). Error 50011 on a limit, a clOrdId on orders and a cap of 3 amendments in flight, but no Retry-After or backoff guidance found (10 of 15). No SLA (0). Generally available (10). 10 + 20 + 15 + 10 + 0 + 10 = 65.\n\n### Maintenance \u0026 community: OKX API +24\n\n- HTX trading API (57): Read as a closed service. The readable changelog ends on 24 June 2022, but the official contract SDKs were pushed on 21 October 2026 and the spot SDKs in April and July 2026, so the API surface is still being maintained; judgement call (20 of 30). SDK pushes on 30 July, 23 August and 21 October 2026 are commits, not releases (10 of 20). A Telegram group for API support and a support centre, neither tested; GitHub issues not read (8 of 15). Official SDKs in five languages (15). No CI seen, dependencies not checked (4 of 10). 20 + 10 + 8 + 15 + 4 = 57.\n- OKX API (81): Read as a closed service with an open-source kit. Changelog entry of 27 October 2026 and kit v1.5.0 on 28 October (30). Changelog entries on 3, 6, 11, 18, 20 and 26 August, 15, 29 and 30 September and 27 October, and kit releases on 20 and 21 August, 1, 7, 14 and 23 September, 19 and 28 October (20). A public changelog, a Telegram community for the kit and GitHub issues whose replies were not read (10 of 15). python-okx is named as the official SDK and the kit is current; the MCP server is not in the official registry (12 of 15). The kit runs CI on push and pull request across Node 18, 20 and 26 with unit tests and coverage (9 of 10). 30 + 20 + 10 + 12 + 9 = 81.\n\n### Security \u0026 auth: OKX API +17\n\n- HTX trading API (51): HMAC-signed keys with Read, Trade and Withdraw permissions, sub-user keys without Withdraw, up to 20 bound IPs, revocation in the account and a 90-day expiry without IP binding. The AccessKeyId and the HMAC signature travel as query parameters; the secret does not, so no deduction for a secret in the URL (24 of 30). Read-only keys and withdraw-free keys exist; no server-side confirmation for orders or withdrawals (14 of 20). The API returns the exchange's own data, no untrusted content (10). No per-call log or key-use history found for the operator (3 of 15). No security.txt, disclosure policy or certification found on the pages that loaded (0 of 20). 24 + 14 + 10 + 3 + 0 = 51.\n- OKX API (68): Key, secret and passphrase with Read, Trade and Withdraw permissions, up to 20 bound IPs, revocation in the account, and unbound Trade or Withdraw keys that expire after 14 idle days; no OAuth (28 of 30). Read-only keys, sub-account keys, demo trading, the kit's --read-only flag and its startup check that hides order tools when the key cannot trade, and an API Agreement requiring minimum scope; no confirmation step in the kit (18 of 20). The news and smartmoney modules return third-party text and the docs read give no guidance on treating it as untrusted (5 of 15). An account audit log tool in the kit and usage records for unbound keys in the Security Center, no per-call log (9 of 15). No security.txt; SECURITY.md with security@okx.com and GitHub private advisories; certifications and a bounty not read (8 of 20). 28 + 18 + 5 + 9 + 8 = 68.\n\n### Agent ergonomics: OKX API +8\n\n- HTX trading API (69): Graded on the REST API. Responses can be sized with depth types, size and limit parameters on books, candles and history (15 of 25). Paging by from, size and direct on orders and history (14 of 20). Errors return err-code strings with messages, listed in tables (13 of 20). A client-order-id unique within 8 hours and idempotent withdrawal ids make retries safe, with no idempotency header on other writes (14 of 20). Few required parameters and official SDKs in five languages (13 of 15). 15 + 14 + 13 + 14 + 13 = 69.\n- OKX API (77): limit parameters on books, candles and history, and in the kit --modules and --read-only narrow 170 tools to the three default modules; no field selection (17 of 25). after, before and limit cursors on history endpoints (18 of 20). Numeric codes with messages, such as 51020 for an invalid quantity, and the kit returns a structured error block with code, message and endpoint (17 of 20). clOrdId on orders, batch endpoints and a cap of 3 amendments in flight; the kit sets readOnlyHint on query tools but destructiveHint false on order tools and has no idempotency key (13 of 20). python-okx, the CLI and a demo profile, with passphrase and HMAC signing on every private call (12 of 15). 17 + 18 + 17 + 13 + 12 = 77.\n\n## Score by category\n\n| Category | Weight | HTX trading API | OKX API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 38 | 65 | OKX API +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 40 | 73 | OKX API +33 |\n| Agent ergonomics | 13% (16.2 this run) | 69 | 77 | OKX API +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 68 | OKX API +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 20 | OKX API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 81 | OKX API +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 25 | 62 | OKX API +37 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **43.3 · E** | **64.3 · B** | |\n\n## Facts side by side\n\n| Fact | HTX trading API | OKX API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | HTX | OKX |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | Proprietary hosted service under OKX's Terms of Service (29 October 2026) and API Agreement (28 July 2026). The Agent Trade Kit (MCP server, CLI and skills) is MIT |\n| Tools exposed | 0 | 170 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-21 | 2026-10-28 |\n| Terms last updated | no date given | 2026-10-29 |\n| Privacy policy last updated | no document linked | couldn't be read |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 684 stars | 499 stars, 1.8k npm/wk |\n\n## Verdicts\n\n**HTX trading API.** HTX's API has per-endpoint rate limits, read, trade and withdraw key permissions with IP binding, and SDKs in five languages. No official MCP server exists, the testnet is closed, the public reference is still Huobi's with a 2022 changelog, and the fee schedule, terms and restricted countries are on script-drawn pages we couldn't read.\n\n**OKX API.** OKX publishes per-endpoint rate limits, Read, Trade and Withdraw key permissions with IP binding, demo trading on the production host, and an MIT MCP server with 170 tools, a read-only flag and a permission check at startup. The fee table and privacy policy were not read, no OpenAPI file was found, and the news tools return third-party text.\n\n## Before you call either\n\n### HTX trading API\n\n1. Ask the operator for a key with Read and Trade only and bound to your IP addresses; a key without IP binding expires after 90 days\n2. Send a fresh client-order-id of up to 64 characters with every order and reuse it only on retry; a repeat within 8 hours answers invalid.client.order.id\n3. Watch X-HB-RateLimit-Requests-Remain and pace at under 100 order calls per 2 seconds per UID; limits are shared by every key on the account\n4. There is no testnet; try order logic with the smallest size the market allows\n5. Confirm the person's country is served before trading; the restricted list in the user agreement couldn't be read here\n\n### OKX API\n\n1. Start okx-trade-mcp with --profile demo first, then --read-only on a live key; load only the modules the task needs\n2. Use a sub-account key with Read and Trade only, bound to the agent's IP; an unbound Trade key expires after 14 idle days\n3. Stay under 60 place-order requests per 2 seconds per instrument and at most 3 amendments in flight per order; 50011 means the limit was hit\n4. Send a clOrdId on every order and use the structured error block (code, message, endpoint) to diagnose with read-only tools before retrying\n5. Call us.okx.com or eea.okx.com for US, Australian and EEA accounts; openapi.okx.com does not serve those regions\n\n## Questions\n\n### Which is better for AI agents, HTX trading API or OKX API?\n\nOKX API scores 64.3 (B) on agent readiness against HTX trading API's 43.3 (E), and leads in every scored category.\n\n### Do HTX trading API and OKX API need an API key?\n\nBoth need an API key.\n\n### Can an agent call HTX trading API and OKX API without installing anything?\n\nNo hosted endpoint is listed for HTX trading API. OKX API runs on your own machine, with no hosted endpoint listed.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/htx-vs-okx.json, and with the fewest tokens: https://www.anchorterminal.com/compare/htx-vs-okx.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"htx\", \"b\": \"okx\"}`. From a terminal: `anchor compare htx okx`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/htx.json and https://www.anchorterminal.com/api/v1/tools/okx.json\n\n## Other comparisons with HTX trading API or OKX API\n\n- [Bitfinex API vs HTX trading API](https://www.anchorterminal.com/compare/bitfinex-vs-htx.md)\n- [Bitfinex API vs OKX API](https://www.anchorterminal.com/compare/bitfinex-vs-okx.md)\n- [Bitget vs HTX trading API](https://www.anchorterminal.com/compare/bitget-vs-htx.md)\n- [Bitget vs OKX API](https://www.anchorterminal.com/compare/bitget-vs-okx.md)\n- [Bithumb Open API vs HTX trading API](https://www.anchorterminal.com/compare/bithumb-vs-htx.md)\n- [Bithumb Open API vs OKX API](https://www.anchorterminal.com/compare/bithumb-vs-okx.md)\n- [Bitstamp API vs HTX trading API](https://www.anchorterminal.com/compare/bitstamp-vs-htx.md)\n- [Bitstamp API vs OKX API](https://www.anchorterminal.com/compare/bitstamp-vs-okx.md)\n- [Bybit vs HTX trading API](https://www.anchorterminal.com/compare/bybit-vs-htx.md)\n- [Bybit vs OKX API](https://www.anchorterminal.com/compare/bybit-vs-okx.md)\n- [Crypto.com Exchange API vs HTX trading API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-htx.md)\n- [Crypto.com Exchange API vs OKX API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-okx.md)\n- [Gate vs HTX trading API](https://www.anchorterminal.com/compare/gate-io-vs-htx.md)\n- [Gate vs OKX API](https://www.anchorterminal.com/compare/gate-io-vs-okx.md)\n- [Gemini Exchange API vs HTX trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-htx.md)\n- [Gemini Exchange API vs OKX API](https://www.anchorterminal.com/compare/gemini-exchange-vs-okx.md)\n- [HTX trading API vs Hyperliquid](https://www.anchorterminal.com/compare/htx-vs-hyperliquid.md)\n- [HTX trading API vs Kraken API](https://www.anchorterminal.com/compare/htx-vs-kraken.md)\n- [HTX trading API vs KuCoin](https://www.anchorterminal.com/compare/htx-vs-kucoin.md)\n- [HTX trading API vs MEXC API](https://www.anchorterminal.com/compare/htx-vs-mexc.md)\n- [HTX trading API vs Uniswap Trading API](https://www.anchorterminal.com/compare/htx-vs-uniswap.md)\n- [HTX trading API vs Upbit Open API](https://www.anchorterminal.com/compare/htx-vs-upbit.md)\n- [KuCoin vs OKX API](https://www.anchorterminal.com/compare/kucoin-vs-okx.md)\n- [MEXC API vs OKX API](https://www.anchorterminal.com/compare/mexc-vs-okx.md)\n- [Binance API vs HTX trading API](https://www.anchorterminal.com/compare/binance-vs-htx.md)\n- [Binance API vs OKX API](https://www.anchorterminal.com/compare/binance-vs-okx.md)\n- [Coinbase Advanced Trade API vs HTX trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx.md)\n- [Coinbase Advanced Trade API vs OKX API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx.md)\n- [Coinbase MCP server (Coinbase for Agents) vs HTX trading API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-htx.md)\n- [Coinbase MCP server (Coinbase for Agents) vs OKX API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-okx.md)\n- [Kraken API vs OKX API](https://www.anchorterminal.com/compare/kraken-vs-okx.md)\n- [OKX API vs Uniswap Trading API](https://www.anchorterminal.com/compare/okx-vs-uniswap.md)\n- [OKX API vs Upbit Open API](https://www.anchorterminal.com/compare/okx-vs-upbit.md)\n- [Deribit vs HTX trading API](https://www.anchorterminal.com/compare/deribit-vs-htx.md)\n- [Deribit vs OKX API](https://www.anchorterminal.com/compare/deribit-vs-okx.md)\n- [dYdX vs HTX trading API](https://www.anchorterminal.com/compare/dydx-vs-htx.md)\n- [dYdX vs OKX API](https://www.anchorterminal.com/compare/dydx-vs-okx.md)\n- [Hyperliquid vs OKX API](https://www.anchorterminal.com/compare/hyperliquid-vs-okx.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": "HTX trading API vs OKX API",
        "url": ""
      }
    ],
    "description": "OKX scores 64.3 (B) to HTX trading's 43.3 (E) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "HTX trading API E 43.3",
      "OKX API B 64.3",
      "scores"
    ],
    "h1": "HTX trading API vs OKX API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/htx-vs-okx",
    "published": "2026-10-01",
    "section": "tools",
    "title": "HTX trading vs OKX for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/htx-vs-okx"
  },
  "tokens": {
    "markdown": 4750,
    "slim": 2630
  },
  "version": 1
}
