{
  "data": {
    "a": {
      "slug": "coinbase-advanced-trade",
      "name": "Coinbase Advanced Trade API",
      "vendor": "Coinbase, Inc.",
      "vendorUrl": "https://docs.cdp.coinbase.com/advanced-trade/docs/welcome",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Coinbase's Advanced Trade API is the trading API of a Coinbase account, with REST, WebSocket feeds and a static sandbox for spot, US futures and, since October 2026, perpetuals on a Deribit-based gateway, authenticated by CDP API keys.",
      "url": "https://www.anchorterminal.com/tools/coinbase-advanced-trade",
      "markdownUrl": "https://www.anchorterminal.com/tools/coinbase-advanced-trade.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/coinbase-advanced-trade.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/coinbase-advanced-trade.json",
      "dns": "coinbase-advanced-trade.grade.anchorterminal.com",
      "repo": "https://github.com/coinbase/coinbase-advanced-py",
      "license": "Proprietary hosted service under the Coinbase User Agreement, which answered a bot check and wasn't read. The official Python SDK coinbase-advanced-py is on GitHub",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "coinbase-advanced-py"
        }
      ],
      "auth": "mixed",
      "authNotes": "CDP secret API key made in the CDP portal, with view, trade and transfer permissions, a portfolio restriction and an optional IP allowlist. Each request carries a JWT signed with ECDSA (ES256) that expires after 2 minutes, so a new token is minted per call. Ed25519 keys are not accepted by Coinbase App APIs. The OpenAPI spec also lists OAuth2 with wallet:* scopes for acting on other people's accounts. Keys are regenerated or disabled in the portal. Six public market endpoints need no key (https://docs.cdp.coinbase.com/coinbase-app/authentication-authorization/api-key-authentication.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "The API costs nothing to call. Trades carry Advanced Trade maker and taker fees by 30-day volume tier; the fee page at coinbase.com/advanced-fees and help.coinbase.com both answered our reader with 403 on 3 November 2026, so the lowest tier's rates are unread. The sandbox and the public market endpoints need no account.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the Advanced Trade endpoints in the OpenAPI spec or docs (checked 2026-11-03). Coinbase's account MCP server, listed as coinbase-mcp, pays x402 resources as a buyer; that is a separate surface.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.cdp.coinbase.com/advanced-trade/docs/welcome",
      "llmsTxt": "https://docs.cdp.coinbase.com/llms.txt",
      "openapi": "https://docs.cdp.coinbase.com/api-reference/advanced-trade-api/rest-api/advanced-trade-spec.yaml",
      "capabilities": [
        "exchange.spot-trading",
        "exchange.market-data",
        "exchange.derivatives",
        "exchange.balances",
        "exchange.transfers",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "api-key",
        "oauth",
        "openapi",
        "llms-txt",
        "sandbox",
        "status-page",
        "python",
        "usage-priced",
        "no-card",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.7,
        "grade": "C",
        "agentReady": false,
        "rank": 493,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 57,
          "payments": 20,
          "reliability": 58,
          "schema": 80,
          "security": 68,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Advanced Trade has a public OpenAPI spec, keys limited to view, trade or transfer and to one portfolio, and a keyless static sandbox. No REST rate limit is published, the fee schedule, user agreement and country list sit behind a bot check, and an agent that wants an MCP route uses the separate coinbase-mcp listing.",
        "bestFor": "An agent trading a person's or a treasury's Coinbase account with its own key, where the person wants sandbox tests and portfolio scoping.",
        "strengths": [
          "Public OpenAPI 3.1 and AsyncAPI specs with typed enums, plus llms.txt and a Markdown twin of every docs page",
          "CDP keys carry view, trade and transfer permissions, a portfolio restriction and an IP allowlist, and signed JWTs expire after 2 minutes",
          "Keyless sandbox with static responses and header-driven error simulation for accounts and orders",
          "Six public market data endpoints need no key, and most WebSocket channels are open without authentication",
          "Dated retirement of INTX endpoints with a read-only grace period, announced in the docs"
        ],
        "weaknesses": [
          "No REST rate limit numbers found; the old rate-limits page answers 404 and only the WebSocket limit of 8 per second per IP is published",
          "The fee schedule, user agreement, privacy policy and supported-countries pages answered a bot check and were not read",
          "No FIX connectivity is documented for Advanced Trade",
          "The OpenAPI spec documents only a default error response, with no 4xx or 429 shapes",
          "security.txt expired on 1 June 2024 and no status component exists for the Global Derivatives gateway"
        ],
        "agentNotes": [
          "Mint a fresh ES256 JWT for every request; tokens expire after 2 minutes and Ed25519 keys are rejected",
          "Send a unique client_order_id on every order and reuse it on retry so a dropped connection does not place a second order",
          "Develop against api-sandbox.coinbase.com first; its responses are static, so do not read prices or fills from it",
          "Use a key with view only, or trade without transfer, and restrict it to a portfolio funded for the agent",
          "For perpetuals call the Global Derivatives JSON-RPC gateway at drb.coinbase.com; the /intx/* endpoints are retired"
        ],
        "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": 61.7
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 57,
          "payments": 20,
          "reliability": 58,
          "schema": 80,
          "security": 68,
          "transparency": 42
        },
        "provenanceScore": 92,
        "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": "pip install coinbase-advanced-py",
        "http": "curl https://api.coinbase.com/api/v3/brokerage/market/products/BTC-USD/ticker?limit=1"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.spot-trading",
        "tool": "https://letme.dev/coinbase-advanced-trade"
      },
      "sameCompany": [
        "coinbase-mcp"
      ],
      "area": "payments",
      "provenance": {
        "legalEntity": "Coinbase, Inc.",
        "domain": "coinbase.com",
        "domainRegistered": "2011-07-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.coinbase.com/legal/user_agreement",
        "privacy": "https://www.coinbase.com/legal/privacy",
        "statusPage": "https://status.coinbase.com",
        "changelog": "https://docs.cdp.coinbase.com/get-started/changelog",
        "securityTxt": "expired",
        "checked": "2026-11-03",
        "notes": [
          "The user agreement, privacy policy, fee schedule and help centre answered a bot check or 403 on 3 November 2026. The terms and privacy URLs are Coinbase's standard ones; Coinbase, Inc. is the entity named in the coinbase-cdp-agentkit and coinbase-mcp listings.",
          "Domain registration date per the RDAP read of 24 October 2026 for coinbase-mcp, not re-read.",
          "https://www.coinbase.com/.well-known/security.txt points to HackerOne and expired on 1 June 2024, re-read 3 November 2026.",
          "docs.cdp.coinbase.com/robots.txt disallows only /cdn-cgi/ and /_next/. help.coinbase.com answered 403 to robots.txt, so nothing on that host was requested further.",
          "The CDP changelog's newest entry is 23 October 2026; its only trading entries since August concern the agents MCP server (17 and 21 August)."
        ],
        "score": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/coinbase-advanced-trade.json",
      "live": {
        "slug": "coinbase-advanced-trade",
        "vendorStatus": {
          "page": "https://status.coinbase.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-04T20:04:59.232209364Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "coinbase/coinbase-advanced-py",
            "version": "v1.8.4",
            "released": "2026-06-19",
            "seenAt": "2026-11-04T20:07:55.498790392Z"
          },
          {
            "registry": "pypi",
            "name": "coinbase-advanced-py",
            "version": "1.8.4",
            "released": "2026-06-19",
            "seenAt": "2026-11-04T20:07:55.303074368Z"
          }
        ],
        "githubStars": 364,
        "pypiWeekly": 31348,
        "securityTxt": {
          "url": "https://coinbase.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2024-06-01T00:00:00z",
          "checkedAt": "2026-11-04T15:52:53.816413711Z"
        },
        "updatedAt": "2026-11-04T20:07:55.498790392Z"
      }
    },
    "answer": "Coinbase Advanced Trade API scores 61.7 (C) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories. Upbit Open API leads on maintenance \u0026 community.",
    "b": {
      "slug": "upbit",
      "name": "Upbit Open API",
      "vendor": "Dunamu Inc.",
      "vendorUrl": "https://docs.upbit.com",
      "kind": "http-api",
      "category": "crypto-exchanges",
      "summary": "Upbit, the Korean exchange run by Dunamu, has a REST and WebSocket Open API for KRW, BTC and USDT market data, orders, balances, deposits and withdrawals, with official SDKs, a CLI and agent skills but no MCP server.",
      "url": "https://www.anchorterminal.com/tools/upbit",
      "markdownUrl": "https://www.anchorterminal.com/tools/upbit.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/upbit.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/upbit.json",
      "dns": "upbit.grade.anchorterminal.com",
      "repo": "https://github.com/upbit-official",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@upbit-official/upbit-cli"
        },
        {
          "registry": "pypi",
          "name": "upbit-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Access and secret keys issued on the PC web site under My Page \u003e Open API Management after identity verification and two-factor authentication. At issuance the person picks the functions the key may use and must register at least one public IPv4 address, since the allow-list is mandatory. Each request carries a JWT signed with HMAC SHA512 over the access key, a fresh nonce and a SHA512 hash of the query, as a Bearer token. A key with withdrawal permission gets a withdrawal safe-lock by default that is lifted only in the mobile app. Up to 10 keys on the main pocket and 5 per sub-pocket; expired keys answer expired_access_key (https://docs.upbit.com/kr/docs/api-key.md, checked 2026-11-03).",
      "pricing": "usage",
      "pricingNotes": "Trading fees per fill. The fee schedule is on upbit.com, whose robots.txt disallows every path for our crawler, so no rate is recorded. Public quotation endpoints need no key and no account (https://upbit.com/robots.txt, checked 2026-11-03).",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, llms.txt, the SDK licence or the CLI docs (checked 2026-11-03). Fees are taken from each fill.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": 91,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.upbit.com/kr/reference/api-overview",
      "llmsTxt": "https://docs.upbit.com/llms.txt",
      "capabilities": [
        "exchange.market-data",
        "exchange.spot-trading",
        "exchange.balances",
        "exchange.transfers",
        "market.crypto"
      ],
      "tags": [
        "hosted",
        "api-key",
        "closed-source",
        "usage-priced",
        "cli",
        "agent-skills",
        "llms-txt",
        "python",
        "typescript",
        "go",
        "no-status-page"
      ],
      "lastRelease": "2026-10-20",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.7,
        "grade": "C",
        "agentReady": false,
        "rank": 860,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 83,
          "payments": 15,
          "reliability": 42,
          "schema": 66,
          "security": 59,
          "transparency": 54
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Upbit's Open API has a mandatory IP allow-list, scoped keys with a default withdrawal lock, per-group rate limits with 429 and 418 signalling, an order-test endpoint, official SDKs, a CLI and agent skills with a CONFIRM gate. There is no MCP server, sandbox or status page, and the fees and terms sit on a host our crawler may not read.",
        "bestFor": "KRW-market trading for agents acting for a verified Korean account, with first-party SDKs, a CLI and skills but no MCP.",
        "strengths": [
          "Keys need a registered public IP, carry only the chosen functions and get a withdrawal safe-lock by default that only the mobile app lifts",
          "Rate limits published per group with numbers, a Remaining-Req header on every response, 429 then 418 with a stated block length",
          "POST /v1/orders/test checks an order and the pair's state at no cost, and the skills run it before a live order",
          "Official Python, TypeScript and Go SDKs at v1.1.0 (20 October 2026), a CLI with JSON output and agent skills that require a typed CONFIRM before any write",
          "Notices carry effective dates, such as the path-format change of 16 November 2026"
        ],
        "weaknesses": [
          "No MCP server; the agent route is the CLI through skills, which need a terminal",
          "No sandbox or testnet beyond the order-test endpoint, and no status page or SLA",
          "Keys can only be issued on the PC web site after Korean identity verification and 2FA, and the exchange serves the Korean market",
          "The fee schedule, user terms and Open API terms are on upbit.com, which disallows every crawler path, so none is recorded first-hand",
          "The SDK licence page says the SDK material is not open source while the GitHub repositories carry Apache-2.0"
        ],
        "agentNotes": [
          "Ask the person for a key with only the functions the task needs and your server's public IPv4 address registered; a private or unregistered IP is refused",
          "Sign every request with a fresh JWT (HS512, new nonce, SHA512 query hash) and branch on error.name, not error.message",
          "Run POST /v1/orders/test before a live order; it costs nothing and shares the 8-a-second order-test group",
          "Read Remaining-Req and keep orders under 12 a second per pocket; on 429 wait for the next second and on 418 wait out the stated block",
          "Leave the withdrawal safe-lock on unless the person lifts it in the app, and send paths with single slashes and no trailing slash before 16 November 2026"
        ],
        "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": 54.7
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 83,
          "payments": 15,
          "reliability": 42,
          "schema": 66,
          "security": 59,
          "transparency": 42
        },
        "provenanceScore": 66,
        "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 @upbit-official/upbit-cli",
        "http": "curl 'https://api.upbit.com/v1/ticker?markets=KRW-BTC'"
      },
      "letme": {
        "capability": "https://letme.dev/exchange.market-data",
        "tool": "https://letme.dev/upbit"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Dunamu Inc.",
        "domain": "upbit.com",
        "domainRegistered": "2004-01-10",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://docs.upbit.com/kr/page/privacy_policy_v1_5.md",
        "statusPage": "",
        "changelog": "https://docs.upbit.com/kr/changelog",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "Dunamu Inc. is named as the licensor in the Upbit Developer SDK License v1.0 and as the company in the developer centre's privacy policy V1.5 (from 18 May 2026).",
          "upbit.com/robots.txt disallows every path for User-agent * (a second group adds /terms_and_policy and others), allowing only Googlebot, MSNBot, Yeti and Daumoa; sg.upbit.com and www.dunamu.com do the same. The user terms, the Open API terms, the fee schedule and security.txt on those hosts were therefore not fetched; the terms URL is left empty.",
          "docs.upbit.com/robots.txt allows everything but edit, login and api-next paths and points to llms.txt, with Content-Signal ai-train=yes, search=yes, ai-input=yes.",
          "RDAP gives upbit.com a registration date of 10 January 2004.",
          "No status page found; the API has a service-status (wallet status) endpoint and an announcements WebSocket stream."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/upbit.json",
      "live": {
        "slug": "upbit",
        "securityTxt": {
          "url": "https://upbit.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:27.560288922Z"
        },
        "updatedAt": "2026-11-04T15:53:27.560288922Z"
      }
    },
    "edges": [
      {
        "by": 26,
        "category": "maintenance",
        "leads": "upbit",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed hosted service. The last change to the API itself is the Global Derivatives gateway and INTX retirement of 1 October 2026, 33 days before this check; the Python SDK's v2.0.0rc1 is from 30 September (20 of 30). Dated changes in 90 days are the 1 October migration and the agents entries of 17 and 21 August, which run through Advanced Trade (12 of 20). A public changelog and a CDP Discord; SDK issues not read (8 of 15). Official Python SDK current, the rest samples (12 of 15). SDK CI not read (5 of 10). 20 + 12 + 8 + 12 + 5 = 57.",
          "b": "Read as a closed service. SDK v1.1.0 on 20 October 2026 (30). The CLI 1.0.0 on 1 September, the rate-limit update of 7 October, the SDK on 20 October and the path-format notice for 16 November 2026 (20). open-api@upbit.com answers in turn on weekdays per the support notice, notices carry dates, and the six upbit-official repositories show no open issues (12 of 15). Current official SDKs in Python, TypeScript and Go (15). Apache-2.0 repositories pushed in October 2026; CI not checked (6 of 10). 30 + 20 + 12 + 15 + 6 = 83."
        },
        "scores": {
          "a": 57,
          "b": 83
        }
      },
      {
        "by": 16,
        "category": "reliability",
        "leads": "coinbase-advanced-trade",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. status.coinbase.com is a Statuspage site with Coinbase Advanced Trade, API, US Derivatives and International Derivatives components (20). The incidents feed we could read runs from 16 September to 3 November 2026. In it Advanced Trade was degraded for 25 minutes on 21 September, the website had a 3-minute major on 14 October, converts were down 1 hour 4 minutes on 26 October, and no incident named the API; 5 August to 15 September was beyond the feed, so minor only for the seven weeks read (15 of 30). No REST rate limit with numbers was found; the older rate-limits page answers 404 and llms.txt lists none, while the WebSocket page gives 8 connections and 8 unauthenticated messages per second per IP (5 of 15). Orders take a client_order_id, but no 429 or Retry-After guidance was found for Advanced Trade (8 of 15). No SLA (0). REST and WebSocket are generally available; the Global Derivatives gateway is a month old and not marked beta (10). 20 + 15 + 5 + 8 + 0 + 10 = 58.",
          "b": "Read with the hosted lines. No status page found on docs.upbit.com or in llms.txt; a wallet-status endpoint and an announcements stream stand in (0). No readable incident history (5). Rate limits documented with numbers per group, per IP and per pocket, updated 7 October 2026 (15). 429 then 418 with a stated block length and a Remaining-Req header, an order-test endpoint and a self-match-prevention default; an order identifier for safe retries was not checked (12 of 15). No SLA found (0). Generally available (10). 0 + 5 + 15 + 12 + 0 + 10 = 42."
        },
        "scores": {
          "a": 58,
          "b": 42
        }
      },
      {
        "by": 14,
        "category": "schema",
        "leads": "coinbase-advanced-trade",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Public OpenAPI 3.1 spec (45 paths, 51 operations) and an AsyncAPI document (25). llms.txt and a Markdown twin of every docs page (10). Every operation has a summary and description, some one line, several with multi-sentence guidance for equities (14 of 20). Enums on product_type, granularity, order_status, time_in_forces, order_types, order_side and sort_by, with defaults (13 of 15). Examples in the docs and the sandbox's simulated errors, but the spec documents only a default error referencing grpc.gateway.runtime.Error, with no 4xx or 429 shapes (8 of 15). Paths carry /api/v3, the CDP changelog is dated, and the INTX retirement was announced with a date, but the spec's info.version is 0.1 and the October gateway change has no changelog entry (10 of 15). 25 + 10 + 14 + 13 + 8 + 10 = 80.",
          "b": "No OpenAPI found; the reference is a readme.io site with a Markdown twin of every page (5 of 25). llms.txt on docs.upbit.com and a kr/llms.txt index (10). Each reference page states what the endpoint does, its group and its errors, with warnings such as market_offline after maintenance (14 of 20). Typed parameters with enums for order type, side and time in force and required flags (11 of 15). Recipes in Python, Java and Node.js and an error format of error.name and error.message with HTTP statuses (13 of 15). Feature versions in page histories (v1.6.1) and dated notices with effective dates, no single API version (13 of 15). 5 + 10 + 14 + 11 + 13 + 13 = 66."
        },
        "scores": {
          "a": 80,
          "b": 66
        }
      },
      {
        "by": 13,
        "category": "transparency",
        "leads": "coinbase-advanced-trade",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "The editorial half. A closed service whose user agreement answered a bot check; the OpenAPI spec is public and the Python SDK is open on GitHub (12 of 30). Privacy facts per the coinbase-cdp-agentkit check of 1 October 2026 (Coinbase, Inc., processing countries, retention tied to need without numbers), not re-read (10 of 30). INTX endpoints retired on 1 October 2026 with a dated notice and a read-only grace period (12 of 20). Processing countries and provider categories per the same earlier check, no subprocessor list (8 of 20). 12 + 10 + 12 + 8 = 42.",
          "b": "The editorial half. A closed service whose user and Open API terms could not be fetched under upbit.com's robots.txt, and whose SDK licence page calls the SDK material not open source while the repositories carry Apache-2.0 (8 of 30). The developer centre's privacy policy names Dunamu Inc., gives retention periods and names Zendesk in Japan; the main privacy policy was not read (14 of 30). Notices with effective dates, including the path-format change and the deprecated Remaining-Req min field (12 of 20). Zendesk and Google Analytics named with a location for the developer centre only (8 of 20). 8 + 14 + 12 + 8 = 42."
        },
        "scores": {
          "a": 67,
          "b": 54
        }
      },
      {
        "by": 9,
        "category": "security",
        "leads": "coinbase-advanced-trade",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "CDP keys with view, trade and transfer permissions, a portfolio restriction, an optional IP allowlist, revocation in the portal, ES256 JWTs that expire after 2 minutes, and OAuth2 with wallet:* scopes for other people's accounts; no key expiry (28 of 30). View-only keys and portfolio scoping limit an agent, and transfer is a separate permission, but no withdrawal address allow-list for API keys and no confirmation step were found (14 of 20). The API returns no untrusted content (10). key_permissions reports a key's scope and account activity shows in the app, but no per-call log was found (6 of 15). HackerOne bug bounty named in a security.txt that expired on 1 June 2024; certifications unread behind a bot check (10 of 20). 28 + 14 + 10 + 6 + 10 = 68.",
          "b": "Keys limited to chosen functions, a mandatory public IPv4 allow-list, a JWT per request with a fresh nonce, keys listed with expiry through the API, and a withdrawal safe-lock on by default (27 of 30). Read-only keys, the default withdrawal lock lifted only in the app, and skills that require a typed CONFIRM before writes (17 of 20). The API returns exchange data and announcements, no third-party content (10 of 15). An API key list endpoint; no per-call log for the operator (5 of 15). No disclosure policy, bug bounty or certification found; security.txt on upbit.com could not be fetched under its robots.txt (0 of 20). 27 + 17 + 10 + 5 + 0 = 59."
        },
        "scores": {
          "a": 68,
          "b": 59
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "coinbase-advanced-trade",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol on the API (0). The fee schedule answered a bot check on 3 November 2026, so no per-trade price was read, and the docs give none (0 of 20, unchecked). Six public market endpoints and the sandbox need no key or card (20). A person signs up, passes verification and mints a key in the portal (0). 0 + 0 + 20 + 0 = 20.",
          "b": "No machine payment protocol (0). The fee schedule is on upbit.com, which disallows every crawler path, so no price is recorded (0 of 20, unchecked). Public quotation endpoints need no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys on the PC web site (0). 0 + 0 + 15 + 0 = 15."
        },
        "scores": {
          "a": 20,
          "b": 15
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Coinbase, Inc.",
        "b": "Dunamu Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under the Coinbase User Agreement, which answered a bot check and wasn't read. The official Python SDK coinbase-advanced-py is on GitHub",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-10-20",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-27",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "91 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Coinbase Advanced Trade API scores 61.7 (C) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories. Upbit Open API leads on maintenance \u0026 community.",
        "question": "Which is better for AI agents, Coinbase Advanced Trade API or Upbit Open API?"
      },
      {
        "answer": "Coinbase Advanced Trade API takes an API key or an OAuth sign-in. Upbit Open API needs an API key.",
        "question": "Do Coinbase Advanced Trade API and Upbit Open API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Coinbase Advanced Trade API. No hosted endpoint is listed for Upbit Open API.",
        "question": "Can an agent call Coinbase Advanced Trade API and Upbit Open API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 58 against 42",
          "Schema \u0026 documentation, 80 against 66",
          "Security \u0026 auth, 68 against 59",
          "Payments \u0026 pricing, 20 against 15",
          "Transparency \u0026 trust, 67 against 54"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "An agent trading a person's or a treasury's Coinbase account with its own key, where the person wants sandbox tests and portfolio scoping.",
        "slug": "coinbase-advanced-trade",
        "watchFor": "No REST rate limit numbers found; the old rate-limits page answers 404 and only the WebSocket limit of 8 per second per IP is published"
      },
      {
        "aheadOn": [
          "Maintenance \u0026 community, 83 against 57"
        ],
        "also": null,
        "goodFor": "KRW-market trading for agents acting for a verified Korean account, with first-party SDKs, a CLI and skills but no MCP.",
        "slug": "upbit",
        "watchFor": "No MCP server; the agent route is the CLI through skills, which need a terminal"
      }
    ],
    "history": null,
    "job": {
      "capability": "exchange.spot-trading",
      "name": "Exchange spot trading"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade.json",
        "title": "Bitfinex API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitfinex-vs-upbit.json",
        "title": "Bitfinex API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bitfinex-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-coinbase-advanced-trade.json",
        "title": "Bitget vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitget-vs-upbit.json",
        "title": "Bitget vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bitget-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade.json",
        "title": "Bithumb Open API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bithumb-vs-upbit.json",
        "title": "Bithumb Open API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bithumb-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-advanced-trade.json",
        "title": "Bitstamp API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bitstamp-vs-upbit.json",
        "title": "Bitstamp API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/bitstamp-vs-upbit"
      },
      {
        "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-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-upbit.json",
        "title": "Crypto.com Exchange API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/crypto-com-exchange-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deribit-vs-upbit.json",
        "title": "Deribit vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/deribit-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dydx-vs-upbit.json",
        "title": "dYdX vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/dydx-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gate-io-vs-upbit.json",
        "title": "Gate vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/gate-io-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.json",
        "title": "Gemini Exchange API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/htx-vs-upbit.json",
        "title": "HTX trading API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/htx-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.json",
        "title": "Hyperliquid vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/hyperliquid-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kucoin-vs-upbit.json",
        "title": "KuCoin vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/kucoin-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mexc-vs-upbit.json",
        "title": "MEXC API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/mexc-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-coinbase-advanced-trade.json",
        "title": "Binance API vs Coinbase Advanced Trade API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-coinbase-advanced-trade"
      },
      {
        "json": "https://www.anchorterminal.com/compare/binance-vs-upbit.json",
        "title": "Binance API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/binance-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-coinbase-mcp.json",
        "title": "Coinbase Advanced Trade API vs Coinbase MCP server (Coinbase for Agents)",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-coinbase-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-crypto-com-exchange.json",
        "title": "Coinbase Advanced Trade API vs Crypto.com Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-crypto-com-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-deribit.json",
        "title": "Coinbase Advanced Trade API vs Deribit",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-deribit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gate-io.json",
        "title": "Coinbase Advanced Trade API vs Gate",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gate-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.json",
        "title": "Coinbase Advanced Trade API vs Gemini Exchange API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx.json",
        "title": "Coinbase Advanced Trade API vs HTX trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.json",
        "title": "Coinbase Advanced Trade API vs Hyperliquid",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid"
      },
      {
        "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-advanced-trade-vs-kucoin.json",
        "title": "Coinbase Advanced Trade API vs KuCoin",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-mexc.json",
        "title": "Coinbase Advanced Trade API vs MEXC API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-mexc"
      },
      {
        "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-advanced-trade-vs-uniswap.json",
        "title": "Coinbase Advanced Trade API vs Uniswap Trading API",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-upbit.json",
        "title": "Coinbase MCP server (Coinbase for Agents) vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/coinbase-mcp-vs-upbit"
      },
      {
        "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/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/uniswap-vs-upbit.json",
        "title": "Uniswap Trading API vs Upbit Open API",
        "url": "https://www.anchorterminal.com/compare/uniswap-vs-upbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx.json",
        "title": "Coinbase Advanced Trade API vs dYdX",
        "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 16,
        "coinbase-advanced-trade": 58,
        "edge": "coinbase-advanced-trade",
        "key": "reliability",
        "name": "Reliability",
        "upbit": 42,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "coinbase-advanced-trade": 80,
        "edge": "coinbase-advanced-trade",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "upbit": 66,
        "weight": 13
      },
      {
        "by": 3,
        "coinbase-advanced-trade": 73,
        "edge": "coinbase-advanced-trade",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "upbit": 70,
        "weight": 13
      },
      {
        "by": 9,
        "coinbase-advanced-trade": 68,
        "edge": "coinbase-advanced-trade",
        "key": "security",
        "name": "Security \u0026 auth",
        "upbit": 59,
        "weight": 14
      },
      {
        "by": 5,
        "coinbase-advanced-trade": 20,
        "edge": "coinbase-advanced-trade",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "upbit": 15,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "coinbase-advanced-trade": 57,
        "edge": "upbit",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "upbit": 83,
        "weight": 7
      },
      {
        "by": 13,
        "coinbase-advanced-trade": 67,
        "edge": "coinbase-advanced-trade",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "upbit": 54,
        "weight": 7
      }
    ],
    "summary": "Coinbase Advanced Trade API scores 61.7 (C) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories. Upbit Open API leads on maintenance \u0026 community. Both do exchange spot trading.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "coinbase-advanced-trade": "Advanced Trade has a public OpenAPI spec, keys limited to view, trade or transfer and to one portfolio, and a keyless static sandbox. No REST rate limit is published, the fee schedule, user agreement and country list sit behind a bot check, and an agent that wants an MCP route uses the separate coinbase-mcp listing.",
      "upbit": "Upbit's Open API has a mandatory IP allow-list, scoped keys with a default withdrawal lock, per-group rate limits with 429 and 418 signalling, an order-test endpoint, official SDKs, a CLI and agent skills with a CONFIRM gate. There is no MCP server, sandbox or status page, and the fees and terms sit on a host our crawler may not read."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit",
    "json": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.min.md"
  },
  "markdown": "Coinbase Advanced Trade API scores 61.7 (C) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories. Upbit Open API leads on maintenance \u0026 community. Both do exchange spot trading.\n\n- Coinbase Advanced Trade API: grade C, 61.7/100, rank #493 of 1349. Markdown https://www.anchorterminal.com/tools/coinbase-advanced-trade.md · JSON https://www.anchorterminal.com/api/v1/tools/coinbase-advanced-trade.json\n- Upbit Open API: grade C, 54.7/100, rank #860 of 1349. Markdown https://www.anchorterminal.com/tools/upbit.md · JSON https://www.anchorterminal.com/api/v1/tools/upbit.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### Coinbase Advanced Trade API (C)\n\nGood for: An agent trading a person's or a treasury's Coinbase account with its own key, where the person wants sandbox tests and portfolio scoping.\n\nAhead on:\n- Reliability, 58 against 42\n- Schema \u0026 documentation, 80 against 66\n- Security \u0026 auth, 68 against 59\n- Payments \u0026 pricing, 20 against 15\n- Transparency \u0026 trust, 67 against 54\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No REST rate limit numbers found; the old rate-limits page answers 404 and only the WebSocket limit of 8 per second per IP is published\n\n### Upbit Open API (C)\n\nGood for: KRW-market trading for agents acting for a verified Korean account, with first-party SDKs, a CLI and skills but no MCP.\n\nAhead on:\n- Maintenance \u0026 community, 83 against 57\n\nWatch for: No MCP server; the agent route is the CLI through skills, which need a terminal\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Upbit Open API +26\n\n- Coinbase Advanced Trade API (57): Read as a closed hosted service. The last change to the API itself is the Global Derivatives gateway and INTX retirement of 1 October 2026, 33 days before this check; the Python SDK's v2.0.0rc1 is from 30 September (20 of 30). Dated changes in 90 days are the 1 October migration and the agents entries of 17 and 21 August, which run through Advanced Trade (12 of 20). A public changelog and a CDP Discord; SDK issues not read (8 of 15). Official Python SDK current, the rest samples (12 of 15). SDK CI not read (5 of 10). 20 + 12 + 8 + 12 + 5 = 57.\n- Upbit Open API (83): Read as a closed service. SDK v1.1.0 on 20 October 2026 (30). The CLI 1.0.0 on 1 September, the rate-limit update of 7 October, the SDK on 20 October and the path-format notice for 16 November 2026 (20). open-api@upbit.com answers in turn on weekdays per the support notice, notices carry dates, and the six upbit-official repositories show no open issues (12 of 15). Current official SDKs in Python, TypeScript and Go (15). Apache-2.0 repositories pushed in October 2026; CI not checked (6 of 10). 30 + 20 + 12 + 15 + 6 = 83.\n\n### Reliability: Coinbase Advanced Trade API +16\n\n- Coinbase Advanced Trade API (58): Read with the hosted lines. status.coinbase.com is a Statuspage site with Coinbase Advanced Trade, API, US Derivatives and International Derivatives components (20). The incidents feed we could read runs from 16 September to 3 November 2026. In it Advanced Trade was degraded for 25 minutes on 21 September, the website had a 3-minute major on 14 October, converts were down 1 hour 4 minutes on 26 October, and no incident named the API; 5 August to 15 September was beyond the feed, so minor only for the seven weeks read (15 of 30). No REST rate limit with numbers was found; the older rate-limits page answers 404 and llms.txt lists none, while the WebSocket page gives 8 connections and 8 unauthenticated messages per second per IP (5 of 15). Orders take a client_order_id, but no 429 or Retry-After guidance was found for Advanced Trade (8 of 15). No SLA (0). REST and WebSocket are generally available; the Global Derivatives gateway is a month old and not marked beta (10). 20 + 15 + 5 + 8 + 0 + 10 = 58.\n- Upbit Open API (42): Read with the hosted lines. No status page found on docs.upbit.com or in llms.txt; a wallet-status endpoint and an announcements stream stand in (0). No readable incident history (5). Rate limits documented with numbers per group, per IP and per pocket, updated 7 October 2026 (15). 429 then 418 with a stated block length and a Remaining-Req header, an order-test endpoint and a self-match-prevention default; an order identifier for safe retries was not checked (12 of 15). No SLA found (0). Generally available (10). 0 + 5 + 15 + 12 + 0 + 10 = 42.\n\n### Schema \u0026 documentation: Coinbase Advanced Trade API +14\n\n- Coinbase Advanced Trade API (80): Public OpenAPI 3.1 spec (45 paths, 51 operations) and an AsyncAPI document (25). llms.txt and a Markdown twin of every docs page (10). Every operation has a summary and description, some one line, several with multi-sentence guidance for equities (14 of 20). Enums on product_type, granularity, order_status, time_in_forces, order_types, order_side and sort_by, with defaults (13 of 15). Examples in the docs and the sandbox's simulated errors, but the spec documents only a default error referencing grpc.gateway.runtime.Error, with no 4xx or 429 shapes (8 of 15). Paths carry /api/v3, the CDP changelog is dated, and the INTX retirement was announced with a date, but the spec's info.version is 0.1 and the October gateway change has no changelog entry (10 of 15). 25 + 10 + 14 + 13 + 8 + 10 = 80.\n- Upbit Open API (66): No OpenAPI found; the reference is a readme.io site with a Markdown twin of every page (5 of 25). llms.txt on docs.upbit.com and a kr/llms.txt index (10). Each reference page states what the endpoint does, its group and its errors, with warnings such as market_offline after maintenance (14 of 20). Typed parameters with enums for order type, side and time in force and required flags (11 of 15). Recipes in Python, Java and Node.js and an error format of error.name and error.message with HTTP statuses (13 of 15). Feature versions in page histories (v1.6.1) and dated notices with effective dates, no single API version (13 of 15). 5 + 10 + 14 + 11 + 13 + 13 = 66.\n\n### Transparency \u0026 trust: Coinbase Advanced Trade API +13\n\n- Coinbase Advanced Trade API (67): The editorial half. A closed service whose user agreement answered a bot check; the OpenAPI spec is public and the Python SDK is open on GitHub (12 of 30). Privacy facts per the coinbase-cdp-agentkit check of 1 October 2026 (Coinbase, Inc., processing countries, retention tied to need without numbers), not re-read (10 of 30). INTX endpoints retired on 1 October 2026 with a dated notice and a read-only grace period (12 of 20). Processing countries and provider categories per the same earlier check, no subprocessor list (8 of 20). 12 + 10 + 12 + 8 = 42.\n- Upbit Open API (54): The editorial half. A closed service whose user and Open API terms could not be fetched under upbit.com's robots.txt, and whose SDK licence page calls the SDK material not open source while the repositories carry Apache-2.0 (8 of 30). The developer centre's privacy policy names Dunamu Inc., gives retention periods and names Zendesk in Japan; the main privacy policy was not read (14 of 30). Notices with effective dates, including the path-format change and the deprecated Remaining-Req min field (12 of 20). Zendesk and Google Analytics named with a location for the developer centre only (8 of 20). 8 + 14 + 12 + 8 = 42.\n\n### Security \u0026 auth: Coinbase Advanced Trade API +9\n\n- Coinbase Advanced Trade API (68): CDP keys with view, trade and transfer permissions, a portfolio restriction, an optional IP allowlist, revocation in the portal, ES256 JWTs that expire after 2 minutes, and OAuth2 with wallet:* scopes for other people's accounts; no key expiry (28 of 30). View-only keys and portfolio scoping limit an agent, and transfer is a separate permission, but no withdrawal address allow-list for API keys and no confirmation step were found (14 of 20). The API returns no untrusted content (10). key_permissions reports a key's scope and account activity shows in the app, but no per-call log was found (6 of 15). HackerOne bug bounty named in a security.txt that expired on 1 June 2024; certifications unread behind a bot check (10 of 20). 28 + 14 + 10 + 6 + 10 = 68.\n- Upbit Open API (59): Keys limited to chosen functions, a mandatory public IPv4 allow-list, a JWT per request with a fresh nonce, keys listed with expiry through the API, and a withdrawal safe-lock on by default (27 of 30). Read-only keys, the default withdrawal lock lifted only in the app, and skills that require a typed CONFIRM before writes (17 of 20). The API returns exchange data and announcements, no third-party content (10 of 15). An API key list endpoint; no per-call log for the operator (5 of 15). No disclosure policy, bug bounty or certification found; security.txt on upbit.com could not be fetched under its robots.txt (0 of 20). 27 + 17 + 10 + 5 + 0 = 59.\n\n### Payments \u0026 pricing: Coinbase Advanced Trade API +5\n\n- Coinbase Advanced Trade API (20): No machine payment protocol on the API (0). The fee schedule answered a bot check on 3 November 2026, so no per-trade price was read, and the docs give none (0 of 20, unchecked). Six public market endpoints and the sandbox need no key or card (20). A person signs up, passes verification and mints a key in the portal (0). 0 + 0 + 20 + 0 = 20.\n- Upbit Open API (15): No machine payment protocol (0). The fee schedule is on upbit.com, which disallows every crawler path, so no price is recorded (0 of 20, unchecked). Public quotation endpoints need no key, card or account; trading needs a verified Korean account. Judgement call (15 of 20). A person must sign up, pass identity checks and issue keys on the PC web site (0). 0 + 0 + 15 + 0 = 15.\n\n## Score by category\n\n| Category | Weight | Coinbase Advanced Trade API | Upbit Open API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 58 | 42 | Coinbase Advanced Trade API +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 66 | Coinbase Advanced Trade API +14 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 70 | Coinbase Advanced Trade API +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 68 | 59 | Coinbase Advanced Trade API +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 15 | Coinbase Advanced Trade API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 83 | Upbit Open API +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 54 | Coinbase Advanced Trade API +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.7 · C** | **54.7 · C** | |\n\n## Facts side by side\n\n| Fact | Coinbase Advanced Trade API | Upbit Open API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Coinbase, Inc. | Dunamu Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary hosted service under the Coinbase User Agreement, which answered a bot check and wasn't read. The official Python SDK coinbase-advanced-py is on GitHub | none |\n| Tools exposed | none | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-10-20 |\n| Terms last updated | couldn't be read | no document linked |\n| Privacy policy last updated | 2026-05-27 | no date given |\n| Customer content may train models | couldn't be read | not read yet |\n| Terms restrict automated access | couldn't be read | not read yet |\n| Terms restrict benchmarking | couldn't be read | not read yet |\n| Terms or service can change without notice | couldn't be read | not read yet |\n| Arbitration or class-action waiver | couldn't be read | not read yet |\n| Popularity | none | 91 stars |\n\n## Verdicts\n\n**Coinbase Advanced Trade API.** Advanced Trade has a public OpenAPI spec, keys limited to view, trade or transfer and to one portfolio, and a keyless static sandbox. No REST rate limit is published, the fee schedule, user agreement and country list sit behind a bot check, and an agent that wants an MCP route uses the separate coinbase-mcp listing.\n\n**Upbit Open API.** Upbit's Open API has a mandatory IP allow-list, scoped keys with a default withdrawal lock, per-group rate limits with 429 and 418 signalling, an order-test endpoint, official SDKs, a CLI and agent skills with a CONFIRM gate. There is no MCP server, sandbox or status page, and the fees and terms sit on a host our crawler may not read.\n\n## Before you call either\n\n### Coinbase Advanced Trade API\n\n1. Mint a fresh ES256 JWT for every request; tokens expire after 2 minutes and Ed25519 keys are rejected\n2. Send a unique client_order_id on every order and reuse it on retry so a dropped connection does not place a second order\n3. Develop against api-sandbox.coinbase.com first; its responses are static, so do not read prices or fills from it\n4. Use a key with view only, or trade without transfer, and restrict it to a portfolio funded for the agent\n5. For perpetuals call the Global Derivatives JSON-RPC gateway at drb.coinbase.com; the /intx/* endpoints are retired\n\n### Upbit Open API\n\n1. Ask the person for a key with only the functions the task needs and your server's public IPv4 address registered; a private or unregistered IP is refused\n2. Sign every request with a fresh JWT (HS512, new nonce, SHA512 query hash) and branch on error.name, not error.message\n3. Run POST /v1/orders/test before a live order; it costs nothing and shares the 8-a-second order-test group\n4. Read Remaining-Req and keep orders under 12 a second per pocket; on 429 wait for the next second and on 418 wait out the stated block\n5. Leave the withdrawal safe-lock on unless the person lifts it in the app, and send paths with single slashes and no trailing slash before 16 November 2026\n\n## Questions\n\n### Which is better for AI agents, Coinbase Advanced Trade API or Upbit Open API?\n\nCoinbase Advanced Trade API scores 61.7 (C) on agent readiness against Upbit Open API's 54.7 (C), and leads in 6 of 7 scored categories. Upbit Open API leads on maintenance \u0026 community.\n\n### Do Coinbase Advanced Trade API and Upbit Open API need an API key?\n\nCoinbase Advanced Trade API takes an API key or an OAuth sign-in. Upbit Open API needs an API key.\n\n### Can an agent call Coinbase Advanced Trade API and Upbit Open API without installing anything?\n\nNo hosted endpoint is listed for Coinbase Advanced Trade API. No hosted endpoint is listed for Upbit Open API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.json, and with the fewest tokens: https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"coinbase-advanced-trade\", \"b\": \"upbit\"}`. From a terminal: `anchor compare coinbase-advanced-trade upbit`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/coinbase-advanced-trade.json and https://www.anchorterminal.com/api/v1/tools/upbit.json\n\n## Other comparisons with Coinbase Advanced Trade API or Upbit Open API\n\n- [Bitfinex API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitfinex-vs-coinbase-advanced-trade.md)\n- [Bitfinex API vs Upbit Open API](https://www.anchorterminal.com/compare/bitfinex-vs-upbit.md)\n- [Bitget vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitget-vs-coinbase-advanced-trade.md)\n- [Bitget vs Upbit Open API](https://www.anchorterminal.com/compare/bitget-vs-upbit.md)\n- [Bithumb Open API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bithumb-vs-coinbase-advanced-trade.md)\n- [Bithumb Open API vs Upbit Open API](https://www.anchorterminal.com/compare/bithumb-vs-upbit.md)\n- [Bitstamp API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bitstamp-vs-coinbase-advanced-trade.md)\n- [Bitstamp API vs Upbit Open API](https://www.anchorterminal.com/compare/bitstamp-vs-upbit.md)\n- [Bybit vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/bybit-vs-coinbase-advanced-trade.md)\n- [Bybit vs Upbit Open API](https://www.anchorterminal.com/compare/bybit-vs-upbit.md)\n- [Crypto.com Exchange API vs Upbit Open API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-upbit.md)\n- [Deribit vs Upbit Open API](https://www.anchorterminal.com/compare/deribit-vs-upbit.md)\n- [dYdX vs Upbit Open API](https://www.anchorterminal.com/compare/dydx-vs-upbit.md)\n- [Gate vs Upbit Open API](https://www.anchorterminal.com/compare/gate-io-vs-upbit.md)\n- [Gemini Exchange API vs Upbit Open API](https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.md)\n- [HTX trading API vs Upbit Open API](https://www.anchorterminal.com/compare/htx-vs-upbit.md)\n- [Hyperliquid vs Upbit Open API](https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.md)\n- [KuCoin vs Upbit Open API](https://www.anchorterminal.com/compare/kucoin-vs-upbit.md)\n- [MEXC API vs Upbit Open API](https://www.anchorterminal.com/compare/mexc-vs-upbit.md)\n- [Binance API vs Coinbase Advanced Trade API](https://www.anchorterminal.com/compare/binance-vs-coinbase-advanced-trade.md)\n- [Binance API vs Upbit Open API](https://www.anchorterminal.com/compare/binance-vs-upbit.md)\n- [Coinbase Advanced Trade API vs Coinbase MCP server (Coinbase for Agents)](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-coinbase-mcp.md)\n- [Coinbase Advanced Trade API vs Crypto.com Exchange API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-crypto-com-exchange.md)\n- [Coinbase Advanced Trade API vs Deribit](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-deribit.md)\n- [Coinbase Advanced Trade API vs Gate](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gate-io.md)\n- [Coinbase Advanced Trade API vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.md)\n- [Coinbase Advanced Trade API vs HTX trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-htx.md)\n- [Coinbase Advanced Trade API vs Hyperliquid](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-hyperliquid.md)\n- [Coinbase Advanced Trade API vs Kraken API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kraken.md)\n- [Coinbase Advanced Trade API vs KuCoin](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-kucoin.md)\n- [Coinbase Advanced Trade API vs MEXC API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-mexc.md)\n- [Coinbase Advanced Trade API vs OKX API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-okx.md)\n- [Coinbase Advanced Trade API vs Uniswap Trading API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-uniswap.md)\n- [Coinbase MCP server (Coinbase for Agents) vs Upbit Open API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-upbit.md)\n- [Kraken API vs Upbit Open API](https://www.anchorterminal.com/compare/kraken-vs-upbit.md)\n- [OKX API vs Upbit Open API](https://www.anchorterminal.com/compare/okx-vs-upbit.md)\n- [Uniswap Trading API vs Upbit Open API](https://www.anchorterminal.com/compare/uniswap-vs-upbit.md)\n- [Coinbase Advanced Trade API vs dYdX](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-dydx.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Coinbase Advanced Trade API vs Upbit Open API",
        "url": ""
      }
    ],
    "description": "Coinbase Advanced Trade scores 61.7 (C) to Upbit Open's 54.7 (C) for exchange spot trading. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Coinbase Advanced Trade API C 61.7",
      "Upbit Open API C 54.7",
      "scores"
    ],
    "h1": "Coinbase Advanced Trade API vs Upbit Open API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/coinbase-advanced-trade-vs-upbit",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Coinbase Advanced Trade vs Upbit Open for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 2730
  },
  "version": 1
}
