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