# Bitget vs Uniswap Trading API

> Uniswap Trading scores 63.3 (B) to Bitget's 53.9 (D) for exchange market data. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/bitget-vs-uniswap
- Markdown: https://www.anchorterminal.com/compare/bitget-vs-uniswap.md (~4,400 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

Uniswap Trading API scores 63.3 (B) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories. Bitget leads on agent ergonomics and transparency & trust. Both do exchange market data.

- Bitget: grade D, 53.9/100, rank #890 of 1349. Markdown https://www.anchorterminal.com/tools/bitget.md · JSON https://www.anchorterminal.com/api/v1/tools/bitget.json
- Uniswap Trading API: grade B, 63.3/100, rank #446 of 1349. Markdown https://www.anchorterminal.com/tools/uniswap.md · JSON https://www.anchorterminal.com/api/v1/tools/uniswap.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

### Bitget (D)

Good for: An agent trading spot, futures and earn products in a person's Bitget account outside the prohibited list, with the smallest default MCP surface of the exchanges graded and a paper-trading switch.

Ahead on:
- Agent ergonomics, 83 against 72
- Transparency & trust, 65 against 55

Also in its favour:
- Runs on your own machine

Watch for: Hot and warm wallets lost about 388 million dollars on 24 September 2026 to forged withdrawal commands, and withdrawals were paused until 2 October

### Uniswap Trading API (B)

Good for: An agent swapping or bridging tokens from its own wallet on 21 EVM chains, or managing liquidity positions, with routing done for it.

Ahead on:
- Schema & documentation, 90 against 74
- Maintenance & community, 88 against 78

Also in its favour:
- Free to start without a card
- No incidents deducted, where Bitget loses 8 points for them

Watch for: No official MCP server; the registry's Uniswap entries are third parties


## Why the edge

### Schema & documentation: Uniswap Trading API +16

- Bitget (74): The agent SDK ships openapi.yaml with 109 typed UTA v3 operations from which the tools are generated, a machine-readable contract from the vendor's own organisation though not on the docs site (20 of 25). llms.txt in the SDK and MCP repositories; the docs site has none (6 of 10). Intent tools with a discover tool that explains each verb, action and its risk level, and the server's initialize instructions state surface, modules and read-only posture (15 of 20). Typed inputs with enums and required fields from the OpenAPI source (12 of 15). Examples in the quick start and READMEs, a REST error code page in the legacy docs that we did not read in full (9 of 15). Changelog by day with preview notices and effective dates (12 of 15). 74.
- Uniswap Trading API (90): OpenAPI 3.0 file (Token Trading 1.0.0) for the Trading and LP APIs, about 33 paths with `x-internal` markers on the margin and 4337 operations (25). llms.txt, llms-full.txt and a Markdown twin of every docs page (10). Operation summaries are one line, but the guides say which routing types go to `/swap`, `/order` and `/plan`, when UniswapX quotes are returned and when a 404 means change the request (14 of 20). Enums for routing types, urgency and position statuses, required fields and bounded integers such as `limit` 1 to 20 (12 of 15). Examples on every guide page and error schemas for 400, 401, 404 and 429 with a stable `errorCode` enum and per-code retry advice (14 of 15). A /v1 path, a changelog with posted and effective dates and a 30-day minimum sunset policy (15). Total 90.

### Agent ergonomics: Bitget +11

- Bitget (83): Read for the API with the MCP server as the agent route. 14 compact tools by default, module filters, a full surface on request and progressive discovery (25). Cursor pagination on CFD order history since 15 October 2026 and limit parameters on lists (15 of 20). Uniform ok or error result shape from the SDK with typed error classes and compact JSON in the text channel (13 of 20). clientOid on orders, `dryRun: true` on every write, `confirm: true` gating cancelAll and withdraw, annotations derived from risk level including readOnlyHint, destructiveHint and idempotentHint (18 of 20). Few required fields, official SDKs in five languages plus the TypeScript agent SDK and a CLI (12 of 15). 83.
- Uniswap Trading API (72): An API, read for response sizing. Quotes and calldata are compact and `/tokens` takes a limit; the quote can carry the swap calldata to save a call (20 of 25). `GET /orders` and `GET /swaps` poll status by id, `/swappable_tokens` and `/tokens` filter by chain and sort, with little pagination elsewhere (12 of 20). Stable `errorCode` values with a `detail` string and a `requestId`, and the docs say which codes to retry (18 of 20). No idempotency key; a swap is a signed transaction whose nonce prevents a double spend, and the docs warn about nonce collisions with pending transactions (12 of 20). Few required fields on `/quote`, defaults for slippage and urgency, but no official client library for the API and signing needs ethers.js, viem or web3.js (10 of 15). Total 72.

### Maintenance & community: Uniswap Trading API +10

- Bitget (78): Read as a hosted service with an open-source toolkit. The UTA changelog's latest launched entry is 30 October 2026 and a preview entry 3 November; the MCP package shipped 3.3.1 on 20 September and agent-skill was pushed 30 October (30). 58 dated changelog entries since 5 August 2026 and six MCP versions since June (20). Issue trackers on the Bitget-AI repositories (11 open on agent_hub) and a support centre; replies were not checked (10 of 25). In the official MCP registry under io.github.Bitget-AI, a GitHub namespace, with official SDKs in five languages (10 of 15). CI workflow with coverage, npm provenance attestations, two runtime dependencies, no install scripts (8 of 10). 78.
- Uniswap Trading API (88): Read as a closed hosted service. The newest changelog notice is dated 22 October 2026 (30). Notices of 20 August, 21 September and 22 October 2026, three in 90 days (20). A help form for developer support that says it won't debug integrators' code, and uniswap-ai with 6 open issues and a push on 26 October (14 of 25). Official TypeScript SDKs current (@uniswap/v4-sdk 2.4.4 with provenance) and the uniswap-ai skills, though no client for the API itself; no MCP registry entry (15). Trusted publishing with provenance on npm, CI and lint hooks on uniswap-ai (9 of 10). Total 88.

### Transparency & trust: Bitget +10

- Bitget (65): The editorial half. A closed hosted service with clear terms naming BTG Technology Holdings Limited; the toolkit is MIT (15 of 30). The privacy notice names the controller and EEA representative, gives 7-year and up to 10-year retention for compliance and litigation, and names recipients by category only (18 of 30). Deprecations and parameter changes carry effective dates (delta mode deprecated 27 August, symbol and category required from 30 September, snapshot changes with demo and live dates) but no written policy (15 of 20). Recipients by category, transfers under Seychelles law with no locations or provider names (5 of 20). 53.
- Uniswap Trading API (55): The editorial half. The API is closed under API Terms of Use that answered 403; the SDKs and uniswap-ai are MIT and the protocol contracts are open source (15 of 30). No privacy policy read (app.uniswap.org draws by script) and nothing in the docs on retention of quotes or wallet addresses (0 of 30). A published sunset policy of at least 30 days, ideally 60, with dated notices such as the Universal Router 2.0 and 2.1.1 sunset of 21 October 2026 (20). No subprocessors or data locations (0 of 20). Total 35.

## Score by category

| Category | Weight | Bitget | Uniswap Trading API | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 40 | 42 | Uniswap Trading API +2 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 74 | 90 | Uniswap Trading API +16 |
| Agent ergonomics | 13% (16.2 this run) | 83 | 72 | Bitget +11 |
| Security & auth | 14% (17.5 this run) | 62 | 63 | Uniswap Trading API +1 |
| Payments & pricing | 10% (12.5 this run) | 40 | 40 | even |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 78 | 88 | Uniswap Trading API +10 |
| Transparency & trust | 7% (8.8 this run) | 65 | 55 | Bitget +10 |
| Negative events | ≤15 | -8 | 0 | |
| **Total** | | **53.9 · D** | **63.3 · B** | |

## Facts side by side

| Fact | Bitget | Uniswap Trading API |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | BTG Technology Holdings Limited | Uniswap Labs |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | stdio |  |
| Auth | API key | API key |
| Pricing | Pay per use | Free |
| x402 | no | no |
| Licence | none | The Trading API is a proprietary hosted service under Uniswap Labs' API Terms of Use, which we couldn't read; the SDKs and the uniswap-ai skills are MIT. Swaps execute on the open-source Uniswap protocol contracts on chain |
| Tools exposed | 14 | 0 |
| Read-only variant documented | yes | no |
| llms.txt | no | yes |
| MCP registry | `io.github.Bitget-AI/bitget-agent-mcp` | not listed |
| Last release | 2026-10-30 | 2026-10-22 |
| Terms last updated | 2026-10-20 | couldn't be read |
| Privacy policy last updated | 2025-12-05 | no document linked |
| Customer content may train models | not found in the text | couldn't be read |
| Terms restrict automated access | yes | couldn't be read |
| Terms restrict benchmarking | not found in the text | couldn't be read |
| Terms or service can change without notice | yes | couldn't be read |
| Arbitration or class-action waiver | yes | couldn't be read |
| Popularity | 234 stars | 236 stars, 154k npm/wk |

## Verdicts

**Bitget.** Bitget's official MCP server keeps the default surface to 14 intent tools with discovery, read-only and paper-trading switches, dry runs and a confirmation gate on withdrawals, over an API with demo trading. A 388 million dollar wallet breach in September 2026 paused withdrawals for eight days, and there is no status page, SLA or readable fee table.

**Uniswap Trading API.** The Trading API is free, documented by an OpenAPI file with stable error codes, holds no keys since the caller signs every swap, and posts sunset notices 30 days ahead. There is no official MCP server, status page or sandbox, the key is a plain header secret at 6 requests a second, and the API terms refused our reader.

## Before you call either

### Bitget

1. Run `npx -y @bitget-ai/bitget-agent-mcp --read-only` for research and `--paper-trading` with a demo key before any live order; the two flags cannot be combined
2. Call discover({}) first, then the intent verbs; add `dryRun: true` to any write to preview it, and pass `confirm: true` only after the person has agreed to a withdraw or cancelAll
3. Send a unique clientOid of at most 64 characters on every order and reuse it on retry; orderId wins when both are sent
4. Stay under 10 requests a second per endpoint on a new account and 6,000 a minute per IP; the SDK retries on 429, so do not add a second retry loop
5. Bind the key to an IP and keep write permission off a research key; the docs read show no separate withdrawal scope

### Uniswap Trading API

1. Call `/check_approval` first, then `/quote`; if `permitData` is non-null sign it as EIP-712 and send `signature` and `permitData` together to `/swap` or `/order`, never one without the other
2. Route on the quote's `routing`: `CLASSIC`, `WRAP`, `UNWRAP` and `BRIDGE` go to `/swap`, `DUTCH_V2`, `DUTCH_V3` and `PRIORITY` to `/order`, `CHAINED` to `/plan`
3. Refresh any quote older than 30 seconds before broadcasting, and on 429 pause every request from the key before retrying
4. Retry unchanged only on `UpstreamTimeoutError`; `NoRouteFoundError` and `QuoteAmountTooLowError` need a different amount, token or `protocols` list
5. Send `X-Agent-Info` with `decision_origin: autonomous` and keep `x-api-key` server-side

## Questions

### Which is better for AI agents, Bitget or Uniswap Trading API?

Uniswap Trading API scores 63.3 (B) on agent readiness against Bitget's 53.9 (D), and leads in 4 of 7 scored categories. Bitget leads on agent ergonomics and transparency & trust.

### Do Bitget and Uniswap Trading API need an API key?

Both need an API key.

### Can an agent call Bitget and Uniswap Trading API without installing anything?

Bitget runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Uniswap Trading API.


## For agents

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

## Other comparisons with Bitget or Uniswap Trading API

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

---

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