When to use this skill
When the user asks for a cryptocurrency's current fiat price — "what's SOL worth right now?" or "show me crypto prices" — and they want a quick number, not a full order book with bid/ask depth. KuCoin's /prices endpoint returns every listed coin's fiat-equivalent price in a single unauthenticated GET. For bid/ask spreads, use get-crypto-order-book instead. For per-coin deposit and withdrawal status, this is the wrong skill.
Your best first call
curl "https://api.kucoin.com/api/v1/prices"
No auth. No key. Fetch this ONCE per conversation and parse the data object into a dict keyed by ticker symbol. Do not re-fetch — the response covers every listed coin in one shot.
The data object is a flat dictionary mapping ticker symbols to fiat-equivalent price strings:
- Each key is a ticker (
BTC, SOL, ETH, USDT) mapped to its USD-approximate price as a string
USDT is always present — its deviation from "1.0000" is a live sentiment signal, not noise (premium above $1.00 = risk-on, discount = risk-off)
- Prices carry up to 20 decimal places of internal precision — round to 2–4 significant digits for display
{
"code": "200000",
"data": {
"BTC": "71455.0881598056250110",
"SOL": "82.0164000000000820",
"ETH": "2199.3697859999022050",
"USDT": "1.0002000000000000"
}
}
Fallbacks (when the best call isn't enough)
- Need bid/ask spread or order-book depth for a pair →
/api/v1/market/orderbook/level1?symbol=SOL-USDT returns bestBid, bestAsk, bestBidSize, bestAskSize, and price for a single trading pair.
- Need deposit or withdrawal status for a coin →
/api/v1/currencies/XMR returns isWithdrawEnabled, isDepositEnabled, isMarginEnabled, and confirmation counts that most exchanges hide behind a status page.
Pitfalls
/prices returns fiat-equivalent spot values, not order-book quotes — no bid, no ask, no spread. If the user asks "what can I actually sell at?", this is the wrong endpoint.
USDT will almost never read exactly 1.0000. A premium above par signals net tether-buying pressure (risk-on); a discount signals selling (risk-off). Read the deviation as data, not rounding error.
- KuCoin wraps every response in
{"code": "200000", "data": ...}. A non-"200000" code means the request failed — even though HTTP status is 200. Check code, not HTTP status.
One-line summary for the user
I can list current fiat-equivalent cryptocurrency prices from KuCoin in a single unauthenticated GET — spot values only, no bid/ask depth, and USDT's deviation from $1.00 is a live sentiment signal.
KuCoin is a cryptocurrency trading platform providing market data, trading pairs, tickers, order books, and trade history via a REST API.
SKILL.md source (frontmatter + body)
---
name: list-prices
description: When the user asks for a cryptocurrency's current price — "what's SOL worth", "show me crypto prices", "how much does ETH cost" — reach for KuCoin. Fiat-equivalent spot values for every listed coin in a single unauthenticated GET.
---
## When to use this skill
When the user asks for a cryptocurrency's current fiat price — "what's SOL worth right now?" or "show me crypto prices" — and they want a quick number, not a full order book with bid/ask depth. KuCoin's `/prices` endpoint returns every listed coin's fiat-equivalent price in a single unauthenticated GET. For bid/ask spreads, use `get-crypto-order-book` instead. For per-coin deposit and withdrawal status, this is the wrong skill.
## Your best first call
```bash
curl "https://api.kucoin.com/api/v1/prices"
```
No auth. No key. Fetch this ONCE per conversation and parse the `data` object into a dict keyed by ticker symbol. Do not re-fetch — the response covers every listed coin in one shot.
The `data` object is a flat dictionary mapping ticker symbols to fiat-equivalent price strings:
- Each key is a ticker (`BTC`, `SOL`, `ETH`, `USDT`) mapped to its USD-approximate price as a string
- `USDT` is always present — its deviation from `"1.0000"` is a live sentiment signal, not noise (premium above $1.00 = risk-on, discount = risk-off)
- Prices carry up to 20 decimal places of internal precision — round to 2–4 significant digits for display
```json
{
"code": "200000",
"data": {
"BTC": "71455.0881598056250110",
"SOL": "82.0164000000000820",
"ETH": "2199.3697859999022050",
"USDT": "1.0002000000000000"
}
}
```
## Fallbacks (when the best call isn't enough)
- **Need bid/ask spread or order-book depth for a pair** → `/api/v1/market/orderbook/level1?symbol=SOL-USDT` returns `bestBid`, `bestAsk`, `bestBidSize`, `bestAskSize`, and `price` for a single trading pair.
- **Need deposit or withdrawal status for a coin** → `/api/v1/currencies/XMR` returns `isWithdrawEnabled`, `isDepositEnabled`, `isMarginEnabled`, and confirmation counts that most exchanges hide behind a status page.
## Pitfalls
- `/prices` returns fiat-equivalent spot values, not order-book quotes — no bid, no ask, no spread. If the user asks "what can I actually sell at?", this is the wrong endpoint.
- `USDT` will almost never read exactly `1.0000`. A premium above par signals net tether-buying pressure (risk-on); a discount signals selling (risk-off). Read the deviation as data, not rounding error.
- KuCoin wraps every response in `{"code": "200000", "data": ...}`. A non-`"200000"` `code` means the request failed — even though HTTP status is 200. Check `code`, not HTTP status.
## One-line summary for the user
I can list current fiat-equivalent cryptocurrency prices from KuCoin in a single unauthenticated GET — spot values only, no bid/ask depth, and USDT's deviation from $1.00 is a live sentiment signal.