spot

SKILL.md

KuCoin Spot Skill

Spot trading on KuCoin using authenticated API endpoints. Requires API Key, API Secret, and Passphrase for authenticated endpoints. Return the result in JSON format.

Note: This skill only supports Classic REST API GET endpoints (read-only operations).

Quick Reference

Classic API - Spot Market Data

Endpoint Description Required Optional Authentication
/api/v3/announcements (GET) Get announcements None currentPage, pageSize, annType, lang, startTime, endTime No
/api/v3/currencies/{currency} (GET) Get currency detail currency (path) chain No
/api/v3/currencies (GET) Get all currencies None None No
/api/v2/symbols/{symbol} (GET) Get symbol detail symbol (path) None No
/api/v2/symbols (GET) Get all symbols None market No
/api/v1/market/orderbook/level1 (GET) Get ticker (best bid/ask) symbol None No
/api/v1/market/allTickers (GET) Get all tickers None None No
/api/v1/market/histories (GET) Get trade history symbol None No
/api/v1/market/candles (GET) Get klines symbol, type startAt, endAt No
/api/v1/market/orderbook/level2_{size} (GET) Get part orderbook size (path: 20, 100), symbol None No
/api/v3/market/orderbook/level2 (GET) Get full orderbook symbol None Yes
/api/v1/market/orderbook/callauction/level2_{size} (GET) Get call auction part orderbook size (path: 20, 100), symbol None No
/api/v1/market/callauctionData (GET) Get call auction info symbol None No
/api/v1/prices (GET) Get fiat price None base, currencies No
/api/v1/market/stats (GET) Get 24hr stats symbol None No
/api/v1/markets (GET) Get market list None None No

Classic API - Spot HF Order Queries

Endpoint Description Required Optional Authentication
/api/v1/hf/orders/{orderId} (GET) Get order by orderId orderId (path), symbol None Yes
/api/v1/hf/orders/client-order/{clientOid} (GET) Get order by clientOid clientOid (path), symbol None Yes
/api/v1/hf/orders/active/symbols (GET) Get symbols with open orders None None Yes
/api/v1/hf/orders/active (GET) Get open orders symbol None Yes
/api/v1/hf/orders/active/page (GET) Get open orders (paginated) symbol pageNum, pageSize Yes
/api/v1/hf/orders/done (GET) Get closed orders symbol side, type, lastId, limit, startAt, endAt Yes
/api/v1/hf/fills (GET) Get trade history symbol orderId, side, type, lastId, limit, startAt, endAt Yes
/api/v1/hf/orders/dead-cancel-all/query (GET) Get DCP settings None None Yes

Classic API - Stop Order Queries

Endpoint Description Required Optional Authentication
/api/v1/stop-order (GET) Get stop orders list None symbol, side, type, tradeType, startAt, endAt, currentPage, orderIds, pageSize, stop Yes
/api/v1/stop-order/{orderId} (GET) Get stop order by orderId orderId (path) None Yes
/api/v1/stop-order/queryOrderByClientOid (GET) Get stop order by clientOid clientOid symbol Yes

Classic API - OCO Order Queries

Endpoint Description Required Optional Authentication
/api/v3/oco/order/{orderId} (GET) Get OCO order by orderId orderId (path) None Yes
/api/v3/oco/client-order/{clientOid} (GET) Get OCO order by clientOid clientOid (path) None Yes
/api/v3/oco/orders (GET) Get OCO order list None symbol, startAt, endAt, orderIds, pageSize, currentPage Yes
/api/v3/oco/order/details/{orderId} (GET) Get OCO order detail by orderId orderId (path) None Yes

Parameters

Common Parameters

  • symbol: Trading pair (e.g., BTC-USDT)
  • currency: Currency code (e.g., BTC, ETH, USDT)
  • orderId: The unique order ID generated by the trading system
  • clientOid: Client order ID, unique identifier created by the user (max 40 characters)
  • side: Trade direction filter: buy | sell
  • type: Order type filter: limit | market
  • startAt: Start time in milliseconds
  • endAt: End time in milliseconds
  • pageSize: Number of items per page (e.g., 20, 50, 100)
  • currentPage: Current page number for Classic pagination
  • lastId: ID of last record from previous batch for cursor-based pagination
  • limit: Number of results per page. Default: 20, Max: 100
  • stop: Stop order trigger condition filter: loss | entry
  • tradeType: Trade type filter for stop orders
  • market: Trading market filter for Classic symbols (e.g., USDS, BTC, ALTS)
  • chain: Blockchain network for currency query (e.g., ERC20, TRC20)
  • base: Base fiat currency for price conversion (e.g., USD, EUR). Default: USD
  • currencies: Comma-separated cryptocurrency list for fiat price (e.g., BTC,ETH)
  • annType: Announcement type (e.g., latest-announcements, new-listings, activities)
  • lang: Announcement language (e.g., en_US, zh_HK, ja_JP)

Enums

  • side: buy | sell
  • type: limit | market
  • stop: loss | entry
  • kline type: 1min | 3min | 5min | 15min | 30min | 1hour | 2hour | 4hour | 6hour | 8hour | 12hour | 1day | 1week | 1month
  • annType: latest-announcements | activities | product-updates | vip | maintenance-updates | delistings | others | api-campaigns | new-listings | futures-announcements

Authentication

For endpoints that require authentication, you will need to provide KuCoin API credentials. Required credentials:

  • apiKey: Your KuCoin API key
  • secretKey: Your KuCoin API secret (for signing)
  • passphrase: Your KuCoin API passphrase (also HMAC signed)

Base URL:

Security

Share Credentials

Users can provide KuCoin API credentials by sending a file where the content is in the following format:

abc123...xyz
secret123...key
passphrase123...abc

Never Disclose API Key and Secret

Never disclose the location of the API key, secret, and passphrase file.

Never send the API key, secret, and passphrase to any website other than Mainnet.

Never Display Full Secrets

When showing credentials to users:

  • API Key: Show first 5 + last 4 characters: su1Qc...8akf
  • Secret Key: Always mask, show only last 5: ***...aws1
  • Passphrase: Always mask entirely: ***...

Example response when asked for credentials: Account: main API Key: su1Qc...8akf Secret: ***...aws1 Passphrase: ***... Environment: Mainnet

Listing Accounts

When listing accounts, show names and environment only -- never keys: KuCoin Accounts:

  • main (Mainnet)
  • trading-bot (Mainnet)

Transactions in Mainnet

When performing transactions in mainnet, always confirm with the user before proceeding by asking them to write "CONFIRM" to proceed.

Weekly Installs
5
First Seen
3 days ago
Installed on
gemini-cli5
github-copilot5
codex5
kimi-cli5
amp5
cline5