canonical: https://jentic.com/apis/kucoin.com/kucoin

# KuCoin API

KuCoin publishes official OpenAPI specifications for its API in its own Kucoin/kucoin-universal-sdk GitHub repository, split across 23 per-product documents under spec/rest/api with no merged file. This page describes a curated, agent-optimized Jentic specification that covers the spot REST surface as one document: 25 endpoints for server time, symbols and tickers, order books, klines, currencies, account balances, spot order placement and cancellation, stop orders, fills, deposits, withdrawals, and inner-account transfers. Private requests carry the KC-API-KEY, KC-API-SIGN, KC-API-TIMESTAMP, KC-API-PASSPHRASE and KC-API-KEY-VERSION headers; this specification models three of them as separate apiKey schemes. The base path follows /api/v1 and /api/v2 prefixes, with v2 reserved for newer deposit-address and inner-transfer flows.

## For AI agents

Trade spot crypto on KuCoin - read market data, place and cancel orders, manage balances, deposits, withdrawals, and inner transfers - using API key plus HMAC signing and an encrypted passphrase.

## Scope

Does not handle futures derivatives, margin lending, or fiat on-ramps - use for spot crypto market data, trading, and funding only.

## Capabilities

- Place market, limit, and stop spot orders, including bulk submissions, on KuCoin trading pairs
- Cancel a single order by ID and list active stop orders for monitoring
- Fetch tickers, 24-hour stats, level-2 order book snapshots, candle klines, and trade histories
- List accounts, retrieve a single account detail, and inspect available currencies
- Read paginated fills, deposit history, and withdrawal history for reconciliation
- Apply a withdrawal to an external address and move funds via inner account transfers

## Use cases

### Algorithmic spot trading bot

A trading bot subscribes to ticker, klines, and order book endpoints to compute signals, then places and cancels orders via POST /api/v1/orders and DELETE /api/v1/orders/{orderId}. Private calls carry KC-API-KEY, KC-API-SIGN, KC-API-TIMESTAMP, KC-API-PASSPHRASE and KC-API-KEY-VERSION, with the signature recomputed per request over timestamp, method, endpoint and body, so the signing layer is the bulk of the integration work.

Example prompt: Place a limit buy via POST /api/v1/orders with a fresh clientOid, symbol 'BTC-USDT', side 'buy', type 'limit', size '0.01', price '60000' and confirm the orderId in the response.

### Stop-loss and take-profit automation

A risk system places stop orders via POST /api/v1/stop-order to bracket spot positions, then watches GET /api/v1/stop-order to confirm activation status. Stop orders sit alongside live limit orders in the KuCoin engine, which lets the bot off-load conditional execution to the exchange rather than holding logic in the bot.

Example prompt: Place a stop-loss via POST /api/v1/stop-order with a fresh clientOid, symbol 'ETH-USDT', side 'sell', type 'limit', stopPrice '2900' and price '2895'.

### Funding and treasury automation

A treasury workflow uses GET /api/v1/deposits, GET /api/v1/withdrawals, GET /api/v2/deposit-addresses, POST /api/v1/withdrawals, and POST /api/v2/accounts/inner-transfer to move funds in and out of KuCoin and between sub-accounts. Withdrawals need the API key's Transfer permission, which KuCoin only grants with IP restriction enabled, and if you switch on its favourite-address check the destination must already be saved on the account, so the API surface assumes prior wallet setup.

Example prompt: Apply a withdrawal via POST /api/v1/withdrawals with currency 'USDT', address '<saved-address>', amount '500' and chain 'TRC20', then poll GET /api/v1/withdrawals to confirm status.

### Agent-driven trading workflows via Jentic

An agent searches Jentic for 'place a kucoin order' and receives POST /api/v1/orders with its full input schema. Your KuCoin key, secret, and passphrase stay in your own Jentic One instance rather than the agent's environment, so the agent supplies only business inputs - clientOid, symbol, size, side - and receives a structured response.

Example prompt: Place a market buy via POST /api/v1/orders with a fresh clientOid, symbol 'BTC-USDT', side 'buy', type 'market', funds '50' and return the orderId.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /api/v1/market/allTickers | Get all tickers |
| GET | /api/v1/market/candles | Get klines for a symbol |
| GET | /api/v1/accounts | List accounts and balances |
| POST | /api/v1/orders | Place a spot order |
| DELETE | /api/v1/orders/{orderId} | Cancel an order by ID |
| POST | /api/v1/stop-order | Place a stop order |
| POST | /api/v1/withdrawals | Apply a withdrawal |
| POST | /api/v2/accounts/inner-transfer | Inner transfer between accounts |

## Key resources

- **Market data** — Tickers, 24h stats, order books, klines, trade histories, and symbols
- **Currencies** — List currencies and retrieve a single currency's detail
- **Accounts** — List accounts, retrieve a single account, and execute inner transfers
- **Orders** — Place, list, retrieve, and cancel spot and stop orders, including bulk submissions
- **Funding** — Deposit and withdrawal history, deposit addresses, and withdrawal application

## Why Jentic

- **Setup:** Wiring the KuCoin API by hand means holding a key, secret, and passphrase, then recomputing a base64 HMAC-SHA256 signature for KC-API-SIGN per private request to api.kucoin.com and sending it with KC-API-KEY, KC-API-TIMESTAMP, KC-API-PASSPHRASE and KC-API-KEY-VERSION. Through Jentic you install once, import the KuCoin API from the API Directory, store the three secrets once, and your agent calls it.
- **Permission scoping:** KuCoin carries order and transfer targets in the request body, while order lookup and cancellation address an order by path id (/api/v1/orders/{orderId}), so your rules bound which operations your agent may call rather than which symbol or account it may touch. You choose that set, so money-moving operations like POST /api/v1/withdrawals or the inner transfer are not included unless you add them.
- **Credential handling:** Your KuCoin key, secret, and passphrase are stored once, encrypted, by your own Jentic One instance rather than in the agent's environment. None of the three secrets enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'place a KuCoin order' or 'list KuCoin balances', and Jentic returns the matching v1 or v2 operation with its parameter schema, so the agent calls the right endpoint without browsing the reference docs or hand-assembling the signed headers.

## Related APIs

- **Binance** — Higher-volume exchange with deeper liquidity and broader pair coverage
- **Kraken** — US-friendly spot exchange with HMAC-SHA512 signing and similar account endpoints
- **Bybit** — Spot and derivatives exchange with similar API key plus HMAC model
- **CoinGecko** — Cross-exchange market data used to validate KuCoin pricing

## FAQ

### Is there a KuCoin MCP server?

You don't need an MCP server to give your agent the KuCoin API. Jentic connects it directly from the API Directory: import KuCoin, store your key, secret, and passphrase once, and your agent can read markets, place and cancel spot orders, and move funds across the 25 endpoints in this specification, without loading another server's tool definitions into its context.

### What authentication does the KuCoin API use?

KuCoin's own docs state that private REST requests must contain five headers: KC-API-KEY, KC-API-SIGN (the base64-encoded HMAC-SHA256 of timestamp + method + endpoint + body, computed with your API secret), KC-API-TIMESTAMP, KC-API-PASSPHRASE (itself HMAC-SHA256-encrypted with the API secret for v2 keys) and KC-API-KEY-VERSION. This specification models three of the five as apiKey schemes that apply together, and marks them required on 15 of its 25 operations; the remaining 10 market-data operations need no credential. Your key, secret, and passphrase are stored by your own Jentic One instance rather than in the agent's environment.

### Can I place stop-loss orders with the KuCoin API?

Yes. Use POST /api/v1/stop-order with clientOid, symbol, side and stopPrice, adding price for a limit stop, to register a conditional order on the matching engine. Active stops appear in GET /api/v1/stop-order until they are triggered or cancelled.

### What are the rate limits for the KuCoin API?

KuCoin restricts private endpoints per account user ID and per endpoint, and public endpoints per IP, so market data sits on a separate counter from trading. Its docs give a Cloudflare IP ceiling that all endpoints share, currently 500/10s, plus a stated limit on each private endpoint's own page, such as 45 times/3s for POST /api/v1/orders. Check the KuCoin API docs for current figures and design retries with exponential backoff.

### How do I move funds between my KuCoin accounts through Jentic?

Search Jentic for 'kucoin inner transfer', load POST /api/v2/accounts/inner-transfer, and execute it with clientOid, currency, from, to, and amount, all of which the operation marks required. You install Jentic One once from github.com/jentic/jentic-one, and your KuCoin key, secret, and passphrase stay in that instance rather than in the agent's environment.

### Does the KuCoin API support futures and margin trading?

This specification covers the spot REST surface only. KuCoin Futures is served from a separate host, api-futures.kucoin.com, so it is a different API and is not enumerated here. Margin trading is not on a separate host: margin order endpoints such as /api/v1/margin/order are served from the same base as spot, https://api.kucoin.com, but this specification does not include them. KuCoin publishes official OpenAPI documents for both futures and margin at https://github.com/Kucoin/kucoin-universal-sdk/tree/main/spec/rest/api, so bring those in from there when you need them.

### Can I limit what my agent is allowed to do with the KuCoin API?

Yes, on two levels. Because you run Jentic One yourself, you decide exactly which KuCoin operations your agent may call, so you can grant read-only access to market data like GET /api/v1/market/allTickers and GET /api/v1/accounts while withholding everything else. Money-moving operations such as POST /api/v1/withdrawals and POST /api/v2/accounts/inner-transfer are not available to the agent unless you deliberately add them to that set. KuCoin also scopes the credential itself: its API key permissions are General (read-only queries), Spot, Margin, Futures and Transfer, and the Transfer permission that covers withdrawals and deposit addresses requires IP restriction to be enabled. Your key, secret, and passphrase stay inside your instance rather than entering the agent's context.
