{
  "data": {
    "a": {
      "slug": "bybit",
      "name": "Bybit",
      "vendor": "Bybit",
      "vendorUrl": "https://www.bybit.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Bybit is a centralised crypto exchange for spot, perpetual and futures contracts, options and earn products, reached through its V5 REST and WebSocket API, a FIX order-entry gateway and an official stdio MCP server published from its GitHub organisation.",
      "url": "https://www.anchorterminal.com/tools/bybit",
      "markdownUrl": "https://www.anchorterminal.com/tools/bybit.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bybit.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bybit.json",
      "dns": "bybit.grade.anchorterminal.com",
      "repo": "https://github.com/bybit-exchange/trading-mcp",
      "transports": [
        "stdio"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "bybit-official-trading-server"
        },
        {
          "registry": "pypi",
          "name": "pybit"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key minted on the API management page after a browser sign-up and identity verification, signed per request with HMAC-SHA256 (system-generated secret) or RSA-SHA256 (self-generated key pair) in the X-BAPI-API-KEY, X-BAPI-TIMESTAMP, X-BAPI-SIGN and X-BAPI-RECV-WINDOW headers. Permissions are granted per group (ContractTrade, Spot, Wallet with a separate Withdraw value, Options, Derivatives, Exchange, Earn, Affiliate, BlockTrade) with a readOnly flag, and keys can be bound to IP addresses. A key with no IP binding expires 90 days after creation and can be extended on the management page with email and 2FA codes. Keys for testnet come from testnet.bybit.com and keys for demo trading from the production account in demo mode (https://bybit-exchange.github.io/docs/v5/user/apikey-info and https://bybit-exchange.github.io/docs/faq, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API and the MCP server cost nothing; trades carry Bybit's fees. At VIP 0 the spot fee is 0.1 per cent maker and taker, perpetual and futures contracts 0.02 per cent maker and 0.055 per cent taker, options 0.02 per cent maker and 0.03 per cent taker, with lower tiers by 30-day volume or asset balance and a note that rates vary by region. Fiat pairs, the Adventure Zone, xStocks and pre-market perpetuals have their own tables (https://www.bybit.com/en/help-center/article/Trading-Fee-Structure, last updated 2 September 2026, read 2026-11-03).",
      "priceSummary": "0.1% fee",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the V5 docs, the MCP server's README or source, or the fee schedule (checked 2026-11-03). Trading fees are taken from the account balance.",
        "endpoints": []
      },
      "toolCount": 398,
      "popularity": {
        "githubStars": 43,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://bybit-exchange.github.io/docs/v5/intro",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "exchange.staking",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "usage-priced",
        "sandbox",
        "no-status-page",
        "mcp",
        "official",
        "python",
        "typescript",
        "go",
        "java",
        "dotnet"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.3,
        "grade": "C",
        "agentReady": false,
        "rank": 745,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 66,
          "payments": 40,
          "reliability": 45,
          "schema": 73,
          "security": 60,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Bybit publishes per-endpoint rate limits, a demo environment, scoped keys with a read-only flag and IP binding, and an official stdio MCP server whose 398 tools carry read-only and destructive annotations. There is no status page, no OpenAPI file, no SLA, the MCP server has no toolsets, and the global terms and privacy pages are drawn by script.",
        "bestFor": "An agent trading spot, perpetuals, futures and options in a person's Bybit account outside the excluded jurisdictions, with a demo environment to rehearse on.",
        "strengths": [
          "Official MCP server from Bybit's GitHub organisation with 398 generated tools, each annotated readOnlyHint, destructiveHint and openWorldHint, and market data tools that need no key",
          "Rate limits published per endpoint and per UID with limit, remaining and reset headers on every response, and a documented 403 ban rule for the IP limit",
          "API keys scoped by product group with a read-only flag, a separate Withdraw permission, IP binding and a 90-day expiry for unbound keys",
          "Demo trading at api-demo.bybit.com with self-served demo funds, plus a testnet with its own keys",
          "VIP 0 fees published without login, 0.1 per cent spot and 0.02 per cent maker and 0.055 per cent taker on contracts"
        ],
        "weaknesses": [
          "No status page, incident history or SLA was found; the terms say the API is not guaranteed to be available",
          "No OpenAPI or llms.txt for the V5 API, and the MCP server exposes all 398 tools with no toolset, module or read-only switch",
          "Not in the official MCP registry; the hosted `bybit` entry there is a third party's server, not Bybit's",
          "The global terms, privacy policy and about pages on bybit.com render by script and were not read; the terms read are the UAE-regulated entity's PDF",
          "Changelog entries change response shapes and remove fields without a notice period, such as the Asset Overview restructure of 18 August 2026"
        ],
        "agentNotes": [
          "Create a key with only the permission groups the task needs, set readOnly for research keys, leave Withdraw off and bind an IP, or the key expires after 90 days",
          "Send a unique orderLinkId on every order and reuse it when amending or cancelling, since create-order is asynchronous and confirmed over WebSocket",
          "Read X-Bapi-Limit-Status before bursts and wait until X-Bapi-Limit-Reset-Timestamp on retCode 10006; on HTTP 403 stop all sessions for at least 10 minutes",
          "Test on api-demo.bybit.com with a demo key from the production account, not on testnet demo mode, which the docs call meaningless",
          "Run the MCP server with BYBIT_TESTNET=true first, and only in a client that shows a per-call approval, because the server has no read-only mode of its own"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.3
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 66,
          "payments": 40,
          "reliability": 45,
          "schema": 73,
          "security": 60,
          "transparency": 27
        },
        "provenanceScore": 75,
        "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 bybit-official-trading-server",
        "http": "curl https://api.bybit.com/v5/market/tickers?category=spot\u0026symbol=BTCUSDT",
        "claudeCode": "claude mcp add bybit -- npx -y bybit-official-trading-server@latest",
        "config": {
          "mcpServers": {
            "bybit": {
              "args": [
                "-y",
                "bybit-official-trading-server@latest"
              ],
              "command": "npx",
              "env": {
                "BYBIT_API_KEY": "YOUR_API_KEY",
                "BYBIT_API_SECRET": "YOUR_API_SECRET",
                "BYBIT_TESTNET": "true"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/bybit"
      },
      "area": "payments",
      "unitPrices": [
        {
          "item": "Spot trade, VIP 0 maker or taker",
          "unit": "pct",
          "usd": 0.1,
          "note": "crypto-crypto pairs"
        },
        {
          "item": "Perpetual or futures trade, VIP 0 taker",
          "unit": "pct",
          "usd": 0.055,
          "note": "maker 0.02 per cent"
        },
        {
          "item": "Options trade, VIP 0 taker",
          "unit": "pct",
          "usd": 0.03,
          "note": "maker 0.02 per cent"
        }
      ],
      "provenance": {
        "legalEntity": "Bybit Virtual Asset Platform Operator L.L.C. S.P.C",
        "domain": "bybit.com",
        "domainRegistered": "1999-08-05",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bybit.com/en/terms-service",
        "privacy": "https://www.bybit.com/en/privacy-policy",
        "statusPage": "",
        "changelog": "https://bybit-exchange.github.io/docs/changelog/v5",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "www.bybit.com answers WebFetch with a timeout; its robots.txt (read with curl) allows the help centre, legal and static paths and disallows query-string URLs and x-api endpoints. The terms and privacy pages render by script, so the terms read are the PDF at /common-static/compliance/legal/BYBIT/b2e1c94c53ee5e12e165919de919337e.pdf (Bybit Virtual Asset Platform Operator L.L.C. S.P.C, last updated 23 January 2026, English and Welsh law, SIAC arbitration). The privacy policy was not read.",
          "RDAP gives bybit.com a registration date of 5 August 1999 (CSC Corporate Domains), earlier than the company, so the domain was bought.",
          "https://www.bybit.com/.well-known/security.txt answers 404. bybit-exchange.github.io has no robots.txt and no security.txt.",
          "No status page found; status.bybit.com does not resolve, the docs link none, and a search found only third-party monitors.",
          "The V5 changelog is dated by day; the MCP server's versions are on npm. The P2P service terms on bybit.com name Bybit Technology Limited as the company."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bybit.json",
      "live": {
        "slug": "bybit",
        "versions": [
          {
            "registry": "github",
            "name": "bybit-exchange/trading-mcp",
            "version": "2.1.26",
            "released": "2026-10-30",
            "seenAt": "2026-11-04T20:04:41.294958912Z"
          },
          {
            "registry": "npm",
            "name": "bybit-official-trading-server",
            "version": "2.1.26",
            "seenAt": "2026-11-04T20:04:40.287082189Z"
          },
          {
            "registry": "pypi",
            "name": "pybit",
            "version": "5.17.0",
            "released": "2026-07-14",
            "seenAt": "2026-11-04T20:04:41.10004853Z"
          }
        ],
        "githubStars": 43,
        "npmWeekly": 1294,
        "pypiWeekly": 97932,
        "securityTxt": {
          "url": "https://bybit.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:01.70982249Z"
        },
        "updatedAt": "2026-11-04T20:04:41.294958912Z"
      }
    },
    "answer": "OKX API scores 64.3 (B) on agent readiness against Bybit's 57.3 (C), and leads in 5 of 7 scored categories. Bybit leads on payments \u0026 pricing.",
    "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": 413,
        "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-04T15:32:13.2375881Z"
        },
        "securityTxt": {
          "url": "https://okx.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:49.77403161Z"
        },
        "updatedAt": "2026-11-04T15:53:49.77403161Z"
      }
    },
    "edges": [
      {
        "by": 20,
        "category": "reliability",
        "leads": "okx",
        "name": "Reliability",
        "reasons": {
          "a": "Graded with the hosted lines on the V5 API at api.bybit.com. No status page found (status.bybit.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per endpoint and per UID with numbers, plus a 600 per 5 second IP limit (15). Every response carries X-Bapi-Limit, X-Bapi-Limit-Status and X-Bapi-Limit-Reset-Timestamp, retCode 10006 and HTTP 403 are documented with a wait rule, and orders take a unique orderLinkId that amend and cancel accept (15). No SLA (0). V5 is the current production API, not a beta (10). 45.",
          "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": 45,
          "b": 65
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "bybit",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol (0). The fee schedule is public without login, with VIP 0 maker and taker rates per product and the tier criteria (20). Reading market data needs no key and the demo environment costs nothing, no card is asked for at sign-up (20). A person must register, pass identity verification and mint the key in a browser (0). 40.",
          "b": "No machine payment protocol (0). The fee table loads by script and the fee FAQ defers to the logged-in view, so no rate was read (0 of 20, unchecked). Public market data and demo trading need no funded account or card (20). A person signs up, verifies and mints a key (0). 0 + 0 + 20 + 0 = 20."
        },
        "scores": {
          "a": 40,
          "b": 20
        }
      },
      {
        "by": 15,
        "category": "maintenance",
        "leads": "okx",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a hosted service with an open-source MCP server. The MCP package shipped 2.1.26 on 30 October 2026 and the V5 changelog's latest entry is 29 October (30). 31 npm versions since 16 April 2026, 11 of them in the last 90 days, and 24 changelog entries in the same window (20). The trading-mcp repository has 4 open issues and 18 forks; whether issues get answers was not checked, and the API has no public forum we could read (10 of 25). Not in the official MCP registry (0). The package has four dependencies, no install scripts, a publish workflow and no test workflow (6 of 10). 66.",
          "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": 66,
          "b": 81
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "okx",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Read for the API with the MCP server beside it. The MCP server has 398 tools in one list with no toolset, module or read-only switch (5 of 25, nothing added back). V5 reads take limit and cursor and category filters (15 of 20). retCode and retMsg on every response with a code list an agent can branch on, though create-order answers before the order is final and the docs say to confirm over WebSocket (14 of 20). orderLinkId makes order retries safe and every MCP tool carries readOnlyHint and destructiveHint (17 of 20). Five required fields on an order, official SDKs in Python, Go, Java and .NET (15). 66.",
          "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": 66,
          "b": 77
        }
      },
      {
        "by": 11,
        "category": "transparency",
        "leads": "okx",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed hosted service. The terms read are the UAE entity's PDF served from bybit.com, clear on API use and availability, but the global terms page renders by script and was not read; the MCP server is MIT (12 of 30). The privacy policy was not read, so data handling is unscored (5 of 30). The changelog dates removals and response changes but gives no notice period or deprecation policy (10 of 20). No subprocessor list or data location statement was read (0 of 20). 27.",
          "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": 51,
          "b": 62
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "okx",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "API keys scoped by product group with a readOnly flag, a separate Withdraw value, IP binding, a 90-day expiry for unbound keys, HMAC or RSA signing, and revocation on the management page; no OAuth (24 of 30). A read-only key and a withdrawal-free key are first-class, but the MCP server has no read-only mode and relies on the client's approval prompt for writes (14 of 20). Tools return the exchange's own data, not third-party text (10). The API key info endpoint shows permissions, IPs and expiry, and an IP change log exists for institutional accounts, but no per-call audit log was found (7 of 15). No security.txt on bybit.com or the docs host, no disclosure policy or bug bounty found on a page we could read, proof-of-reserves articles in the help centre (5 of 20). 60.",
          "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": 60,
          "b": 68
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bybit",
        "b": "OKX",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio",
        "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": "398",
        "b": "170",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-30",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-29",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "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": "43 stars",
        "b": "499 stars, 1.8k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "OKX API scores 64.3 (B) on agent readiness against Bybit's 57.3 (C), and leads in 5 of 7 scored categories. Bybit leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Bybit or OKX API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Bybit and OKX API need an API key?"
      },
      {
        "answer": "Bybit runs on your own machine, with no hosted endpoint listed. OKX API runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Bybit and OKX API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 40 against 20"
        ],
        "also": null,
        "goodFor": "An agent trading spot, perpetuals, futures and options in a person's Bybit account outside the excluded jurisdictions, with a demo environment to rehearse on.",
        "slug": "bybit",
        "watchFor": "No status page, incident history or SLA was found; the terms say the API is not guaranteed to be available"
      },
      {
        "aheadOn": [
          "Reliability, 65 against 45",
          "Agent ergonomics, 77 against 66",
          "Security \u0026 auth, 68 against 60",
          "Maintenance \u0026 community, 81 against 66",
          "Transparency \u0026 trust, 62 against 51"
        ],
        "also": [
          "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-bybit.json",
        "title": "Bitfinex API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-bybit"
      },
      {
        "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-bybit.json",
        "title": "Bitget vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-bybit"
      },
      {
        "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-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-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-bybit.json",
        "title": "Bitstamp API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-bybit"
      },
      {
        "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-coinbase-advanced-trade.json",
        "title": "Bybit vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-coinbase-mcp.json",
        "title": "Bybit vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-crypto-com-exchange.json",
        "title": "Bybit vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-deribit.json",
        "title": "Bybit vs Deribit",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-dydx.json",
        "title": "Bybit vs dYdX",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-dydx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-gate-io.json",
        "title": "Bybit vs Gate",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange.json",
        "title": "Bybit vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange"
      },
      {
        "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-hyperliquid.json",
        "title": "Bybit vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-hyperliquid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-kraken.json",
        "title": "Bybit vs Kraken API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kraken"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-kucoin.json",
        "title": "Bybit vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-mexc.json",
        "title": "Bybit vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-mexc"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-uniswap.json",
        "title": "Bybit vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bybit-vs-upbit.json",
        "title": "Bybit vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bybit-vs-upbit"
      },
      {
        "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-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-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-okx.json",
        "title": "HTX trading API vs OKX API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-okx"
      },
      {
        "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-bybit.json",
        "title": "Binance API vs Bybit",
        "url": "https://www.anchorterminal.com/compare/binance-vs-bybit"
      },
      {
        "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-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-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-okx.json",
        "title": "Deribit vs OKX API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-okx"
      },
      {
        "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": 20,
        "bybit": 45,
        "edge": "okx",
        "key": "reliability",
        "name": "Reliability",
        "okx": 65,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "bybit": 73,
        "edge": "",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "okx": 73,
        "weight": 13
      },
      {
        "by": 11,
        "bybit": 66,
        "edge": "okx",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "okx": 77,
        "weight": 13
      },
      {
        "by": 8,
        "bybit": 60,
        "edge": "okx",
        "key": "security",
        "name": "Security \u0026 auth",
        "okx": 68,
        "weight": 14
      },
      {
        "by": 20,
        "bybit": 40,
        "edge": "bybit",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "okx": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "bybit": 66,
        "edge": "okx",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "okx": 81,
        "weight": 7
      },
      {
        "by": 11,
        "bybit": 51,
        "edge": "okx",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "okx": 62,
        "weight": 7
      }
    ],
    "summary": "OKX API scores 64.3 (B) on agent readiness against Bybit's 57.3 (C), and leads in 5 of 7 scored categories. Bybit leads on payments \u0026 pricing. Both do exchange market data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "bybit": "Bybit publishes per-endpoint rate limits, a demo environment, scoped keys with a read-only flag and IP binding, and an official stdio MCP server whose 398 tools carry read-only and destructive annotations. There is no status page, no OpenAPI file, no SLA, the MCP server has no toolsets, and the global terms and privacy pages are drawn by script.",
      "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/bybit-vs-okx",
    "json": "https://www.anchorterminal.com/compare/bybit-vs-okx.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bybit-vs-okx.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/bybit-vs-okx.min.md"
  },
  "markdown": "OKX API scores 64.3 (B) on agent readiness against Bybit's 57.3 (C), and leads in 5 of 7 scored categories. Bybit leads on payments \u0026 pricing. Both do exchange market data.\n\n- Bybit: grade C, 57.3/100, rank #745 of 1349. Markdown https://www.anchorterminal.com/tools/bybit.md · JSON https://www.anchorterminal.com/api/v1/tools/bybit.json\n- OKX API: grade B, 64.3/100, rank #413 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### Bybit (C)\n\nGood for: An agent trading spot, perpetuals, futures and options in a person's Bybit account outside the excluded jurisdictions, with a demo environment to rehearse on.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 20\n\nWatch for: No status page, incident history or SLA was found; the terms say the API is not guaranteed to be available\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 45\n- Agent ergonomics, 77 against 66\n- Security \u0026 auth, 68 against 60\n- Maintenance \u0026 community, 81 against 66\n- Transparency \u0026 trust, 62 against 51\n\nAlso in its favour:\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### Reliability: OKX API +20\n\n- Bybit (45): Graded with the hosted lines on the V5 API at api.bybit.com. No status page found (status.bybit.com does not resolve, the docs link none), so 0 for the page and 5 for no readable history. Rate limits are published per endpoint and per UID with numbers, plus a 600 per 5 second IP limit (15). Every response carries X-Bapi-Limit, X-Bapi-Limit-Status and X-Bapi-Limit-Reset-Timestamp, retCode 10006 and HTTP 403 are documented with a wait rule, and orders take a unique orderLinkId that amend and cancel accept (15). No SLA (0). V5 is the current production API, not a beta (10). 45.\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### Payments \u0026 pricing: Bybit +20\n\n- Bybit (40): No machine payment protocol (0). The fee schedule is public without login, with VIP 0 maker and taker rates per product and the tier criteria (20). Reading market data needs no key and the demo environment costs nothing, no card is asked for at sign-up (20). A person must register, pass identity verification and mint the key in a browser (0). 40.\n- OKX API (20): No machine payment protocol (0). The fee table loads by script and the fee FAQ defers to the logged-in view, so no rate was read (0 of 20, unchecked). Public market data and demo trading need no funded account or card (20). A person signs up, verifies and mints a key (0). 0 + 0 + 20 + 0 = 20.\n\n### Maintenance \u0026 community: OKX API +15\n\n- Bybit (66): Read as a hosted service with an open-source MCP server. The MCP package shipped 2.1.26 on 30 October 2026 and the V5 changelog's latest entry is 29 October (30). 31 npm versions since 16 April 2026, 11 of them in the last 90 days, and 24 changelog entries in the same window (20). The trading-mcp repository has 4 open issues and 18 forks; whether issues get answers was not checked, and the API has no public forum we could read (10 of 25). Not in the official MCP registry (0). The package has four dependencies, no install scripts, a publish workflow and no test workflow (6 of 10). 66.\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### Agent ergonomics: OKX API +11\n\n- Bybit (66): Read for the API with the MCP server beside it. The MCP server has 398 tools in one list with no toolset, module or read-only switch (5 of 25, nothing added back). V5 reads take limit and cursor and category filters (15 of 20). retCode and retMsg on every response with a code list an agent can branch on, though create-order answers before the order is final and the docs say to confirm over WebSocket (14 of 20). orderLinkId makes order retries safe and every MCP tool carries readOnlyHint and destructiveHint (17 of 20). Five required fields on an order, official SDKs in Python, Go, Java and .NET (15). 66.\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### Transparency \u0026 trust: OKX API +11\n\n- Bybit (51): The editorial half. A closed hosted service. The terms read are the UAE entity's PDF served from bybit.com, clear on API use and availability, but the global terms page renders by script and was not read; the MCP server is MIT (12 of 30). The privacy policy was not read, so data handling is unscored (5 of 30). The changelog dates removals and response changes but gives no notice period or deprecation policy (10 of 20). No subprocessor list or data location statement was read (0 of 20). 27.\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### Security \u0026 auth: OKX API +8\n\n- Bybit (60): API keys scoped by product group with a readOnly flag, a separate Withdraw value, IP binding, a 90-day expiry for unbound keys, HMAC or RSA signing, and revocation on the management page; no OAuth (24 of 30). A read-only key and a withdrawal-free key are first-class, but the MCP server has no read-only mode and relies on the client's approval prompt for writes (14 of 20). Tools return the exchange's own data, not third-party text (10). The API key info endpoint shows permissions, IPs and expiry, and an IP change log exists for institutional accounts, but no per-call audit log was found (7 of 15). No security.txt on bybit.com or the docs host, no disclosure policy or bug bounty found on a page we could read, proof-of-reserves articles in the help centre (5 of 20). 60.\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## Score by category\n\n| Category | Weight | Bybit | OKX API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 65 | OKX API +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 73 | 73 | even |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 77 | OKX API +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 68 | OKX API +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 20 | Bybit +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 66 | 81 | OKX API +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 51 | 62 | OKX API +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.3 · C** | **64.3 · B** | |\n\n## Facts side by side\n\n| Fact | Bybit | OKX API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bybit | OKX |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio | 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 | 398 | 170 |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-30 | 2026-10-28 |\n| Terms last updated | couldn't be read | 2026-10-29 |\n| Privacy policy last updated | couldn't be read | couldn't be read |\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 | 43 stars | 499 stars, 1.8k npm/wk |\n\n## Verdicts\n\n**Bybit.** Bybit publishes per-endpoint rate limits, a demo environment, scoped keys with a read-only flag and IP binding, and an official stdio MCP server whose 398 tools carry read-only and destructive annotations. There is no status page, no OpenAPI file, no SLA, the MCP server has no toolsets, and the global terms and privacy pages are drawn by script.\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### Bybit\n\n1. Create a key with only the permission groups the task needs, set readOnly for research keys, leave Withdraw off and bind an IP, or the key expires after 90 days\n2. Send a unique orderLinkId on every order and reuse it when amending or cancelling, since create-order is asynchronous and confirmed over WebSocket\n3. Read X-Bapi-Limit-Status before bursts and wait until X-Bapi-Limit-Reset-Timestamp on retCode 10006; on HTTP 403 stop all sessions for at least 10 minutes\n4. Test on api-demo.bybit.com with a demo key from the production account, not on testnet demo mode, which the docs call meaningless\n5. Run the MCP server with BYBIT_TESTNET=true first, and only in a client that shows a per-call approval, because the server has no read-only mode of its own\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, Bybit or OKX API?\n\nOKX API scores 64.3 (B) on agent readiness against Bybit's 57.3 (C), and leads in 5 of 7 scored categories. Bybit leads on payments \u0026 pricing.\n\n### Do Bybit and OKX API need an API key?\n\nBoth need an API key.\n\n### Can an agent call Bybit and OKX API without installing anything?\n\nBybit runs on your own machine, with no hosted endpoint listed. 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/bybit-vs-okx.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bybit-vs-okx.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bybit\", \"b\": \"okx\"}`. From a terminal: `anchor compare bybit okx`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bybit.json and https://www.anchorterminal.com/api/v1/tools/okx.json\n\n## Other comparisons with Bybit or OKX API\n\n- [Bitfinex API vs Bybit](https://www.anchorterminal.com/compare/bitfinex-vs-bybit.md)\n- [Bitfinex API vs OKX API](https://www.anchorterminal.com/compare/bitfinex-vs-okx.md)\n- [Bitget vs Bybit](https://www.anchorterminal.com/compare/bitget-vs-bybit.md)\n- [Bitget vs OKX API](https://www.anchorterminal.com/compare/bitget-vs-okx.md)\n- [Bithumb Open API vs Bybit](https://www.anchorterminal.com/compare/bithumb-vs-bybit.md)\n- [Bithumb Open API vs OKX API](https://www.anchorterminal.com/compare/bithumb-vs-okx.md)\n- [Bitstamp API vs Bybit](https://www.anchorterminal.com/compare/bitstamp-vs-bybit.md)\n- [Bitstamp API vs OKX API](https://www.anchorterminal.com/compare/bitstamp-vs-okx.md)\n- [Bybit vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bybit-vs-coinbase-advanced-trade.md)\n- [Bybit vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/bybit-vs-coinbase-mcp.md)\n- [Bybit vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/bybit-vs-crypto-com-exchange.md)\n- [Bybit vs Deribit](https://www.anchorterminal.com/compare/bybit-vs-deribit.md)\n- [Bybit vs dYdX](https://www.anchorterminal.com/compare/bybit-vs-dydx.md)\n- [Bybit vs Gate](https://www.anchorterminal.com/compare/bybit-vs-gate-io.md)\n- [Bybit vs Gemini Exchange API](https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange.md)\n- [Bybit vs HTX trading API](https://www.anchorterminal.com/compare/bybit-vs-htx.md)\n- [Bybit vs Hyperliquid](https://www.anchorterminal.com/compare/bybit-vs-hyperliquid.md)\n- [Bybit vs Kraken API](https://www.anchorterminal.com/compare/bybit-vs-kraken.md)\n- [Bybit vs KuCoin](https://www.anchorterminal.com/compare/bybit-vs-kucoin.md)\n- [Bybit vs MEXC API](https://www.anchorterminal.com/compare/bybit-vs-mexc.md)\n- [Bybit vs Uniswap Trading API](https://www.anchorterminal.com/compare/bybit-vs-uniswap.md)\n- [Bybit vs Upbit Open API](https://www.anchorterminal.com/compare/bybit-vs-upbit.md)\n- [Crypto.com Exchange API vs OKX API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-okx.md)\n- [Gate vs OKX API](https://www.anchorterminal.com/compare/gate-io-vs-okx.md)\n- [Gemini Exchange API vs OKX API](https://www.anchorterminal.com/compare/gemini-exchange-vs-okx.md)\n- [HTX trading API vs OKX API](https://www.anchorterminal.com/compare/htx-vs-okx.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 Bybit](https://www.anchorterminal.com/compare/binance-vs-bybit.md)\n- [Binance API vs OKX API](https://www.anchorterminal.com/compare/binance-vs-okx.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 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 OKX API](https://www.anchorterminal.com/compare/deribit-vs-okx.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": "Bybit vs OKX API",
        "url": ""
      }
    ],
    "description": "OKX scores 64.3 (B) to Bybit's 57.3 (C) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Bybit C 57.3",
      "OKX API B 64.3",
      "scores"
    ],
    "h1": "Bybit vs OKX API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/bybit-vs-okx",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bybit vs OKX for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/bybit-vs-okx"
  },
  "tokens": {
    "markdown": 4650,
    "slim": 2530
  },
  "version": 1
}
