# Gemini Exchange API vs Upbit Open API

> Gemini Exchange scores 74.6 (BB) to Upbit Open's 54.7 (C) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit
- Markdown: https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.md (~5,200 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-03

Gemini Exchange API scores 74.6 (BB) on agent readiness against Upbit Open API's 54.7 (C), and leads in every scored category. Both do exchange market data.

- Gemini Exchange API: grade BB, 74.6/100, rank #70 of 1349. Markdown https://www.anchorterminal.com/tools/gemini-exchange.md · JSON https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json
- 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
- Best crypto exchange APIs and MCP servers for AI agents: https://www.anchorterminal.com/best/crypto-exchanges/index.md
- All 210 exchanges comparisons: https://www.anchorterminal.com/compare/crypto-exchanges/index.md

## Which one, for what

### Gemini Exchange API (BB)

Good for: An agent trading spot, perpetuals or prediction markets for a US customer with a role-limited key and a sandbox to rehearse on.

Ahead on:
- Reliability, 73 against 42
- Schema & documentation, 88 against 66
- Agent ergonomics, 79 against 70
- Security & auth, 78 against 59
- Payments & pricing, 40 against 15
- Maintenance & community, 88 against 83
- Transparency & trust, 75 against 54

Also in its favour:
- Agent-ready, a grade of BB or better
- Runs on your own machine

Watch for: Client order ids are only recommended to be unique and no duplicate rejection is documented, so a retried order can execute twice

### Upbit Open API (C)

Good for: KRW-market trading for agents acting for a verified Korean account, with first-party SDKs, a CLI and skills but no MCP.

Watch for: No MCP server; the agent route is the CLI through skills, which need a terminal


## Why the edge

### Reliability: Gemini Exchange API +31

- Gemini Exchange API (73): Read with the hosted lines on the REST API at api.gemini.com. status.gemini.com is a Statuspage site with component history (20). Its Atom feed for 10 September to 3 November 2026 holds 25 entries, mostly scheduled trading and FIX upgrades of 15 to 60 minutes with possible order timeouts, single-network deposit delays, and incorrect perpetual index prices for about 3.5 hours on 15 and 16 October; a 3-hour scheduled eOTC window was planned and outside the core API. Minor only (20). Rate limits with numbers, 120 a minute public and 600 private plus per-endpoint limits (15). 429 is documented but with no Retry-After or backoff guidance, and client order ids are recommended without duplicate rejection, so retries are not safe by contract; the heartbeat cancel is a safety net rather than idempotency (8 of 15). No SLA found (0). Generally available (10). 20 + 20 + 15 + 8 + 0 + 10 = 73.
- 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.

### Payments & pricing: Gemini Exchange API +25

- Gemini Exchange API (40): No machine payment protocol (0). The API fee schedule is public per tier without login, 0.6% maker and 1.2% taker at the base tier (20). The API is free to call, public market data needs no key, and the sandbox credits test funds with no card (20). A person must sign up in a browser with identity checks, mint a key or approve an OAuth grant, and production OAuth apps wait for Gemini's review (0). 0 + 20 + 20 + 0 = 40.
- 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.

### Schema & documentation: Gemini Exchange API +22

- Gemini Exchange API (88): OpenAPI 3 for REST (specs/openapi/rest.yaml), AsyncAPI for WebSocket, a prediction-markets OpenAPI file and a specs/index.json catalogue; the MCP server's tools take zod schemas published as JSON Schema (25). llms.txt, llms-full.txt, agents.md, an agent card and an agent skills index (10). Endpoint pages state purpose, the Build an agent guide says what to establish before acting and when to stop, and MCP tool descriptions tell the model when to confirm; the docs don't say when not to use an endpoint (15 of 20). Typed inputs with enums for order types, options and sessions, required fields marked, decimals as strings since 7 July 2026 (12 of 15). Examples throughout, samples in three languages, and an error-codes page with 53 named reasons and their HTTP statuses (14 of 15). A revision history dated from 2015 to 28 October 2026 and versioned paths (v1, v2), but the upcoming-changes page reads "TBD" (12 of 15). 25 + 10 + 15 + 12 + 14 + 12 = 88.
- 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.

### Transparency & trust: Gemini Exchange API +21

- Gemini Exchange API (75): The editorial half. A closed service under a user agreement that names its entities by state, with the MCP server and SDKs open under Apache-2.0 (18 of 30). The privacy policy of 11 May 2026 names entities and processing countries, ties retention to need without numbers and names provider categories only, with no DPA or subprocessor list found (16 of 30). The revision history records removals and type changes with dates, but the upcoming-changes page is "TBD" and no notice period is stated (8 of 20). Processing countries are named (US, Ireland, UK, Malta, Singapore, Australia) and providers by category, with no named subprocessors (12 of 20). 18 + 16 + 8 + 12 = 54.
- 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.

### Security & auth: Gemini Exchange API +19

- Gemini Exchange API (78): Revocable API keys with one role each (Trader, Fund Manager, Auditor, Administrator), HMAC-SHA384 signing with a nonce, and OAuth 2.0 with scopes, PKCE S256, single-use refresh tokens and RFC 7009 revocation; no IP allow-list documented and no key expiry (28 of 30). Auditor is read-only, a Trader key cannot withdraw, approved withdrawal addresses are a Fund Manager action, and the MCP server refuses funds-moving tools without `confirm: true` (18 of 20). The MCP server wraps every response in untrusted-output markers, strips control and bidi characters and redacts memos, labels and agreement text; the REST docs say nothing on the subject (13 of 15). Order and transfer history are readable, but no per-key audit log or API access log was found (5 of 15). security.txt with a PGP contact and a bug bounty paying $150 to $20,000, scoped to the sandbox hosts; no certification was read and no public advisory process was found (14 of 20). 28 + 18 + 13 + 5 + 14 = 78.
- 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.

### Agent ergonomics: Gemini Exchange API +9

- Gemini Exchange API (79): Graded on the REST API, with the MCP server noted. Order book depth, trade and candle counts can be limited and symbols filtered; the MCP server lists 87 tools with no toolset or read-only subset switch, so a session that loads it pays for all of them (18 of 25). Timestamps, `limit_trades`, `since` and per-symbol filters on history, pagination on prediction-market lists (16 of 20). Errors carry a reason and message an agent can branch on, such as InsufficientFunds, MarketNotOpen and MissingRole, though some messages only say to retry later (16 of 20). client_order_id is echoed back but not checked for duplicates, cancel-all-session-orders and the heartbeat limit damage; the MCP server publishes readOnlyHint and destructiveHint on every tool and gates destructive ones on `confirm: true` (14 of 20). Few required parameters, sensible defaults, and official TypeScript and Go SDKs (15). 18 + 16 + 16 + 14 + 15 = 79.
- Upbit Open API (70): Graded on the REST API with the CLI. Candle counts, list limits and the CLI's --max-items and --transform size responses (16 of 25). Paging and filters on orders and history (15 of 20). error.name codes to branch on, which the November 2026 notice tells clients to use, and 418 with its block length (15 of 20). An order-test endpoint and a CONFIRM gate in the skills; an order identifier for idempotent placement was not checked (11 of 20). Few required parameters, SDKs in three languages and a CLI, but keys need the PC web site and a registered IP (13 of 15). 16 + 15 + 15 + 11 + 13 = 70.

## Score by category

| Category | Weight | Gemini Exchange API | Upbit Open API | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 73 | 42 | Gemini Exchange API +31 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 88 | 66 | Gemini Exchange API +22 |
| Agent ergonomics | 13% (16.2 this run) | 79 | 70 | Gemini Exchange API +9 |
| Security & auth | 14% (17.5 this run) | 78 | 59 | Gemini Exchange API +19 |
| Payments & pricing | 10% (12.5 this run) | 40 | 15 | Gemini Exchange API +25 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 88 | 83 | Gemini Exchange API +5 |
| Transparency & trust | 7% (8.8 this run) | 75 | 54 | Gemini Exchange API +21 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **74.6 · BB** | **54.7 · C** | |

## Facts side by side

| Fact | Gemini Exchange API | Upbit Open API |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Gemini Trust Company, LLC | Dunamu Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio |  |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Pay per use |
| x402 | no | no |
| Licence | Proprietary hosted API under Gemini's user agreement. The developer-platform repository (MCP server, TypeScript and Go SDKs, samples and skills) is Apache-2.0 | none |
| Tools exposed | 87 | 0 |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| Last release | 2026-10-28 | 2026-10-20 |
| Terms last updated | couldn't be read | no document linked |
| Privacy policy last updated | no date given | no date given |
| Customer content may train models | yes | not read yet |
| Terms restrict automated access | couldn't be read | not read yet |
| Terms restrict benchmarking | couldn't be read | not read yet |
| Terms or service can change without notice | couldn't be read | not read yet |
| Arbitration or class-action waiver | couldn't be read | not read yet |
| Popularity | 8 stars, 99 npm/wk | 91 stars |

## Verdicts

**Gemini Exchange API.** Gemini publishes an OpenAPI and AsyncAPI contract, API key roles that keep withdrawals off a trading key, a funded sandbox, and an official MCP server whose tools carry read-only and destructive annotations and a confirm gate. Client order ids are not checked for duplicates, there is no SLA, and UK, EEA and Australian accounts closed in April 2026.

**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.

## Before you call either

### Gemini Exchange API

1. Create a Trader key for order flow and a separate Fund Manager key only if withdrawals are in scope; never combine them, and keep the secret out of prompts and logs
2. Set a `client_order_id` per order and look it up with `get_order_status` before resending after a timeout, because Gemini does not reject duplicates
3. Start on api.sandbox.gemini.com with the same code; sandbox apps register at once, production OAuth apps wait for Gemini's review
4. Stay under 1 public and 5 private requests a second; a 429 keeps answering 429 until the rate falls, with no Retry-After to read
5. Check the person's country against the availability page first; UK, EEA and Australian accounts were closed on 6 April 2026

### Upbit Open API

1. 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
2. Sign every request with a fresh JWT (HS512, new nonce, SHA512 query hash) and branch on error.name, not error.message
3. Run POST /v1/orders/test before a live order; it costs nothing and shares the 8-a-second order-test group
4. 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
5. 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

## Questions

### Which is better for AI agents, Gemini Exchange API or Upbit Open API?

Gemini Exchange API scores 74.6 (BB) on agent readiness against Upbit Open API's 54.7 (C), and leads in every scored category.

### Do Gemini Exchange API and Upbit Open API need an API key?

Gemini Exchange API takes an API key or an OAuth sign-in. Upbit Open API needs an API key.

### Can an agent call Gemini Exchange API and Upbit Open API without installing anything?

Gemini Exchange API runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Upbit Open API.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.json, and with the fewest tokens: https://www.anchorterminal.com/compare/gemini-exchange-vs-upbit.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "gemini-exchange", "b": "upbit"}`. From a terminal: `anchor compare gemini-exchange upbit`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/gemini-exchange.json and https://www.anchorterminal.com/api/v1/tools/upbit.json

## Other comparisons with Gemini Exchange API or Upbit Open API

- [Bitfinex API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitfinex-vs-gemini-exchange.md)
- [Bitfinex API vs Upbit Open API](https://www.anchorterminal.com/compare/bitfinex-vs-upbit.md)
- [Bitget vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitget-vs-gemini-exchange.md)
- [Bitget vs Upbit Open API](https://www.anchorterminal.com/compare/bitget-vs-upbit.md)
- [Bithumb Open API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bithumb-vs-gemini-exchange.md)
- [Bithumb Open API vs Upbit Open API](https://www.anchorterminal.com/compare/bithumb-vs-upbit.md)
- [Bitstamp API vs Gemini Exchange API](https://www.anchorterminal.com/compare/bitstamp-vs-gemini-exchange.md)
- [Bitstamp API vs Upbit Open API](https://www.anchorterminal.com/compare/bitstamp-vs-upbit.md)
- [Bybit vs Gemini Exchange API](https://www.anchorterminal.com/compare/bybit-vs-gemini-exchange.md)
- [Bybit vs Upbit Open API](https://www.anchorterminal.com/compare/bybit-vs-upbit.md)
- [Crypto.com Exchange API vs Gemini Exchange API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-gemini-exchange.md)
- [Crypto.com Exchange API vs Upbit Open API](https://www.anchorterminal.com/compare/crypto-com-exchange-vs-upbit.md)
- [Deribit vs Upbit Open API](https://www.anchorterminal.com/compare/deribit-vs-upbit.md)
- [dYdX vs Upbit Open API](https://www.anchorterminal.com/compare/dydx-vs-upbit.md)
- [Gate vs Gemini Exchange API](https://www.anchorterminal.com/compare/gate-io-vs-gemini-exchange.md)
- [Gate vs Upbit Open API](https://www.anchorterminal.com/compare/gate-io-vs-upbit.md)
- [Gemini Exchange API vs HTX trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-htx.md)
- [Gemini Exchange API vs Hyperliquid](https://www.anchorterminal.com/compare/gemini-exchange-vs-hyperliquid.md)
- [Gemini Exchange API vs Kraken API](https://www.anchorterminal.com/compare/gemini-exchange-vs-kraken.md)
- [Gemini Exchange API vs KuCoin](https://www.anchorterminal.com/compare/gemini-exchange-vs-kucoin.md)
- [Gemini Exchange API vs MEXC API](https://www.anchorterminal.com/compare/gemini-exchange-vs-mexc.md)
- [Gemini Exchange API vs OKX API](https://www.anchorterminal.com/compare/gemini-exchange-vs-okx.md)
- [Gemini Exchange API vs Uniswap Trading API](https://www.anchorterminal.com/compare/gemini-exchange-vs-uniswap.md)
- [HTX trading API vs Upbit Open API](https://www.anchorterminal.com/compare/htx-vs-upbit.md)
- [Hyperliquid vs Upbit Open API](https://www.anchorterminal.com/compare/hyperliquid-vs-upbit.md)
- [KuCoin vs Upbit Open API](https://www.anchorterminal.com/compare/kucoin-vs-upbit.md)
- [MEXC API vs Upbit Open API](https://www.anchorterminal.com/compare/mexc-vs-upbit.md)
- [Binance API vs Gemini Exchange API](https://www.anchorterminal.com/compare/binance-vs-gemini-exchange.md)
- [Binance API vs Upbit Open API](https://www.anchorterminal.com/compare/binance-vs-upbit.md)
- [Coinbase Advanced Trade API vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-gemini-exchange.md)
- [Coinbase Advanced Trade API vs Upbit Open API](https://www.anchorterminal.com/compare/coinbase-advanced-trade-vs-upbit.md)
- [Coinbase MCP server (Coinbase for Agents) vs Gemini Exchange API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-gemini-exchange.md)
- [Coinbase MCP server (Coinbase for Agents) vs Upbit Open API](https://www.anchorterminal.com/compare/coinbase-mcp-vs-upbit.md)
- [Kraken API vs Upbit Open API](https://www.anchorterminal.com/compare/kraken-vs-upbit.md)
- [OKX API vs Upbit Open API](https://www.anchorterminal.com/compare/okx-vs-upbit.md)
- [Uniswap Trading API vs Upbit Open API](https://www.anchorterminal.com/compare/uniswap-vs-upbit.md)
- [Deribit vs Gemini Exchange API](https://www.anchorterminal.com/compare/deribit-vs-gemini-exchange.md)
- [dYdX vs Gemini Exchange API](https://www.anchorterminal.com/compare/dydx-vs-gemini-exchange.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
